Formulas de tempo: o que funciona e o que quebra no dia a dia
Quem trabalha com planilhas ou sistemas de gestão de tempo logo descobre que lidar com horas e minutos não é tão simples quanto parece. As formulas de tempo aparecem em qualquer contexto onde você precisa calcular diferenças, somar períodos ou converter unidades de tempo, e a maioria das pessoas subestima os problemas que surgem quando os dados não são limpos. Eu já vi gente passar horas tentando ajustar fórmulas que simplesmente não "batiam", só pra descobrir que o problema era um formato de célula ou uma localização configurada como americano em vez de brasileiro. Isso é comum.
O básico que todo mundo esquece
Em planilhas como o Excel ou Google Sheets, o tempo é armazenado como frações de um dia. Isso significa que 1 hora é na verdade 0,0416667. Quando você vê "12:00" numa célula, o valor interno é 0,5. Se você soma dois campos de tempo e o resultado aparece como um número feio tipo 0,758333, não é bug. É só o formato da célula que tá mostrando o valor bruto em vez de horas. A função MAIS() existe exatamente pra isso. Ela lida com a parte fracionária de forma correta. Se você tentar somar tempo usando adição normal (=A1+A2), às vezes funciona, às vezes não, dependendo de como os dados foram inseridos. A diferença é sutil mas faz uma planilha inteira quebrar de formas estranhas.
As formulas de tempo que realmente uso
Vou listar as que eu uso com frequência, sem rodeio: Para calcular a diferença entre dois horários: =B2-A2, onde B2 é o fim e A2 é o início. Formate o resultado como [h]:mm para que horas ultrapassadas de 24 sejam exibidas corretamente. O colchete em [h] é importante. Sem ele, depois de 24 horas o contador zera e mostra de novo 00:00.
Para converter minutos em horas e minutos: =INT(A1/60)&"h "&MOD(A1,60)&"min". Isso assume que A1 está em minutos. Funciona, mas é feio. Tem gente que prefere formatar a célula como personalizada com o código [h]:mm e inserir os minutos como valores decimais divididos por 1440 (que é a quantidade de minutos num dia). Para pegar apenas a parte das horas de um timestamp completo: =HORA(A1). Pra minutos: =MINUTO(A1). Pra segundos: =SEGUNDO(A1). Simples, mas você precisa saber que se a célula contiver uma data junto com a hora, essas funções ignoram a parte da data e trabalham só com o horário.
Para adicionar/subtrair tempo: =A1+TEMPO(2;30;0) soma 2 horas e 30 minutos. =A1-TEMPO(0;15;0) subtrai 15 minutos. A função TEMPO() aceita até três argumentos: horas, minutos e segundos. Se você passar um valor maior que o esperado, ela normaliza automaticamente. TEMPO(0;90;0) vira 1:30:00. Isso é útil mas também causa confusão se você não estiver esperando.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Um problema real que eu enfrentei
Eu tava construindo uma planilha de controle de horas trabalhadas para uma equipe de cerca de 40 pessoas. O problema era que algumas pessoas registravam o horário de saída como "00:00" quando na verdade tinham trabalhado até tarde e ultrapassado a meia-noite. A fórmula =B2-A2 simplesmente dava negativo ou zero, porque 00:00 é menor que 23:00. A solução que eu encontrei foi adicionar uma verificação condicional. Se o horário de saída fosse menor que o de entrada, eu somava 1 dia ao resultado. Em prática ficou assim: =SE(B2
A2;B2+1-A2;B2-A2). E claro, o formato da célula de resultado tinha que ser [h]:mm senão o dia extra não aparecia direito. Isso resolveu. Não é elegante mas funciona.
Pegadinhas que ninguém conta
Uma coisa que muita gente não sabe é que fórmulas de tempo podem falhar silenciosamente quando há células em branco. Se uma célula de início ou fim tá vazia, a subtração retorna #VALOR! ou um erro parecido. Você pode contornar com =SE.COMEÇAR.NÃO.ESSA(célula_vazia;0;célula_vazia) antes de fazer o cálculo, ou simplesmente usar =SE.PROCURAR() pra validar os dados antes. Outro ponto: fusos horários. Se vocês têm equipe distribuída em diferentes regiões, horários registrados em fuso diferente vão distorcer completamente seus cálculos. A função HORÁRIO() permite especificar fuso, mas a maioria das pessoas nem sabe que existe. Se você trabalha com dados de múltiplos fusos, use =HORÁRIO(ano;mês;dia;hora;minuto;segundo;fuso) e converta tudo para um fuso base antes de calcular diferenças.
Fuso horário no Excel é tratado pela diferença em relação ao UTC. O parâmetro de fuso varia de -12 a +14. Não tente fazer conversão manual com somas e subtrações. Use as funções nativas.
Quando fórmulas de tempo não resolvem
Se o seu cenário envolve regras de negócio complexas — como horas extras que só contam após 200 horas mensais, ou períodos de folga que precisam ser descontados automaticamente — planilhas comuns vão te dar muita dor de cabeça. Nesse caso, o ideal é usar scripts em Apps Script (no Google Sheets) ou VBA (no Excel) para criar funções personalizadas. Fórmulas puras têm limite prático de complexidade, e quando você ultrapassa esse limite, o custo de manutenção da planilha cresce exponencialmente. Também é importante lembrar que fórmulas de tempo não consideram feriados, finais de semana ou períodos de licença. Se você precisa calcular dias úteis ou horas efetivas de trabalho, vai precisar de funções adicionais como DIATRABALHOTOTAL() no Excel ou fórmulas mais elaboradas no Google Sheets. Sem isso, qualquer cálculo de prazo ou produtividade vai estar errado.
A regra geral é: comece simples, teste com dados reais desde o início, e não confie em resultados que parecem bonitos demais. Se uma fórmula de tempo te dá 168 horas em uma semana de trabalho de 40 pessoas e você não consegue explicar cada uma delas, provavelmente tem algo errado. Verifique os formatos das células, confira se não há valores textuais disfarçados de número, e use a função =EÉ.HORÁRIO() pra validar se cada célula realmente contém um timestamp antes de depender do resultado.