[Excel] Cómo convertir cadenas de fecha y hora con DATEVALUE y TIMEVALUE

[Excel] Cómo convertir cadenas de fecha y hora con DATEVALUE y TIMEVALUE Excel

Introducción

Excel es una de las herramientas más utilizadas para limpiar, transformar y analizar datos. En la práctica diaria es habitual recibir fechas y horas en texto (por ejemplo, al exportar desde sistemas externos o formularios web). Mientras ese texto no se convierta a un valor numérico interno, Excel no puede ordenar correctamente por fecha, calcular diferencias ni sumar tiempos.

Este tutorial presenta dos funciones clave para resolverlo: DATEVALUE y TIMEVALUE. Verás cómo convertir cadenas a valores de fecha y hora confiables, cómo evitar ambigüedades de formato y cómo integrar estas conversiones en flujos reales de trabajo (informes de asistencia, tiempos de proyecto, dashboards, etc.).

¿Qué son DATEVALUE y TIMEVALUE?

Excel almacena las fechas como números de serie (días transcurridos desde un origen) y las horas como la fracción del día (por ejemplo, 0,5 = 12:00). DATEVALUE transforma un texto que “parece” fecha en su número de serie; TIMEVALUE hace lo mismo con un texto que “parece” hora y lo convierte en una fracción de día.

Función Sintaxis Entrada típica Devuelve Ejemplo rápido
DATEVALUE =DATEVALUE(texto_fecha) “15/08/2020”, “2020-08-15” Número de serie de fecha =DATEVALUE("15/08/2020") → 44049
TIMEVALUE =TIMEVALUE(texto_hora) “08:30”, “08:30 AM” Fracción del día =TIMEVALUE("08:30") → 0,354166…

Consejos de compatibilidad: los nombres localizados de funciones pueden variar según el idioma de tu Excel. Si tu archivo se comparte entre equipos con configuraciones distintas, es más robusto construir fechas y horas con DATE/TIME + funciones de texto (ver ejemplos).

Funcionamiento de las Funciones

El día “1” suele corresponder al 1/1/1900 (en la mayoría de instalaciones actuales). Un día completo vale 1; por tanto, 6:00 equivale a 0,25 y 18:00 a 0,75. Al convertir texto, Excel intenta interpretar el formato según la configuración regional. Por eso, “03/04/2021” puede significar 3 de abril o 4 de marzo según el país.

Limitaciones y advertencias mínimas

  • Ambigüedad de formato: evita depender de cadenas ambiguas. Prefiere ISO 8601 (YYYY-MM-DD) o normaliza el texto antes de convertir.
  • Fecha + hora en una sola cadena: no hay una función única; se suele dividir la cadena y sumar: =DATEVALUE(parte_fecha) + TIMEVALUE(parte_hora).
  • Datos “sucios”: espacios invisibles, puntos en lugar de barras o zonas horarias incrustadas impiden la conversión. Usa TRIM, CLEAN, SUBSTITUTE para estandarizar.
  • Horas negativas o duraciones largas: si ves ####, aplica un formato de número de tiempo acumulado (por ejemplo, [h]:mm) o calcula duraciones como diferencia de valores numéricos.

Ejemplos Prácticos

Casos reales que cubren importaciones comunes y cálculos de negocio.

Ejemplo 1 — Conversión de fecha simple (texto → fecha):

Entrada (A2):  "15/08/2020"
Fórmula:       =DATEVALUE(A2)
Resultado:     número de serie (formatea la celda como fecha para ver 15/08/2020)

Ejemplo 2 — Conversión de hora simple (texto → hora):

Entrada (B2):  "08:30 AM"
Fórmula:       =TIMEVALUE(B2)
Resultado:     0,354166…  (formatea como hora para ver 08:30)

Ejemplo 3 — Cadena combinada “fecha hora” separada y sumada:

Entrada (C2):  "15/08/2020 08:30"
Parte fecha:   =DATEVALUE(LEFT(C2,10))
Parte hora:    =TIMEVALUE(RIGHT(C2,5))
Fecha-hora:    =DATEVALUE(LEFT(C2,10)) + TIMEVALUE(RIGHT(C2,5))

Ejemplo 4 — Normalizar formatos inconsistentes antes de convertir:

Entrada (D2):  "2020.08.15"
Normaliza:     =SUBSTITUTE(D2,".","-")            → "2020-08-15"
Convierte:     =DATEVALUE(SUBSTITUTE(D2,".","-"))

Ejemplo 5 — Construir fecha con piezas (texto “dd/mm/aaaa”):

Entrada (E2):  "03/04/2021"   (dd/mm/aaaa)
Día:           =VALUE(LEFT(E2,2))
Mes:           =VALUE(MID(E2,4,2))
Año:           =VALUE(RIGHT(E2,4))
Fecha segura:  =DATE(VALUE(RIGHT(E2,4)), VALUE(MID(E2,4,2)), VALUE(LEFT(E2,2)))

Ejemplo 6 — Registro de asistencia (calcular horas trabajadas):

Entrada:
A2: "2024-12-10 08:55"   (entrada)
B2: "2024-12-10 17:35"   (salida)

Fecha-hora entrada: =DATEVALUE(LEFT(A2,10)) + TIMEVALUE(RIGHT(A2,5))
Fecha-hora salida:  =DATEVALUE(LEFT(B2,10)) + TIMEVALUE(RIGHT(B2,5))
Duración (días):    = (salida) - (entrada)
Duración (horas):   = ((salida) - (entrada)) * 24
Formato sugerido:   [h]:mm   (para ver, por ejemplo, 8:40)

Ejemplo 7 — Texto ISO 8601 típico de API (YYYY-MM-DDThh:mm:ss):

Entrada (F2):  "2025-01-18T14:05:00"
Fecha-hora:    =DATEVALUE(LEFT(F2,10)) + TIMEVALUE(MID(F2,12,8))

Ejemplo 8 — Comprobar si la conversión fue correcta:

¿Es número?    =ISNUMBER(DATEVALUE("15/08/2020"))     → TRUE
¿Es texto?     =ISTEXT("15/08/2020")                  → TRUE
Validación:    =IF(ISNUMBER(DATEVALUE(A2)), "OK", "Revisar formato")

Con estas técnicas podrás: ordenar por fecha real, calcular diferencias (=B2-A2), sumar horas de varios días, y alimentar gráficos o tablas dinámicas sin errores por formatos mixtos. Además, si compartes el archivo entre regiones diferentes, prioriza formatos no ambiguos (ISO 8601), o construye las fechas con DATE y las horas con TIME a partir de subcadenas numéricas.