Como obtenho 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?

Don Vince
fonte
4
Bem, você pode digitar SEGUNDA-FEIRA na célula com o teclado ... mas de alguma forma acho que você quer dizer algo diferente.
25269 Mike Cooper
Ah sim: o) Eu realmente poderia digitar. Atualizarei a pergunta para torná-la mais específica
Don Vince

Respostas:

54

Exemplo simples:

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

Isso, na data especificada, imprimirá o dia correspondente.

Foi isso que você desejou?

Torre
fonte
Muito Obrigado! Erro de digitação pequeno: existe um ponto e vírgula no meio que deve ser uma vírgula.
22413 Don Vince
@ Don Vince - Ups, desculpe por isso.
Rook
2
O ponto e vírgula é necessário em localizações (Configurações Regionais no Windows) que usam vírgula para o separador decimal. Como nos idiomas em que o inglês 1.000,00 (mil) seria escrito como 1.000,00 e, portanto, seria inserido como 1.000,00 no Excel. Na verdade, eu pensei que um ponto e vírgula era sempre aceito, mas posso estar errado sobre isso.
Arjan
Você é bem vindo :) ea resposta correta merece um upvote +1
4
Isso está funcionando apenas por causa de uma estranheza de 1/1/1900 ser um domingo. Perder a função de semana completamente, use apenas = TEXT (A1, "dddd") (ver a minha resposta mais completa abaixo)
AdamV
19

A resposta dada acima está funcionando apenas pela fluke porque o Excel considera 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.

Na verdade, o que você está calculando nesse método é o dia da semana como um número e, em seguida, formata-o como um dia com base nesse número interpretado como uma data. Por exemplo, se a sua data for 1/2/2003 e você usar a função WEEKDAY, isso resultará em 7 (= sábado). Quando você formata isso como "dddd", está realmente recebendo o nome do dia 7 no Excel desde sua "época", ou seja, 1/7/1900, que é um sábado *. Essa fórmula será quebrada se alguém abrir a opção selecionada para usar o sistema de datas com base em 1904, pois 1/1/1904 não era um domingo, mas uma sexta-feira. (sim, eu sei que quase ninguém usa isso, mas você não deseja criar uma solução que dependa disso, não é?)

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

=TEXT(A1,"dddd")

Obviamente, você pode apenas formatar as células de data com um formato personalizado, como já sugerido, dependendo se você realmente precisa disso em uma coluna separada ou não. Costumo usar formatos de data como

ddd dd mmm yyyy

por exemplo, sáb 01 fev 2003, para que a data seja explícita, mas também mostre o nome do dia da semana.

O uso de uma segunda coluna e uma função TEXT é essencial se você desejar usar o dia da semana explicitamente em algum lugar da mala direta (por exemplo), da mesma forma para itens como moedas e assim por diante. versão formatada em tela, portanto, independentemente do formato da célula, o Word vê um 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 corresponder às datas incorretas no Lotus 1-2-3, que tratavam 1900 como um ano bissexto quando não é.

AdamV
fonte
Eu já o votei antes da sua edição. Agora está ainda melhor.
Jeroen Wiert Pluimers
7

Outra possibilidade, dependendo do que você deseja fazer com a data posterior, é definir o formato da célula como Personalizado: dddd

Margaret
fonte
Soberbo! Isso funciona e é ótimo para a situação em que você não deseja usar outra coluna. Obrigado
Don Vince
Mesmo se você quiser usar outra coluna, você pode fazer isso e simplesmente inserir uma fórmula como =A1no exemplo da primeira resposta.
Arjan
5

Eu descobri que as IFdeclarações de aninhamento podem ser complicadas, mas funcionam. Se, no entanto, você quiser economizar um pouco de digitação, tente o seguinte:

=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 quer que seja hoje.

Brad
fonte
1

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

Eu acho que você pode experimentar com o formato Number, alterar o campo de idioma e alterá-lo novamente para o formato personalizado.

user261479
fonte
1
Bem-vindo ao SuperUser. As respostas devem sempre ser independentes, portanto, expanda sua resposta em um exemplo de trabalho. Também não sabemos de onde você é, então meu local é um pouco inespecífico.
Tim
1

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

user334332
fonte
0

Exibe a data atual

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

Exibe a data atual com o texto 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")
Glen Lloyd
fonte
Esta é apenas a duplicação de várias respostas anteriores.
fixer1234
0

Formatar células - Data - Tipo de calendário (selecione Inglês Gregoriano) - Tipo (a seção possui o formato necessário quarta-feira, 14 de março de 2001)

Raj
fonte
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 do TextBox1 no exemplo acima. O resultado é "segunda-feira" .

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

O modelo pode ser revisado aqui

kadrleyn
fonte
Sugestão: o que é único na sua resposta, a parte que responde diretamente à pergunta é o nome do dia da semana, não o dia da semana. Esse é o termo para focar na primeira frase.
fixer1234