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.
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élula | Formato aplicado | O que o Excel exibe | Comentário |
---|---|---|---|
2024 | Geral/Número | 2024 | Inteiro (correto para “Ano”) |
2024 | Data (ou yyyy ) — sistema 1900 | 1905 | 2024 → 16/07/1905; yyyy exibe 1905 |
2024 | Data (ou yyyy ) — sistema 1904 | 1909 | 2024 → 17/07/1909; yyyy exibe 1909 |
Como corrigir (passo a passo rápido)
- Selecione a coluna PLANNED PROJECT GO LIVE YEAR (onde você quer ver “2024”, “2025”…).
- Na área de Número / Formatação, mude para Geral ou Número (0 casas decimais).
- 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 apliqueyyyy
ao resultado deYEAR/ANO
, porqueYEAR/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 comVALUE/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
- 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.
- Veja a Barra de Fórmulas. Se ela mostra
2024
enquanto a célula mostra1905
, a formatação está convertendo a exibição. - 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ário | Fórmula recomendada | Formato da célula | Resultado esperado |
---|---|---|---|
Preciso do ano para segmentações, Tabelas Dinâmicas, gráficos | =YEAR([@[Project End Date]]) / =ANO([@[Project End Date]]) | Geral ou Número | Inteiro (2024, 2025…) |
Quero exibir a própria data como “yyyy” | Não use YEAR . Formate a data. | Data com personalizado yyyy | Visual igual a 2024, mantendo a data real |
Preciso do ano como texto | =TEXT([@[Project End Date]],"yyyy") / =TEXTO(...;"yyyy") | Geral | String “2024” |
Fonte pode vir vazia | =IF([@[Project End Date]]="","",YEAR(...)) / =SE(...) | Geral | Vazio 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:
Linha | Project End Date (Data) | Fórmula no “Year” | Formato “Year” = Data (yyyy ) | Formato “Year” = Geral/Número |
---|---|---|---|---|
1 | 28/05/2024 | =YEAR([@[Project End Date]]) | 1905 (errado) | 2024 (correto) |
2 | 10/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
Objetivo | Inglês | Português | Observaçã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 deYEAR/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, useYEAR/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 comIF/SE
ouIFERROR/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
eISNUMBER/É.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 comIF/SE
ouIFERROR/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.