Excel: YEAR/ANO retorna 1905? Corrija o erro de formatação ao extrair o ano do MAXIFS

Ao extrair o ano de Project End Date com YEAR/ANO, alguns veem “1905” em vez de “2024/2025”. O problema não é a fórmula, e sim a formatação da coluna. Veja por que isso acontece e como corrigir de forma definitiva.

Índice

O problema, em uma frase

Você calcula a data de término do projeto com MAXIFS e, em outra coluna, usa YEAR([@[Project End Date]]) para mostrar apenas o ano. Em vez de 2024, 2025 etc., o Excel exibe 1905.

Por que aparece 1905 (e não 2024, 2025…)

O Excel armazena datas como números de série. No “sistema 1900”, o dia 1 corresponde a 01/01/1900. Assim, 2024 (um número inteiro), quando formatado como Data, vira o “dia 2024” desde 01/01/1900 — que é 16/07/1905. Se essa célula estiver com formato yyyy, o que você verá é 1905.

Em outras palavras: YEAR() devolve um número inteiro (ex.: 2024), mas a coluna na Tabela estava “presa” ao formato de Data (ou com um formato personalizado como yyyy). A formatação de Data faz o Excel reinterpretar o 2024 como um serial de data, gerando 16/07/1905.

Observação sobre o “sistema 1904” (comum em planilhas antigas do Mac): se a pasta de trabalho estiver configurada para esse sistema de datas, o dia 0 é 01/01/1904. Assim, o serial 2024 vira 17/07/1909. O sintoma é o mesmo: em vez de “2024”, você verá “1909” com o formato yyyy.

Exemplo numérico resumido

Valor na célulaFormato aplicadoO que o Excel exibeComentário
2024Geral/Número2024Inteiro (correto para “Ano”)
2024Data (ou yyyy) — sistema 190019052024 → 16/07/1905; yyyy exibe 1905
2024Data (ou yyyy) — sistema 190419092024 → 17/07/1909; yyyy exibe 1909

Como corrigir (passo a passo rápido)

  1. Selecione a coluna PLANNED PROJECT GO LIVE YEAR (onde você quer ver “2024”, “2025”…).
  2. Na área de Número / Formatação, mude para Geral ou Número (0 casas decimais).
  3. Use normalmente a fórmula: =YEAR([@[Project End Date]]) // Excel em inglês =ANO([@[Project End Date]]) // Excel em português

Observação: mantenha MAXIFS como está na coluna de término do projeto:

=MAXIFS(J$2:J$46, C$2:C$46, C2)          // inglês (separador vírgula)
=MAXIFS(J$2:J$46; C$2:C$46; C2)         // português (separador ponto e vírgula)

Entendendo a causa raiz

  • YEAR/ANO devolve um número inteiro (2024, 2025, 2026…).
  • Colunas de Tabela têm formatação persistente: se você já exibiu datas nessa coluna, ela provavelmente ficou com o tipo “Data” ou um formato personalizado (yyyy, mmmm/aaaa etc.).
  • Quando um número inteiro é mostrado com formato de Data, o Excel converte esse inteiro em “dias desde a origem do calendário” e exibe a data correspondente. Com o formato yyyy, você enxerga apenas o ano dessa data reinterpretada, resultando em 1905/1909.

