Fórmula do Excel: Analisar string de tempo em tempo -

Fórmula genérica

=TIME(LEFT(A1,2),MID(A1,3,2),RIGHT(A1,2))

Resumo

Para analisar uma string de texto que representa uma hora em uma hora adequada do Excel, você pode usar uma fórmula baseada nas funções RIGHT, LEFT, MID e TIME. No exemplo mostrado, a fórmula em F5 é:

=TIME(LEFT(E5,2),MID(E5,3,2),RIGHT(E5,2))

Que analisa uma string de hora de 6 caracteres no formato hhmmss em uma hora válida do Excel.

Observação: os exemplos acima usam códigos de formato de hora diferentes, conforme indicado na imagem.

Contexto

O Excel espera que as horas no Excel sejam inseridas com a hora e o minuto separados por dois pontos. Se você estiver inserindo um tempo com segundos, precisará adicionar outros dois pontos para separar minutos e segundos, conforme mostrado na tabela abaixo:

Tempo desejado Formato de entrada
2,5 horas 2:30
30 minutos 0:30
10 minutos, 15 segundos 0:10:15
45 segundos 0:00:45

O exemplo nesta página mostra uma maneira de pular os dois-pontos e inserir uma string de texto simples de 4 ou 6 dígitos que represente uma hora e, em seguida, analisar o texto em uma hora do Excel adequada com uma fórmula em uma coluna auxiliar.

Este é um bom exemplo de aninhamento de uma função dentro de outra na mesma fórmula.

Explicação

Primeiro, observe que as células em F5: F13 são formatadas como Texto antes da entrada. Isso permite que os tempos contenham zeros à esquerda, como "083000". Como alternativa, você pode inserir essas sequências de tempo com aspas simples no início (') para forçar o Excel a respeitá-las como texto.

Em seguida, a string de hora contém 6 caracteres no seguinte formato:

hhmmss // as text

Isso significa que a fórmula precisa ter 2 caracteres cada para hora, minuto e segundo. Trabalhando de dentro para fora, esta tarefa é realizada com as funções ESQUERDA, MEIO e DIREITA:

LEFT(E5,2) // get hh MID(E5,3,2) // get mm RIGHT(E5,2) // get ss

Cada uma das funções retorna um resultado diretamente para a função TIME. No E9, temos:

041055

Portanto, o resultado dentro do TIME é assim:

=TIME("04","10","55")

A função TIME então lida silenciosamente com a conversão de texto em número e retorna uma hora válida:

04:10:55

Representando 4 horas, 10 minutos e 55 segundos.

Com uma string de tempo de 4 caracteres

A fórmula em C5 destina-se a lidar com apenas uma string de tempo de 4 caracteres (horas e minutos), portanto, a estrutura é um pouco mais simples. Nós simplesmente codificamos o valor para segundos na função TIME como zero:

=TIME(LEFT(B5,2),MID(B5,3,2),0)

Artigos interessantes...