Você criou uma coluna calculada no SharePoint para exibir uma data futura, passada ou a diferença entre datas, mas o resultado está com um dia a mais, mostra um número de série ou retorna um erro. Isso acontece porque o SharePoint armazena datas como números de série no Tempo Universal Coordenado (UTC) e aplica o fuso horário da coleção de sites apenas ao renderizar o valor. Este artigo explica a causa raiz dos erros de cálculo de datas em colunas calculadas e mostra como corrigir a fórmula para obter a data correta.
Principais Conclusões: Corrigindo Cálculos de Data em Colunas Calculadas do SharePoint
- Use a função DATE em vez de strings de texto: Escrever =[Data Início]+30 funciona, mas =[Data Início]+”30″ retorna um erro ou um número de série.
- Adicione um componente de hora para diferenças precisas: Use =DATEDIF([Data Início],[Data Fim],”d”) para obter dias inteiros sem erros de arredondamento.
- Verifique a configuração de fuso horário da coleção de sites: O SharePoint armazena datas em UTC; a coluna calculada pode exibir uma data com um dia de diferença se o fuso horário do site for diferente do UTC.
Por que as Colunas Calculadas do SharePoint Mostram a Data Errada
O SharePoint armazena cada valor de data e hora como um número de série no Tempo Universal Coordenado (UTC). Quando você cria uma coluna calculada que referencia uma coluna de data, o cálculo é executado sobre o número de série em UTC, não sobre a data formatada que você vê na lista. A configuração de fuso horário da coleção de sites informa ao SharePoint como exibir a data, mas a fórmula da coluna calculada não aplica automaticamente esse deslocamento de fuso horário. Essa incompatibilidade faz com que a data exibida fique com um dia de diferença quando o fuso horário do site está atrás ou adiantado em relação ao UTC.
Outra causa comum é o uso de strings de texto em operações aritméticas com datas. O SharePoint espera valores numéricos para cálculos com datas. Escrever uma fórmula como =[Data Início]+"30" trata o número como texto e retorna um número de série ou um erro. O mesmo problema ocorre ao usar Today() ou Now() em uma coluna calculada. Essas funções retornam a data atual em UTC, que pode ser diferente da data no seu fuso horário local.
Uma terceira causa é a forma como o SharePoint calcula diferenças entre datas. A função DATEDIF funciona corretamente, mas a subtração simples =[Data Fim]-[Data Início] retorna um número decimal representando a fração de um dia. Sem arredondamento, o resultado aparece como um decimal em vez de um número inteiro de dias.
Passos para Corrigir uma Coluna Calculada que Retorna a Data Errada
- Verifique o fuso horário da coleção de sites
Vá para Central de Administração do SharePoint > Sites ativos > selecione seu site > Configurações > Configurações regionais. Anote o fuso horário. Se o fuso horário do site não for UTC, a coluna calculada pode exibir datas com um dia de diferença. Para contornar isso, adicione ou subtraia o deslocamento do fuso horário na fórmula. Por exemplo, para o Horário Padrão do Leste (UTC-5), use=[Data Início] - 5/24para ajustar o valor exibido. - Use a função DATE para criar uma data a partir de partes
Se você estiver construindo uma data a partir de colunas de ano, mês e dia, use a funçãoDATEem vez de concatenar strings. Exemplo:=DATE([Ano],[Mês],[Dia]). Isso retorna um número de série de data adequado que o SharePoint pode calcular corretamente. - Adicione um número, não texto, a uma data
Para adicionar 30 dias a uma data de início, escreva=[Data Início]+30. Não coloque o número entre aspas. Se você escrever=[Data Início]+"30", o SharePoint trata o 30 como texto e retorna um erro ou um número de série. - Use DATEDIF para diferenças entre datas
Para calcular o número de dias entre duas datas, use=DATEDIF([Data Início],[Data Fim],"d"). O argumento “d” retorna dias inteiros. Para meses, use “m”. Para anos, use “y”. Isso evita o resultado decimal que a subtração simples produz. - Arredonde o resultado da subtração de datas
Se você precisar usar subtração, envolva o resultado com a funçãoINTpara remover a parte decimal. Exemplo:=INT([Data Fim]-[Data Início]). Isso retorna um número inteiro de dias. - Evite Today() e Now() em colunas calculadas
Essas funções retornam a data e hora em UTC, o que pode fazer a coluna calculada mostrar uma data diferente do esperado. O SharePoint também recalcula esses valores apenas quando o item é modificado, não a cada carregamento de página. Em vez disso, use um fluxo de trabalho ou Power Automate para obter a data atual no fuso horário correto.
Erros Comuns em Cálculos de Data e Suas Correções
A coluna calculada mostra um número de cinco dígitos em vez de uma data
Isso acontece quando a fórmula retorna um número de série que o SharePoint não reconhece como data. A causa mais comum é usar uma string de texto na fórmula. Por exemplo, =[Data Início]+"7" retorna um número de série. Remova as aspas: =[Data Início]+7. Se a coluna ainda mostrar um número, altere o tipo da coluna de Linha de texto único para Data e Hora nas configurações da coluna.
A data está com um dia de diferença após adicionar dias
Provavelmente o fuso horário da coleção de sites é diferente do UTC. Por exemplo, se seu site usa o Horário Padrão do Pacífico (UTC-8), adicionar 30 dias a uma data pode mostrar o resultado como o dia anterior. Adicione ou subtraia o deslocamento do fuso horário na fórmula. Para PST, use =[Data Início]+30-8/24. Teste com algumas datas para confirmar se o ajuste está correto.
DATEDIF retorna um erro
A função DATEDIF exige que a data de início seja anterior à data de término. Se a data de início for posterior à data de término, a função retorna um erro. Use a função SE para inverter as datas quando necessário: =SE([Data Início]<[Data Fim];DATEDIF([Data Início],[Data Fim],"d");DATEDIF([Data Fim],[Data Início],"d")). Essa fórmula sempre retorna um número positivo de dias.
A coluna calculada não é atualizada quando a data de origem muda
As colunas calculadas são recalculadas apenas quando o item é salvo. Se você alterar uma coluna de data na lista e a coluna calculada não for atualizada, edite e salve o item novamente. Para atualizações automáticas, considere usar um fluxo do Power Automate que atualize uma coluna de texto com a data calculada.
Coluna Calculada vs Power Automate para Cálculos de Data
| Item | Coluna Calculada | Power Automate |
|---|---|---|
| Tratamento de fuso horário | Usa UTC; é necessário ajuste manual | Pode usar fuso horário local com a ação convertTimeZone |
| Recálculo | Apenas quando o item é salvo | Executa no gatilho (item criado, modificado ou agendado) |
| Lógica de data complexa | Limitada a funções de fórmula | Suporta expressões, condições e loops |
| Exibição em tempo real | Mostra na exibição de lista imediatamente | Atualiza uma coluna após o fluxo ser executado (pode haver atraso) |
Para adição ou subtração simples de datas com fuso horário consistente, uma coluna calculada com o deslocamento correto funciona bem. Para lógica complexa, como calcular dias úteis ou lidar com vários fusos horários, use o Power Automate.
Agora você pode corrigir cálculos de data no SharePoint usando valores numéricos em vez de strings de texto, ajustando os deslocamentos de fuso horário e escolhendo a função certa para diferenças entre datas. Comece verificando o fuso horário da coleção de sites e atualizando sua fórmula para incluir o deslocamento. Para diferenças entre datas, use DATEDIF com a função SE para evitar erros. Se a fórmula ficar muito complexa, mova o cálculo para um fluxo do Power Automate para ter mais controle sobre fusos horários e temporização de atualizações.