domingo, 14 de junio de 2020

EXCEL: Convertir cadena de hora a formato hora

Excel formula: Parse time string to time

Fórmula genérica

=NSHORA(IZQUIERDA(A1,2),EXTRAE(A1,3,2),DERECHA(A1,2))

Explicación

Para analizar una cadena de texto que representa un tiempo en un tiempo de Excel adecuado, puede usar una fórmula basada en las funciones DERECHA, IZQUIERDA, EXTRAE y NSHORA. En el ejemplo que se muestra, la fórmula en F5 es:
=NSHORA(IZQUIERDA(E5,2),EXTRAE(E5,3,2),DERECHA(E5,2))
Que analiza una cadena de tiempo de 6 caracteres en formato hhmmss en una hora de Excel válida.
Nota: los ejemplos anteriores usan diferentes códigos de formato de hora como se indica en la captura de pantalla.

Contexto

Excel espera que las horas en Excel se ingresen con la hora y los minutos separados por dos puntos. Si está ingresando un tiempo con segundos, necesitará agregar otros dos puntos para separar los minutos y segundos, como se ve en la tabla a continuación:
Tiempo deseado Formato de entrada
2.5 horas 2:30
30 minutos 0:30
10 minutos, 15 segundos 0:10:15
45 segundos 0:00:45
El ejemplo en esta página muestra una forma de omitir los dos puntos e ingresar una cadena de texto simple de 4 o 6 dígitos que represente una hora, luego analizar el texto en una hora de Excel adecuada con una fórmula en una columna auxiliar.
Este es un buen ejemplo de anidar una función dentro de otra en la misma fórmula.

Cómo funciona esta fórmula

Primero, tenga en cuenta que las celdas en F5: F13 están formateadas como Texto antes de la entrada. Esto permite que los tiempos contengan ceros a la izquierda como "083000". Alternativamente, puede ingresar estas cadenas de tiempo con una comilla simple al comienzo (') para forzar a Excel a respetarlas como texto.
A continuación, la cadena de tiempo contiene 6 caracteres en el siguiente formato:
hhmmss // as text
Esto significa que la fórmula necesita recoger 2 caracteres cada uno por hora, minuto y segundo. Trabajando desde adentro hacia afuera, esta tarea se realiza con las funciones IZQUIERDA, EXTRAE y DERECHA:
IZQUIERDA(E5,2) // get hh
EXTRAE(E5,3,2) // get mm
DERECHA(E5,2) // get ss
Cada una de las funciones devuelve un resultado directamente a la función NSHORA. En E9, tenemos:
041055
Entonces el resultado dentro de NSHORA se ve así:
=NSHORA("04","10","55")
La función NSHORA maneja silenciosamente la conversión de texto a número y devuelve un tiempo válido:
04:10:55
Representa 4 horas, 10 minutos y 55 segundos.

Con una cadena de tiempo de 4 caracteres

La fórmula en C5 está destinada a manejar solo una cadena de tiempo de 4 caracteres (horas y minutos), por lo que la estructura es un poco más simple. Simplemente codificamos el valor por segundos en la función NSHORA como cero:
=NSHORA(IZQUIERDA(B5,2),EXTRAE(B5,3,2),0)

Comentarios en Facebook


0 comentarios:

Copyright © 2021 TRUJILLOSOFT