Função DIA.DA.SEMANA no Excel: o que é, como funciona e por que você vai usar todo dia

Trabalhar com datas no Excel vai muito além de calcular diferenças entre dias ou formatar como DD/MM/AAAA. Uma das análises mais úteis no dia a dia profissional é saber exatamente em qual dia da semana uma data cai — e fazer isso automaticamente para centenas ou milhares de registros de uma vez. A função DIA.DA.SEMANA no Excel foi criada exatamente para isso: ela recebe uma data e retorna um número que representa o dia da semana correspondente. Simples assim, mas com implicações poderosas para análises, relatórios e automações de planilha. Neste artigo iremos mostrar como a função DIA.DA.SEMANA funciona, quais são seus tipos de retorno e os exemplos práticos mais comuns no uso diário.

A sintaxe da função DIA.DA.SEMANA e os tipos de retorno

A função DIA.DA.SEMANA tem uma sintaxe simples: =DIA.DA.SEMANA(núm_série; [tipo_de_retorno]). O primeiro argumento, núm_série, é a data que você quer avaliar — pode ser uma referência a uma célula com data, uma data digitada diretamente entre aspas como “15/03/2025”, ou o resultado de outra fórmula que retorna uma data, como HOJE() ou DATAM(). O segundo argumento, tipo_de_retorno, é opcional e define qual esquema de numeração será usado para os dias da semana.

O tipo de retorno é o detalhe mais importante da função e o que mais confunde quem está aprendendo. Existem vários tipos possíveis, cada um com uma convenção diferente de qual dia corresponde a qual número. O tipo 1 (padrão quando o argumento é omitido) considera domingo como 1 e sábado como 7. O tipo 2 considera segunda-feira como 1 e domingo como 7 — essa é a convenção europeia mais intuitiva para quem trabalha com semanas comerciais. O tipo 3 considera segunda-feira como 0 e domingo como 6. Existem ainda os tipos 11 a 17, adicionados em versões mais recentes do Excel, que permitem outras configurações de início de semana.

Para a maioria dos contextos brasileiros e europeus, o tipo 2 é o mais útil: segunda-feira=1, terça-feira=2, quarta-feira=3, quinta-feira=4, sexta-feira=5, sábado=6, domingo=7. Com esse tipo, verificar se uma data é fim de semana é simplesmente verificar se o resultado é maior que 5 — sábado (6) e domingo (7) são sempre maiores que 5. A fórmula =DIA.DA.SEMANA(A1;2)>5 retorna VERDADEIRO para fins de semana e FALSO para dias úteis, o que é uma condição muito fácil de usar em outras fórmulas e em formatação condicional.

DOMINE EXCEL COMIGO

QUERO APRENDER EXCEL

Convertendo o número em nome do dia da semana

A função DIA.DA.SEMANA retorna um número, não o nome do dia. Para exibir “segunda-feira”, “terça-feira” e assim por diante, você tem duas opções principais. A primeira é combinar DIA.DA.SEMANA com a função ESCOLHER: =ESCOLHER(DIA.DA.SEMANA(A1;2);”Segunda”;”Terça”;”Quarta”;”Quinta”;”Sexta”;”Sábado”;”Domingo”). O DIA.DA.SEMANA retorna um número de 1 a 7, e o ESCOLHER usa esse número como índice para selecionar o texto correspondente na lista. Com o tipo 2 (segunda=1), o ESCOLHER retorna “Segunda” quando o resultado é 1, “Terça” quando é 2, e assim por diante.

A segunda opção é usar a função TEXTO para formatar a data diretamente com o nome do dia: =TEXTO(A1;”dddd”) retorna o nome completo do dia da semana em português (segunda-feira, terça-feira etc.) e =TEXTO(A1;”ddd”) retorna a abreviação (seg, ter, qua etc.). Essa abordagem é mais simples do que combinar DIA.DA.SEMANA com ESCOLHER e funciona diretamente com a data sem precisar de conversão intermediária. A desvantagem é que o TEXTO retorna uma string de texto que não pode ser usada diretamente em cálculos condicionais, enquanto o número retornado pelo DIA.DA.SEMANA pode ser comparado diretamente em fórmulas matemáticas.

Para quem precisa tanto do nome para exibição quanto do número para cálculo, a solução é ter duas colunas: uma com =TEXTO(A1;”dddd”) para exibir o nome do dia e outra com =DIA.DA.SEMANA(A1;2) para os cálculos. Ou então usar o DIA.DA.SEMANA na fórmula interna e o TEXTO na célula de resultado, dependendo do que está sendo construído. Na maioria dos casos práticos, o número do DIA.DA.SEMANA é o que importa para a lógica da fórmula, e o TEXTO é usado apenas quando o nome precisa aparecer na interface da planilha para o usuário.

