Como faço para obter o nome do dia em uma célula no Excel?

33

Com uma data, como faço para obter o dia da semana (por exemplo, "segunda-feira") em uma célula no Excel?

    
por Don Vince 16.09.2009 / 01:04

9 respostas

54

Exemplo simples:

A1 cell: 1/8/2009
Célula B1: = TEXTO (WEEKDAY (A1), "dddd")

Isto irá, para a data indicada, imprimir o dia correspondente.

É isso que você queria?

    
por 16.09.2009 / 01:06
19

A resposta dada acima está funcionando apenas por acaso porque o Excel acha que 1/1/1900 era um domingo * e por padrão o Excel está usando o domingo como primeiro dia da semana para a função Dia da semana.

O que você está realmente calculando nesse método é o dia da semana como um número e, em seguida, formatando-o como um dia com base nesse número interpretado como uma data. Por exemplo, se sua data for 1/2/2003 e você usar a função WEEKDAY, isso resultará em 7 (= sábado). Quando você, em seguida, formatar isso como "dddd" você está realmente recebendo o nome do dia do sétimo dia no Excel desde sua "época", ou seja, 7/1/1900, que passa a ser um sábado *. Essa fórmula será interrompida se alguém a abrir, que tiver a opção selecionada para usar o sistema de datas com base em 1904, pois 1/1/1904 não foi um domingo, mas uma sexta-feira. (sim, eu sei que dificilmente alguém usa isso, mas você não quer construir uma solução que se baseie nisso?)

Você pode tornar a fórmula mais curta, mais rápida e mais robusta simplesmente usando

=TEXT(A1,"dddd")

Você poderia, é claro, apenas formatar as próprias células de datas com um formato personalizado, como já sugerido, dependendo se você realmente precisa disso em uma coluna separada ou não. Eu geralmente uso formatos de data como

ddd dd mmm yyyy

para dar, por exemplo, Sáb 01 Fev 2003 , então a data é explícita, mas também mostra o nome do dia da semana.

Usar uma segunda coluna e uma função TEXTO é essencial se você quiser usar o dia da semana explicitamente em algum lugar em uma mala direta (por exemplo), da mesma forma para coisas como moedas e assim por diante no Excel > A mesclagem do Word transmite o valor armazenado real subjacente em vez da versão formatada na tela, portanto, independentemente do formato de célula, o Word vê algum número horrível. Um campo de texto verdadeiro é passado "como está" e é exibido corretamente no Word.

* na verdade, é uma segunda-feira, mas o Excel foi escrito para coincidir com as datas incorretas no Lotus 1-2-3, que tratou 1900 como um ano bissexto, quando não é.

    
por 02.11.2009 / 11:43
7

Outra possibilidade, dependendo do que você quer fazer com a data depois, é definir o formato da célula como Custom: dddd

    
por 16.09.2009 / 01:16
5

Descobri que aninhar instruções IF pode ser complicado, mas funciona. Se, no entanto, você quiser economizar um pouco de digitação, tente isso:

=CHOOSE(WEEKDAY(A2), "Sun","Mon","Tue","Wed","Thur","Fri","Sat")

Ou, se você precisar de nomes completos:

=CHOOSE(WEEKDAY(A2), "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

Neste exemplo, "A2" pode ser qualquer célula (ou fórmula) que contenha a data em questão. Por exemplo:

=CHOOSE(WEEKDAY(TODAY()), "Sun","Mon","Tue","Wed","Thur","Fri","Sat") 

imprimiria a abreviação de três letras para o que for hoje.

    
por 08.12.2012 / 19:02
1

você também pode localizar a resposta usando [$ nnn] antes do formato (para que o código personalizado seja: [$ nnn] dddd; @). altere nnn com o código de idioma apropriado. Eu não tenho a lista, mas de alguma forma, o código Inglês é -409 (e meu local é -421).

Eu acho que você pode experimentar com o formato de número, alterar o campo de idioma e, em seguida, alterá-lo de volta para o formato personalizado.

    
por 10.10.2013 / 17:52
1

Célula A1: 1/8/2009 Célula B1: = A1, em seguida, pressione ctrl + 1 (célula de formato) selecione a aba número, clique em personalizado e digite "DDDD" no tipo txtbox

    
por 18.06.2014 / 07:49
0

Exibe a data atual

=TEXT(WEEKDAY(MONTH(TODAY())),"dddd")  

Exibe a data atual com o texto obrigatório necessário.

=CHOOSE(WEEKDAY(MONTH(TODAY())), "S-U-N-D-A-Y","M-O-N-D-A-Y","T-U-E-S-D-A-Y","W-E-D-N-E-S-D-A-Y","T-H-R-S-D-A-Y","F-R-I-D-A-Y","S-A-T-U-R-D-A-Y")
    
por 03.04.2013 / 15:45
0

Formatar células - Data - Tipo de calendário (selecione inglês gregoriano) - Tipo (a seção tem o formato requerido na quarta-feira, 14 de março de 2001)

    
por 29.06.2016 / 06:04
0

A função WEEKDAY pode ser usada em códigos VBA. Por exemplo:

Label1.Caption = WeekdayName(Weekday(TextBox1, 0), False, 0)

O nome do dia é obtido de TextBox1 no exemplo acima. O resultado é "segunda-feira" .

Eu usei essa função quando eu criei userform sobre entrada de data para célula ativa com o menu do botão direito do mouse.

O modelo pode ser revisado aqui

    
por 29.11.2016 / 18:45