🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

Excel NSHORA, HORA, MINUTO y SEGUNDO — Lee y construye la fracción que hay detrás del reloj

|

Excel NSHORA, HORA, MINUTO y SEGUNDO — Lee y construye la fracción que hay detrás del reloj

Resumen — Excel guarda una hora de reloj como una fracción de un día de 24 horas: la medianoche es 0, las 6:00 son 0.25, el mediodía es 0.5, las 18:00 son 0.75. HOUR, MINUTE y SECOND leen las piezas de número entero dentro de esa fracción; TIME(hour, minute, second) construye una fracción a partir de las piezas y da la vuelta a medianoche (=TIME(25,0,0) → 1:00 AM). TIMEVALUE convierte una hora de texto como "2:30 PM" en la fracción 0.6042. Lo único que hay que grabar a fuego: estas funciones leen la esfera del reloj, no el tiempo transcurrido — HOUR de una duración de 30 horas es 6, no 30.

Nota — En un Excel en español estas funciones aparecen con nombre traducido: TIME → NSHORA, HOUR → HORA, MINUTE → MINUTO, SECOND → SEGUNDO, TIMEVALUE → HORANUMERO, NOW → AHORA, MROUND → REDONDEAR.MULT, DATEVALUE → FECHANUMERO. Los ejemplos de fórmula usan los nombres en inglés (tal cual se escriben en la barra de fórmulas de un Excel en inglés). Además, la interfaz en español muestra el error #VALUE! como #¡VALOR!.

=HOUR("6:00 AM")          ' -> 6
=MINUTE("14:37")          ' -> 37
=SECOND("14:37:20")       ' -> 20
=TIME(14, 30, 0)          ' -> 0.604167  (dale formato de hora -> 2:30 PM)
=TIME(25, 0, 0)           ' -> 0.041667  (da la vuelta -> 1:00 AM)
=TIMEVALUE("2:30 PM")     ' -> 0.604167  (fracción de un día)

Tienes una columna de marcas de tiempo y necesitas la hora para una tabla dinámica, o tienes que construir 08:30 a partir de dos celdas de entrada, o una hora llegó como texto y no coopera. Las cuatro funciones hacen un solo trabajo cada una — y las cuatro cobran sentido en cuanto te quedas con la imagen de que una hora no es más que un número entre 0 y 1. Esta guía cubre ese modelo, el comportamiento de vuelta al inicio que sorprende a todo el mundo, y la línea donde estas funciones dejan de ser la herramienta correcta y toma el relevo la aritmética simple.

Lo que vas a aprender

  • El modelo mental: una hora de reloj es una fracción de un día (de 0 a 1)
  • HOUR / MINUTE / SECOND leen la esfera del reloj — y por qué eso no es tiempo transcurrido
  • TIME construye una fracción a partir de piezas, y da la vuelta a las 24 horas
  • TIMEVALUE rescata una hora que llegó como texto
  • El criterio: cuándo leer piezas frente a cuándo hacer aritmética

El modelo mental: una hora es una fracción de un día

Escribe 6:00 AM en una celda y Excel guarda 0.25 — un cuarto del recorrido de un día de 24 horas — y luego lo viste con un formato de hora. Ese único hecho explica todas las funciones de abajo. Como el valor subyacente es una fracción, HOUR no extrae nada mágico: multiplica la fracción de vuelta y te entrega las horas enteras.

' A2 muestra 6:00 AM; el número que hay debajo es 0.25
=A2 * 24        ' -> 6      (0.25 de un día = 6 horas)
=HOUR(A2)       ' -> 6      (misma respuesta, como entero limpio)

Quédate con la imagen: las funciones operan sobre la fracción; el formato de hora no es más que un disfraz pintado por encima. Todo lo que sigue — la vuelta al inicio, el «¿por qué está mal mi duración?», la trampa de la hora-texto — es consecuencia de la fracción que hay debajo.

HORA, MINUTO y SEGUNDO leen la esfera del reloj

Los tres lectores extraen la pieza correspondiente de un valor de hora y siempre devuelven un número entero en un rango fijo: HOUR devuelve de 0 a 23, MINUTE y SECOND devuelven de 0 a 59.

=HOUR("14:37:20")    ' -> 14
=MINUTE("14:37:20")  ' -> 37
=SECOND("14:37:20")  ' -> 20

También funcionan sobre una marca de tiempo real — HOUR(NOW()) da la hora actual — porque una fecha-hora es un recuento de días de serie más una fracción de hora, y HOUR simplemente lee la parte de la fracción.

Aquí está la trampa que atrapa a todo el mundo, y se sigue directamente de lo de la esfera del reloj: HOUR lee la hora del día, no cuánto duró algo. Si dos eventos están separados por 30 horas, la duración es 1.25 (un día y un cuarto), y:

' D2 contiene una duración de 30 horas (el número 1.25)
=HOUR(D2)     ' -> 6    NO 30  (30 horas = 1 día + 6 horas; HOUR ve el 6)

HOUR descarta los días enteros e informa de la lectura del reloj. Para obtener 30, quieres horas transcurridas, que es aritmética — D2 * 24 — no HOUR. Esa es la razón entera por la que convertir la hora a horas decimales es un trabajo aparte de leer el reloj.

NSHORA construye una fracción — y da la vuelta a medianoche

TIME(hour, minute, second) hace lo contrario: toma tres números y ensambla la fracción de día.

=TIME(8, 30, 0)     ' -> 0.354167   (dale formato de hora -> 8:30 AM)
=TIME(14, 30, 0)    ' -> 0.604167   (-> 2:30 PM)