Verificando fins de semana e dias úteis com DIA.DA.SEMANA

A verificação de fim de semana é provavelmente o uso mais frequente da função DIA.DA.SEMANA. Com o tipo 2, a condição é simples e direta: =DIA.DA.SEMANA(A1;2)>=6 retorna VERDADEIRO para sábado (6) e domingo (7) e FALSO para todos os dias úteis (segunda a sexta, valores 1 a 5). Essa condição binária clara é o que torna o DIA.DA.SEMANA tão útil em combinação com outras funções — você pode usá-la como critério em SE, em CONT.SE indiretamente via SOMARPRODUTO, em formatação condicional e em validação de dados.

Para verificar se uma data específica é dia útil: =DIA.DA.SEMANA(A1;2)<6 retorna VERDADEIRO para segunda a sexta. Para verificar se é especificamente segunda-feira: =DIA.DA.SEMANA(A1;2)=1. Para verificar se é dia da semana ímpar (segunda, quarta ou sexta): =MOD(DIA.DA.SEMANA(A1;2);2)=1. Para verificar se é quarta ou quinta-feira (meio da semana): =E(DIA.DA.SEMANA(A1;2)>=3;DIA.DA.SEMANA(A1;2)<=4). Cada uma dessas condições pode ser usada diretamente como critério em qualquer fórmula condicional do Excel, tornando DIA.DA.SEMANA uma ferramenta extremamente versátil para qualquer análise que dependa da posição da data na semana.

Uma aplicação muito útil é criar uma coluna de tipo de dia que rotula automaticamente cada data como “Dia útil” ou “Fim de semana”: =SE(DIA.DA.SEMANA(A1;2)>=6;”Fim de semana”;”Dia útil”). Para categorias mais detalhadas: =ESCOLHER(DIA.DA.SEMANA(A1;2);”Segunda”;”Terça”;”Quarta”;”Quinta”;”Sexta”;”Sábado”;”Domingo”). Essa coluna de tipo de dia pode então ser usada em tabelas dinâmicas para agrupar e comparar o desempenho por tipo de dia, análises que antes exigiam configuração manual de grupos e agora ficam completamente automáticas com a função DIA.DA.SEMANA.

Combinando DIA.DA.SEMANA com HOJE() para alertas dinâmicos

Quando você combina DIA.DA.SEMANA com a função HOJE(), cria alertas e análises que se atualizam automaticamente conforme o tempo passa. Para verificar se hoje é segunda-feira: =DIA.DA.SEMANA(HOJE();2)=1. Para exibir uma mensagem personalizada dependendo do dia atual: =ESCOLHER(DIA.DA.SEMANA(HOJE();2);”Início de semana!”; “Terça”;”Quarta”;”Quase lá”;”Sexta!”;”Fim de semana”;”Domingo”). A fórmula exibe uma mensagem diferente conforme o dia da semana em que o arquivo é aberto.

Uma aplicação muito prática é criar uma célula de alerta para reuniões semanais: =SE(DIA.DA.SEMANA(HOJE();2)=1;”⚠ Hoje é segunda: preparar relatório semanal”;””). Essa fórmula exibe a mensagem apenas às segundas-feiras e fica em branco nos outros dias. Para um alerta de fim de semana próximo: =SE(DIA.DA.SEMANA(HOJE();2)=5;”Hoje é sexta: fechar as pendências da semana!”;””). Esses alertas automáticos baseados no dia da semana são uma forma simples e eficiente de transformar uma planilha estática em uma ferramenta de gestão que se adapta ao calendário.

Para calcular quantos dias faltam para a próxima segunda-feira a partir de hoje: =7-DIA.DA.SEMANA(HOJE();2)+1 se hoje não é segunda, ou =SE(DIA.DA.SEMANA(HOJE();2)=1;0;8-DIA.DA.SEMANA(HOJE();2)) para o caso geral. Essa fórmula calcula sempre o número correto de dias independentemente de qual seja o dia atual, porque usa o tipo 2 do DIA.DA.SEMANA onde segunda=1 e domingo=7. Combinadas com HOJE(), fórmulas de DIA.DA.SEMANA criam toda uma camada de inteligência dinâmica nas planilhas que as tornam vivas e responsivas ao calendário em vez de estáticas e dependentes de atualização manual.

Se você curtiu esse artigo onde mostramos como funciona a função DIA.DA.SEMANA no Excel, compartilhe com as suas redes sociais e não se esqueça de deixar um comentário aqui embaixo caso você tenha ficado com alguma dúvida.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *