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

Excel FECHANUMERO y HORANUMERO — Rescata fechas y horas atrapadas como texto

|

Excel FECHANUMERO y HORANUMERO — Rescata fechas y horas atrapadas como texto

Resumen — Excel guarda cada fecha como un número de serie (días contados desde el 1 de enero de 1900); la fecha que ves es ese número disfrazado con un formato de fecha. Cuando una fecha llega como texto, no es un número de serie — así que no se ordena cronológicamente, no se resta ni alimenta a las funciones de fecha. DATEVALUE interpreta una fecha de texto y devuelve su número de serie: =DATEVALUE("2025-01-01")45658 (da formato de fecha a la celda para verlo). TIMEVALUE hace lo mismo con una hora, devolviendo una fracción de un día: =TIMEVALUE("2:30 PM")0.6041…. La única trampa que hay que respetar: para cadenas ambiguas como "03/04/2026", DATEVALUE sigue tu configuración regional, así que puede leer 4 de marzo o 3 de abril.

Nota — En un Excel en español estas funciones aparecen con nombre traducido: DATEVALUE → FECHANUMERO, TIMEVALUE → HORANUMERO, DATE → FECHA, LEFT → IZQUIERDA, MID → EXTRAE, RIGHT → DERECHA, TEXT → TEXTO, VALUE → VALOR, NUMBERVALUE → VALORNUMERO. 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!.

=DATEVALUE("2025-01-01")           ' -> 45658   (serie; da formato de fecha para ver 2025-01-01)
=TIMEVALUE("2:30 PM")              ' -> 0.604167 (fracción de un día)
=DATEVALUE("2-Jul-2026") + TIMEVALUE("14:30")   ' un número de serie de fecha-hora real

La situación es siempre la misma: recibes una columna de fechas de una exportación, se alinean a la izquierda de las celdas, y nada de lo que tenga forma de fecha funciona — se ordenan "1/12" antes que "2/03" alfabéticamente, =B2-A2 lanza #VALUE!, y DATEDIF se niega. Parecen fechas pero son texto. DATEVALUE y TIMEVALUE devuelven a los impostores su condición de números de serie reales. Esta guía cubre el modelo mental, la trampa regional que atrapa a todos, y los casos en los que una herramienta distinta es lo único que interpretará la cadena.

Lo que vas a aprender

  • El modelo mental: una fecha es un número de serie; una fecha de texto es un impostor
  • Cómo reconocer fechas de texto (y por qué rompen el ordenamiento y los cálculos)
  • DATEVALUE y la trampa de ambigüedad regional con 03/04/2026
  • TIMEVALUE, fracciones de un día, y combinar fecha + hora
  • Cuándo DATEVALUE no puede interpretar una cadena — y qué usar en su lugar
  • El criterio: DATEVALUE vs DATE(LEFT,MID,RIGHT) vs Texto en columnas

El modelo mental: una fecha es un número disfrazado

Escribe 2025-01-01 en una celda y Excel guarda 45658 — el número de días desde su época — y luego lo viste con un formato de fecha. Por eso funciona la aritmética de fechas: fin - inicio es solo una resta de dos recuentos de días, y EOMONTH, NETWORKDAYS y DATEDIF operan todas sobre el número de serie que está por debajo.

Una fecha de texto se salta todo eso. "2025-01-01" guardado como texto es la cadena de caracteres 2 0 2 5 - 0 1 - 0 1 — no hay ningún 45658 por debajo, así que ninguno de los mecanismos se activa:

' A2 contiene el TEXTO "2025-01-01"
=A2 + 1        ' -> #VALUE!   (no puedes sumar 1 a una cadena)
=DATEVALUE(A2) ' -> 45658     (ahora es una serie real; =+1 da el día siguiente)

Quédate con la imagen: DATEVALUE no cambia cómo se ve la fecha — le da al parecido un número real por debajo. Después, aplica un formato de fecha para que el 45658 vuelva a mostrarse como 2025-01-01.

Cómo detectar una fecha de texto

Las mismas señales que en los números-texto, más un par específicas de las fechas:

  • Los valores están alineados a la izquierda (las fechas reales se alinean a la derecha).
  • El ordenamiento es alfabético, no cronológico"03/…" cae antes que "11/…" sin importar el año.
  • =fecha_posterior - fecha_anterior devuelve #VALUE! en vez de un recuento de días.
  • DATEDIF, EOMONTH, NETWORKDAYS y los filtros de fecha o bien dan error o bien tratan cada cadena como una etiqueta sin relación.

Si la aritmética de fechas se está comportando mal, da por hecho que hay fechas de texto hasta que se demuestre lo contrario.

FECHANUMERO y la trampa de ambigüedad regional

DATEVALUE lee cualquier cadena que Excel reconozca como fecha en la configuración regional actual. Esa última cláusula es toda la trampa. Considera "03/04/2026":

=DATEVALUE("03/04/2026")   ' config. EE. UU.  -> 4 de marzo de 2026
=DATEVALUE("03/04/2026")   ' config. Reino Unido  -> 3 de abril de 2026

Misma cadena, día distinto, y sin error que te avise — el libro simplemente significa algo diferente en silencio en otra máquina. Dos defensas:

  • Prefiere entrada inequívoca: el ISO "2026-07-02" y los meses escritos con letras "2-Jul-2026" se interpretan igual en todas partes.
  • Cuando controles la interpretación, no confíes en la conjetura de DATEVALUE — descompón la cadena con DATE(year, month, day) para que decidas qué parte es el mes (ver más abajo).