Alternativas úteis (dependendo do objetivo)

  • Exibir apenas o ano a partir da própria data (sem nova coluna numérica): aplique o formato personalizado yyyy na coluna de data (Project End Date). Assim, você continua tendo uma data válida (para filtros, ordenações, intervalos) que parece só o ano. Importante: não aplique yyyy ao resultado de YEAR/ANO, porque YEAR/ANO já retorna um número inteiro.
  • Precisa do ano como texto (string) — por exemplo, para concatenar com outros textos ou gerar chaves: =TEXT([@[Project End Date]],"yyyy") // inglês =TEXTO([@[Project End Date]];"yyyy") // português Se precisar voltar a número depois: envolva com VALUE/VALOR.
  • Proteger contra células vazias (evitar #VALUE!): =IF([@[Project End Date]]="","",YEAR([@[Project End Date]])) // inglês =SE([@[Project End Date]]="";"";ANO([@[Project End Date]])) // português
  • Evitar erros quando a data vem de cálculos (ex.: MAXIFS que pode resultar em 0 quando não há correspondência): =IFERROR(YEAR([@[Project End Date]]),"") // inglês =SEERRO(ANO([@[Project End Date]]);"") // português

Diagnóstico rápido: como saber se é só formatação

  1. Troque temporariamente o formato da célula para “Geral”. Se o valor passar de “1905” para “2024”, então era 100% problema de formatação.
  2. Veja a Barra de Fórmulas. Se ela mostra 2024 enquanto a célula mostra 1905, a formatação está convertendo a exibição.
  3. Teste fora da Tabela. Em uma célula vazia com formato “Geral”, digite =YEAR([@[Project End Date]]) (ajuste a referência). Se funcionar, o problema está na formatação da coluna da Tabela.

Se a sua pasta usa o “sistema de datas 1904”

Esse modo é menos comum hoje, mas ainda existe em livros herdados. Para checar:

  • Windows: Ficheiro/Arquivo → Opções → Avançado → Ao calcular esta pasta de trabalho → verifique Usar sistema de data de 1904.
  • macOS: Excel → Preferências → Cálculo → Usar o sistema de datas 1904.

Se a opção estiver marcada, um inteiro como 2024 vira 17/07/1909 ao aplicar formato de Data. A correção continua a mesma: use Geral/Número na coluna do ano.

Tabela de “cenários comuns”

CenárioFórmula recomendadaFormato da célulaResultado esperado
Preciso do ano para segmentações, Tabelas Dinâmicas, gráficos=YEAR([@[Project End Date]]) / =ANO([@[Project End Date]])Geral ou NúmeroInteiro (2024, 2025…)
Quero exibir a própria data como “yyyy”Não use YEAR. Formate a data.Data com personalizado yyyyVisual igual a 2024, mantendo a data real
Preciso do ano como texto=TEXT([@[Project End Date]],"yyyy") / =TEXTO(...;"yyyy")GeralString “2024”
Fonte pode vir vazia=IF([@[Project End Date]]="","",YEAR(...)) / =SE(...)GeralVazio quando não houver data

Exemplo prático completo (com Tabela)

Suponha a Tabela tblProjects com as colunas Project, Phase Date e Project End Date. A data de término é calculada via MAXIFS para obter a última fase de cada projeto.

// Em [Project End Date] (no intervalo J2:J46), por projeto em C2:
=MAXIFS(J$2:J$46, C$2:C$46, C2)          // inglês
=MAXIFS(J$2:J$46; C$2:C$46; C2)          // português

// Em \[PLANNED PROJECT GO LIVE YEAR]:
\=YEAR(\[@\[Project End Date]])             // inglês
\=ANO(\[@\[Project End Date]])              // português 

Agora compare os dois formatos na coluna do ano:

LinhaProject End Date (Data)Fórmula no “Year”Formato “Year” = Data (yyyy)Formato “Year” = Geral/Número
128/05/2024=YEAR([@[Project End Date]])1905 (errado)2024 (correto)
210/03/2025=ANO([@[Project End Date]])1905 (errado)2025 (correto)

Boas práticas para trabalhar com “Ano”

  • Use “Ano” como número quando a coluna for usada em Tabela Dinâmica, segmentadores (Slicers) e gráficos. Isso evita surpresas na ordenação (p. ex., “2019, 2020, 2021…” se mantém crescente).
  • Evite aplicar formatos de Data em células cujo conteúdo é apenas o ano. Prefira “Geral” ou “Número”.
  • Mantenha a coluna de data original para cálculos temporais (diferenças, faixas, agrupamentos) e crie colunas derivadas para Ano, Mês, Trimestre etc.
  • Padronize separadores regionais: em Excel em português, use ; como separador de argumentos; no Excel em inglês, ,.

Variações de fórmula por idioma

ObjetivoInglêsPortuguêsObservação
Ano numérico=YEAR([@[Project End Date]])=ANO([@[Project End Date]])Coluna formatada como Geral/Número
Ano como texto=TEXT([@[Project End Date]],"yyyy")=TEXTO([@[Project End Date]];"yyyy")Ideal para concatenação
Tratar vazios=IF([@[Project End Date]]="","",YEAR([@[Project End Date]]))=SE([@[Project End Date]]="";"";ANO([@[Project End Date]]))Evita #VALUE!
Última data por projeto=MAXIFS(J$2:J$46, C$2:C$46, C2)=MAXIFS(J$2:J$46; C$2:C$46; C2)Fica na coluna de data

Erros comuns e como evitá-los

  • Aplicar yyyy ao resultado de YEAR/ANO: gera 1905/1909. Solução: mude para Geral/Número.
  • Confundir “Ano como número” com “Ano como texto”: TEXT/TEXTO devolve string; se você precisa somar/ordenar numericamente, use YEAR/ANO.
  • Resultados inesperados vindo do MAXIFS: se não houver correspondência, a função pode retornar 0 (que é 00/01/1900 quando formatado como Data). Trate com IF/SE ou IFERROR/SEERRO.
  • Coluna de Tabela “herdando” formatação: ao transformar um intervalo em Tabela, o Excel define formatações por coluna. Se você mudar a lógica da coluna, revise a formatação.

Dicas rápidas

  • Se fora da Tabela a função YEAR/ANO “funciona”, é porque a célula estava em Geral por padrão — o que reforça que o problema é apenas de formatação na Tabela.
  • Para depurar, use ISTEXT/ÉTEXTO e ISNUMBER/É.NÚM (nomes variam por localização) e confirme o tipo retornado.
  • Mantenha uma coluna “Ano (número)” e, se precisar, outra “Ano (texto)”. Isso simplifica relatórios e exportações.

Automatizando a correção por VBA (opcional)

Se você precisa padronizar dezenas de arquivos, um snippet simples pode ajudar a garantir que a coluna do ano esteja sempre como número:

Sub FixYearColumnFormat()
    With Range("tblProjects[PLANNED PROJECT GO LIVE YEAR]")
        .NumberFormat = "General"   ' ou "0" para número inteiro
        .Value = .Value             ' “fixa” valores, opcional
    End With
End Sub

Checklist final

  • ✔️ A fórmula está correta? =YEAR(...) ou =ANO(...) sobre uma data válida.
  • ✔️ O formato da coluna está certo? Geral ou Número para o resultado de YEAR/ANO.
  • ✔️ O MAXIFS realmente retorna uma data? Se houver possibilidade de 0 ou #N/D, trate com IF/SE ou IFERROR/SEERRO.
  • ✔️ O sistema de datas do livro está em 1900? Se estiver em 1904, o “ano fantasma” será 1909. A correção de formatação permanece a mesma.

FAQ

“Posso simplesmente manter MAXIFS e mexer só na coluna de Ano?”
Sim. O problema está na exibição do resultado de YEAR/ANO, não no cálculo da data. Deixe o MAXIFS como está na coluna Project End Date e mude a formatação da coluna do ano para Geral/Número.

“Por que fora da Tabela a fórmula mostra 2024 corretamente?”
Porque células fora da Tabela geralmente estão em formato Geral. Em colunas de Tabela, a formatação tende a ser persistente. É por isso que o erro “só acontece” na Tabela.

“E se eu quiser ver 2024, mas manter a célula como Data?”
Aplique o formato yyyy na própria coluna de data (Project End Date). Assim, visualmente você vê “2024”, mas a célula continua contendo uma data íntegra.

“Há diferença entre YEAR/ANO e TEXT/TEXTO + yyyy?”
Sim. YEAR/ANO retorna um número (bom para somas, ordenações), enquanto TEXT/TEXTO retorna texto (bom para rótulos, concatenação). Escolha conforme a necessidade.

“Preciso considerar horário (hora/minuto)?”
Não. YEAR/ANO ignora a parte de horas. Se sua data contiver hora, o ano será calculado da mesma forma.

Resumo

Se YEAR/ANO exibe 1905 (ou 1909 no sistema 1904), a causa é a formatação da coluna, não a fórmula. A solução é simples e definitiva: mude a coluna do Ano para Geral/Número. Se preferir exibir “só o ano” mas manter uma data íntegra, formate a própria data com yyyy. Para strings, opte por TEXT/TEXTO. Com isso, seus relatórios de PLANNED PROJECT GO LIVE YEAR ficam limpos, consistentes e prontos para análise.

Dica final: documente no rodapé da planilha (ou em uma folha “README”) que “Ano = número, formato Geral”, para que ninguém no time aplique yyyy por engano na coluna de ano.

Índice