El comportamiento que merece la pena memorizar es lo que pasa cuando las piezas se desbordan. TIME desborda y arrastra en lugar de dar error — los minutos por encima de 59 se llevan a las horas, y las horas por encima de 23 dan la vuelta al reloj (en la práctica toma el resultado módulo 24 horas):

=TIME(8, 90, 0)     ' -> 0.395833   (8h + 90min -> 9:30 AM)
=TIME(25, 0, 0)     ' -> 0.041667   (25:00 da la vuelta -> 1:00 AM)

Esa vuelta al inicio es una ventaja cuando quieres «sumar 90 minutos a una hora de inicio» — pero una trampa cuando esperabas que TIME(25,0,0) te diera una duración de 25 horas. No puede: TIME solo produce un valor entre 0 y 1, es decir, un punto del reloj, nunca un lapso transcurrido de un día o más. Para duraciones que pueden superar las 24 horas, constrúyelas con aritmética y muéstralas con el formato [h]:mm — consulta sumar horas por encima de 24.

HORANUMERO rescata una hora atrapada como texto

Cuando una hora llega de una exportación como texto — alineada a la izquierda en la celda, no se resta, no se ordena — no hay ninguna fracción por debajo, así que tanto HOUR como la aritmética fallan. TIMEVALUE interpreta la cadena y la convierte en la fracción:

' A2 contiene el TEXTO "2:30 PM"
=A2 * 24            ' -> #VALUE!    (no puedes multiplicar una cadena)
=TIMEVALUE(A2)      ' -> 0.604167   (ahora una fracción real; *24 da 14.5)
=HOUR(TIMEVALUE(A2))' -> 14

Es la gemela — en versión hora del día — de DATEVALUE. Si tus cadenas de origen llevan a la vez una fecha y una hora, suma los dos intérpretes: DATEVALUE(LEFT(...)) + TIMEVALUE(MID(...)) reconstruye una marca de tiempo completa. Consulta FECHANUMERO y HORANUMERO para el patrón de interpretación combinada.

El criterio

  • «¿Qué marca el reloj?» — la hora para una tabla dinámica, el minuto para una etiqueta → HOUR / MINUTE / SECOND. Dan enteros limpios que puedes agrupar y comparar.
  • «¿Cuánto tardó?» — una duración, sobre todo una de más de 24 horas → no uses HOUR; resta y multiplica por 24 para obtener horas decimales, o usa [h]:mm para mostrarla.
  • Construir una hora a partir de partesTIME(h, m, s), recordando que da la vuelta a medianoche. Usa la vuelta a propósito (sumar minutos) y nunca para representar una duración larga.
  • Redondear al cuarto de hora más cercano → trabaja sobre la fracción con MROUND: =MROUND(A2, TIME(0,15,0)). Leer las piezas con MINUTE y volver a coserlas es el camino largo.
  • Una hora que no hace cálculos → es texto; envuélvela en TIMEVALUE una vez, en la frontera de importación, en lugar de esparcirla por cada fórmula.

Cómo ayuda ExcelMaster

Las fórmulas de hora fallan en silencio: el número suele ser correcto y lo único mal es el formato, o una duración pierde sus días enteros sin avisar. ExcelMaster lee la intención detrás de la petición — «dame la hora», «construye una hora de inicio», «estas horas entraron como texto» — y escribe la fórmula que encaja, incluidas las partes que la gente olvida: envolver las horas de texto en TIMEVALUE, elegir TIME frente a aritmética para las duraciones, y aplicar el formato de número correcto para que el resultado que ves coincida con el número que hay debajo. Tú describes el reloj; él se ocupa de la fracción.

Preguntas frecuentes

¿Por qué HORA devuelve 6 para una duración de 30 horas?

Porque HOUR lee la esfera del reloj, no el tiempo transcurrido. Treinta horas son un día completo más seis horas (el número 1.25); HOUR descarta el día entero e informa del 6. Para horas transcurridas usa aritmética — =duracion * 24 da 30.

¿Cómo sumo 90 minutos a una hora en Excel?

Suma un valor TIME: =A2 + TIME(0, 90, 0). TIME arrastra los 90 minutos hasta 1:30, así que un inicio a las 8:00 AM pasa a ser 9:30 AM. Sumar 90/1440 también funciona, ya que un minuto es 1/1440 de un día.

¿Cómo obtengo la hora de una cadena de texto como "2:30 PM"?

Envuélvela en TIMEVALUE: =TIMEVALUE("2:30 PM") devuelve 0.6042, una fracción real de un día. Después puedes leer las piezas con HOUR/MINUTE o multiplicar por 24 para obtener horas decimales.

¿Cuál es la diferencia entre NSHORA y HORANUMERO?

TIME(h, m, s) construye una hora a partir de tres números. TIMEVALUE("...") interpreta una cadena de texto y la convierte en el mismo tipo de fracción. Usa TIME cuando tengas las partes como números; usa TIMEVALUE cuando una hora llegó como texto.

¿Cómo redondeo una hora al cuarto de hora más cercano?

Redondea la fracción subyacente: =MROUND(A2, TIME(0,15,0)). Como TIME(0,15,0) son 15 minutos en forma de fracción de día, MROUND ajusta el valor al cuarto de hora más cercano sin que tengas que desmontar el reloj.

Probado en

Probado en: Excel 365 (Windows 11) — última verificación 2026-07-25.

Guías relacionadas: Convertir hora a horas decimales · Sumar horas por encima de 24 · Excel FECHANUMERO y HORANUMERO · Excel ENTERO, TRUNCAR y RESIDUO · Excel REDONDEAR