¿Como convertir un número en formato hora?

Me gustaría saber como poder convertir un numero en formato hora.

Es decir, me proporcionan unos datos donde la supuesta hora viene con el siguiente formato.

Ejemplo:

5156 equvale a 05:15:5

40527 equivale a 04:05:27

105920 equivale a 10:59:20

Como puedo hacer para convertir este curioso formato a hora.

2 Respuestas

Respuesta
1

.07/10/16

Buenos días, Juan

El primer ejemplo que mencionas es raro, porque no entiendo cómo el 6 del final se traduce en :5 que tampoco es un formato de segundos (debería tener dos posiciones). Pero después lo resolveremos con algún condicional cuando me lo expliques.

Pero vamos por lo positivo.

La siguiente fórmula se encarga de poner el número en "formato" HH:MM:SS:

=REEMPLAZAR(REEMPLAZAR(A2;LARGO(A2)-1;0;":");LARGO(A2)-3;0;":")

[Considera si usas comas o punto y coma para separar argumentos de las funciones. Yo usé ";"]

Pero será un texto, no una hora real. Para que lo sea, vamos a anidarla dentro de otra función que convierte ese texto en una hora operable por MS Excel:

=HORANUMERO(=REEMPLAZAR(REEMPLAZAR(A2;LARGO(A2)-1;0;":");LARGO(A2)-3;0;":"))

Ahora si, puedes darle formato de hora a esa celda y copiarla a todas las otras donde necesites la conversión.

Prueba con esta fórmula que resuelve satisfactoriamente los casos de más de cuatro cifras.

Luego me dirás cómo quieres resolver los casos como el del primer ejemplo.

Un abrazo

Fernando

.

¡Gracias!

Ahora me pongo con la fórmula que me has facilitado.

El primer caso perdona, ha sido un error de escritura. Quería decir 5:15:6

Es decir las 5 y cuarto de la mañana con 6 segundo.

La fórmula que me has pasado EXCELENTE

Pero peco con la hora rara del primer caso, que no se como montar el formato hora. ¿Crees qué un ESERROR convinaría bien?

Saludos.

.

Hola, Juan

Efectivamente, imaginé que era 5:15:06.

Pero si no asigna al menos dos posiciones para los segundos, no habrá forma de "enseñarle a la fórmula" que convierta esos casos.

Mira este otro ejemplo:

Si el numero fuese 1556 podría interpretarse de las siguientes maneras:

15:56:00

01:55:06

15:05:06

Entonces, yo usaría esta fórmula que convertirá los casos standard y dejará un aviso -VER!- Para los dudosos.

=SI(LARGO(A2)<5; "VER!";HORANUMERO(=REEMPLAZAR(REEMPLAZAR(A2;LARGO(A2)-1;0;":");LARGO(A2)-3;0;":")))

Luego podrás usar un filtro automático y que te muestre sólo los casos que te den VER! (O error).

En aquellos casos que detectes cuál sería la hora, bastará que le agregues los ceros que pudieren faltar para que la fórmula lo convierta normalmente.

Espero que no sean tantos los casos.

Un abrazo

Fer

.

Pd: Si la respuesta te pareció excelente, por favor califícala como tal con el selector de abajo.

¡Gracias!

Maestro muy bien explicado.

.

Un placer ayudar.

Una corrección menor a la fórmula anterior:

=SI(LARGO(A2)<5; "VER!";HORANUMERO(REEMPLAZAR(REEMPLAZAR(A2;LARGO(A2)-1;0;":");LARGO(A2)-3;0;":")))

Muy buen fin de semana!

Fer

.

Respuesta
1

Es posible que sea útil los siguientes post

http://www.programarexcel.com/2013/11/formato-de-fecha-y-hora-en-excel.html 

http://www.programarexcel.com/2015/11/macro-da-distintos-formato-numero-celdas.html 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas