Objetivo: Converter horas em minutos, minutos em segundos, horas em segundos, etc.
A conversão de tempo no Excel é uma dúvida frequente em fóruns de discussão. De forma a definir uma solução para estas conversões de horas, vou explicar como funciona a leitura de horas no Excel e como realizar as conversões.
O primeiro ponto a ser esclarecido é que o Excel trabalha com números decimais para horas, sendo 24 horas = 1.
Logo, desta forma temos por exemplo:
- 12:00 = 0,5
- 18:00 = 0,75
- 24:00 = 1
Para efetuar cálculos de conversão temos as seguintes proporções:
- 1 hora = 60 minutos = (60*60) segundos
Sendo que o Excel considera 24 igual a 1, ou seja, um dia, temos que incluir o 24 no cálculo, desta forma temos que:
- 1 dia = (60*24) minutos = (60*60*24) segundos.
Desta forma são os seguintes cálculos de conversão:
- Segundos -> Minutos = Segundos/60
- Minutos -> Horas = Minutos/(24*60)
- Horas -> Segundos = Horas*24*60*60
- Horas -> Minutos = Horas*24*60
- Minutos -> Segundos = Minutos*60
- Segundos -> Horas = Segundos/(24*60*60)
Também encapsulei toda esta lógica nesta função VBA que você pode incluir na sua biblioteca de funções próprias conforme descrito no artigo: http://guiadoexcel.com.br/criando-funcoes-proprias-globais.
'Converte tempo Public Function gfConverteTempo(ByVal vTempo As Double, ByVal vConverte As String) As Double On Error Resume Next Application.Volatile Dim lAux As Long Select Case vConverte Case "hm" lAux = (24 * 60) gfConverteTempo = vTempo * lAux Case "hs" lAux = (24 * 60) gfConverteTempo = vTempo * lAux * 60 Case "mh" lAux = (24 * 60) gfConverteTempo = vTempo / lAux Case "ms" gfConverteTempo = vTempo * 60 Case "sh" lAux = (24 * 60) gfConverteTempo = vTempo / (lAux * 60) Case "sm" gfConverteTempo = vTempo / 60 End Select End Function
Os parâmetros para esta função são:
- vTempo = Passar o campo a ser convertido
- vConverte = Passar a conversão a ser feita conforme abaixo:
- “hm”= hora em minuto
- “hs” = hora em segundo
- “mh” = minuto em hora
- “ms” = minuto em segundo
- “sh” = segundo em hora
- “sm” = segundo em minuto
Exemplo: gfConverteTempo(F20;”hm”), sendo o valor de F20 = 09:42:57.
DIGITE O SEU EMAIL PARA FAZER O DOWNLOAD DOS ARQUIVOS: Baixe a planilha
Abraço
Marcos Rieper