DATEVALUE también ignora cualquier parte de hora en la cadena (usa TIMEVALUE para eso), y devuelve #VALUE! para texto que no pueda leer como fecha en absoluto.

HORANUMERO y las fracciones de un día

Excel guarda una hora como la fracción de un día de 24 horas: la medianoche es 0, el mediodía es 0.5, las 6 PM son 0.75. TIMEVALUE interpreta una hora de texto y devuelve esa fracción:

=TIMEVALUE("2:30 PM")     ' -> 0.604167   (14.5 / 24)
=TIMEVALUE("23:15")       ' -> 0.968750

Como una fecha-hora real es serie + fracción, reconstruyes una sumando los dos intérpretes:

' A2 contiene el texto "2026-07-02 14:30"
=DATEVALUE(LEFT(A2, 10)) + TIMEVALUE(MID(A2, 12, 5))   ' -> un número de serie de fecha-hora real

Da formato al resultado como yyyy-mm-dd hh:mm y tendrás un valor que puedes restar, ordenar y comparar como cualquier otra marca de tiempo.

Cuándo FECHANUMERO no puede hacerlo

DATEVALUE solo interpreta formatos que Excel ya reconoce como fechas. Falla con cadenas genuinamente no estándar — "20260702" (sin separadores), "July2026" (sin día), "Q3 2026" — y da error innecesariamente si el valor es ya una fecha real (es un número, no texto, así que no hay nada que interpretar). Para esos, recurre a la interpretación estructural:

' "20260702" -> saca las piezas por posición y reconstruye la fecha
=DATE(LEFT(A2,4), MID(A2,5,2), RIGHT(A2,2))   ' -> 2026-07-02, sin ambigüedad

DATE(year, month, day) toma tres números y construye una serie sin ninguna conjetura sobre qué parte es el mes — que es exactamente por lo que supera a DATEVALUE siempre que el formato sea fijo pero raro. Consulta IZQUIERDA / DERECHA / EXTRAE para la parte de extracción.

El criterio

  • Fecha de texto estándar e inequívoca (ISO o mes escrito con letras) → DATEVALUE es limpia y viva. Buena para una fórmula que deba reinterpretar texto cambiante.
  • dd/mm vs mm/dd ambiguo → no confíes en la conjetura regional de DATEVALUE; descompón con DATE(LEFT,MID,RIGHT) para controlar el orden.
  • Una columna puntual para limpiarDatos → Texto en columnas → Finalizar, eligiendo el formato de columna Fecha (DMY/MDY), convierte en el sitio sin fórmula.
  • Importaciones recurrentes → arregla el tipo en el origen o en Power Query; no entregues una columna DATEVALUE que reconstruyes cada semana.

Una vez que tus fechas son números de serie genuinos, se abre todo el juego de herramientas de fechas — recuentos de días, EOMONTH para finales de mes, NETWORKDAYS para días laborables, DATEDIF para edades y antigüedades. DATEVALUE es simplemente el torniquete que mete las fechas de texto en ese mundo.

Cómo ayuda ExcelMaster

Las fechas de texto son especialmente traicioneras porque parecen correctas — el error se esconde hasta que un total o un ordenamiento sale mal en silencio. ExcelMaster reconoce el patrón (fechas que no se restan, ordenamientos que salen alfabéticos), y — lo crucial — maneja la ambigüedad por ti: lee si una columna es dd/mm o mm/dd a partir de los propios datos, y luego convierte con la interpretación correcta, DATEVALUE para cadenas estándar o una descomposición DATE(...) para las raras. Obtienes números de serie reales con los que puedes hacer cálculos, sin apostar tu cierre de trimestre a qué convención de fechas de país supuso Excel.

Preguntas frecuentes

¿Cómo convierto texto en una fecha en Excel?

=DATEVALUE(A1), y luego da formato de fecha a la celda. Para una columna entera sin fórmula, usa Datos → Texto en columnas → Finalizar y elige el formato Fecha. Para cadenas no estándar, reconstruye con =DATE(LEFT,MID,RIGHT).

¿Por qué FECHANUMERO devuelve #VALUE!?

La cadena no es un formato que Excel reconozca como fecha en tu región — p. ej. "20260702" sin separadores, un día que falta, o el valor es ya una fecha real (un número, así que no hay nada que convertir). Usa la descomposición DATE(...) para formatos raros.

¿Por qué mis fechas se ordenan mal?

Son texto, no fechas reales, así que se ordenan alfabéticamente ("03/…" antes que "11/…"). Conviértelas con DATEVALUE o Texto en columnas para que Excel las ordene por el número de serie subyacente.

¿Qué devuelve HORANUMERO?

Una fracción de un día: =TIMEVALUE("2:30 PM")0.6042 (14.5 ÷ 24). Súmala a un resultado de DATEVALUE para construir un número de serie de fecha-hora completo.

FECHANUMERO vs FECHA — ¿cuál debo usar?

DATEVALUE interpreta una cadena de texto y adivina el formato a partir de tu configuración regional. DATE(year, month, day) construye una fecha a partir de tres números sin ambigüedad. Usa DATE(...) (con LEFT/MID/RIGHT) siempre que el orden del texto sea fijo pero inusual, o cuando dd/mm vs mm/dd pudiera leerse mal.

Probado en

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

Guías relacionadas: Excel TEXTO · Excel VALOR y VALORNUMERO · Excel IZQUIERDA, DERECHA y EXTRAE · Excel ENCONTRAR y HALLAR · Excel SUMAR.SI.CONJUNTO