Fórmula de Data no Notion: Calcular Dias Entre Duas Datas
🔍 WiseChecker

Fórmula de Data no Notion: Calcular Dias Entre Duas Datas

Você quer calcular o número de dias entre duas datas em um banco de dados do Notion. As fórmulas do Notion usam uma função nativa chamada dateBetween para retornar a diferença em dias, horas, minutos ou segundos. Este artigo explica a sintaxe correta da função dateBetween, mostra como lidar com datas vazias ou futuras e cobre erros comuns que produzem resultados incorretos ou mensagens de erro.

Principais Conclusões: Fórmula de Data no Notion para Diferença em Dias

  • dateBetween(Fim, Início, ‘dias’): Retorna o número de dias entre duas propriedades de data; a ordem dos argumentos determina um resultado positivo ou negativo.
  • prop(“Data 2”) – prop(“Data 1”): Uma subtração abreviada que também funciona se ambas as propriedades forem do tipo data, mas retorna uma duração em milissegundos por padrão.
  • if(empty(prop(“Data 2”)), “”, dateBetween(…)): Use este padrão para evitar saídas em branco ou erros quando um dos campos de data estiver vazio.

Como a Função dateBetween Funciona no Notion

As fórmulas do Notion são escritas em uma propriedade do tipo Fórmula. A função dateBetween recebe três argumentos: a data posterior, a data anterior e a unidade de tempo. A unidade deve ser uma string entre aspas simples, por exemplo 'dias', 'horas', 'minutos', 'segundos', 'semanas', 'meses' ou 'anos'. Se a primeira data for anterior à segunda, o resultado é um número negativo. Para sempre obter um número positivo, você pode envolver a função com abs().

A propriedade de fórmula não exige a instalação de nenhum complemento ou integração. Ela funciona com qualquer propriedade de data padrão, incluindo datas de uma relação de banco de dados ou de um rollup. O único pré-requisito é que ambas as entradas sejam valores de data válidos no Notion. Se uma das propriedades estiver vazia, a fórmula retorna um erro ou uma saída em branco, dependendo de como você escreve a condição.

Sintaxe do dateBetween

A sintaxe exata é:

dateBetween(prop("Data Final"), prop("Data Inicial"), "dias")

Substitua Data Final e Data Inicial pelos nomes reais de suas colunas de data. A string da unidade deve estar em minúsculas e entre aspas duplas. O Notion não aceita formas plurais como 'dia' ou 'dias'.

Passos para Adicionar uma Fórmula de Dias Entre Datas ao Seu Banco de Dados

  1. Abra o banco de dados onde você deseja a fórmula
    Clique no nome do banco de dados no topo da página no Notion. Certifique-se de que o banco de dados já tenha pelo menos duas colunas de data, por exemplo Data Inicial e Data Final.
  2. Adicione uma nova propriedade de Fórmula
    Clique no botão + no último cabeçalho de coluna. No menu de tipo de propriedade, selecione Fórmula. Nomeie a propriedade como Dias Entre ou qualquer rótulo de sua preferência.
  3. Escreva a fórmula dateBetween básica
    No editor de fórmulas, digite:
    dateBetween(prop("Data Final"), prop("Data Inicial"), "dias")
    Clique em Concluído. A coluna agora mostra o número de dias entre as duas datas. Se a data final for anterior à data inicial, o número será negativo.
  4. Torne o resultado sempre positivo
    Se você deseja a diferença absoluta independentemente da ordem, envolva a função com abs():
    abs(dateBetween(prop("Data Final"), prop("Data Inicial"), "dias"))
    Clique em Concluído. Agora o resultado é sempre um número não negativo.
  5. Lidar com campos de data vazios
    Se qualquer propriedade de data estiver vazia, a fórmula mostra um erro. Para exibir uma célula em branco, use uma condição if:
    if(empty(prop("Data Final")) or empty(prop("Data Inicial")), "", dateBetween(prop("Data Final"), prop("Data Inicial"), "dias"))
    Clique em Concluído. Linhas vazias agora exibem uma célula em branco em vez de um erro.

Erros Comuns e Como Evitá-los

A fórmula retorna um erro quando uma data está vazia

Isso acontece porque dateBetween requer dois valores de data válidos. Use o padrão if(empty(...)) mostrado no passo 5 para retornar uma string vazia. Você também pode retornar 0 ou uma mensagem personalizada como "Sem data final" em vez de uma string vazia.

O resultado mostra um número grande como 86400000

Isso ocorre quando você subtrai duas propriedades de data diretamente sem usar dateBetween. Por exemplo, prop("Data Final") - prop("Data Inicial") retorna a diferença em milissegundos, não em dias. Sempre use dateBetween com a unidade 'dias' para obter o número correto.

Números negativos aparecem quando as datas estão trocadas

Se o primeiro argumento for anterior ao segundo, o resultado é negativo. Envolva toda a função com abs() para obter o valor absoluto. Alternativamente, troque a ordem dos argumentos se você sempre quiser um número positivo.

A fórmula não atualiza quando uma data muda

As fórmulas do Notion recalculam automaticamente sempre que qualquer propriedade referenciada é editada. Se a fórmula parecer travada, atualize a página pressionando F5 ou feche e reabra a visualização do banco de dados. Se o problema persistir, verifique se a propriedade da fórmula não foi acidentalmente definida como um valor estático.

Métodos de Fórmula de Data no Notion Comparados

Método Função dateBetween Subtração Direta
Descrição Função explícita com argumento de unidade Operador de subtração entre duas propriedades de data
Unidade do resultado Dias, horas, minutos, etc. Milissegundos por padrão
Lida com datas vazias Requer wrapper if(empty()) Retorna erro com datas vazias
Suporte a valor absoluto Envolver com abs() Envolver com abs() e dividir por 86400000
Legibilidade Clara e autodocumentada Mais difícil de ler e manter
Melhor caso de uso Todos os cálculos de diferença de dias Não recomendado para cálculos de dias

Para a maioria dos usuários, a função dateBetween é a escolha correta. A subtração direta só faz sentido se você precisar do valor bruto em milissegundos para um cálculo personalizado.

Agora você pode calcular o número exato de dias entre duas datas em seu banco de dados do Notion usando a função dateBetween. Adicione o wrapper if(empty()) para evitar erros em linhas incompletas. Para uso mais avançado, combine dateBetween com formatDate() para exibir o resultado como uma string como “3 dias atrasado”.