Introducción
Esta guía práctica explica cómo extraer componentes de fecha y hora en Excel con las funciones
YEAR
, MONTH
, DAY
, WEEKDAY
, HOUR
,
MINUTE
y SECOND
. No solo verás la sintaxis, sino también
casos reales, errores comunes y combinaciones útiles para informes.
Idea clave: en Excel una fecha es un número de serie (por ejemplo, 1 = 01/01/1900 en el sistema 1900) y una hora es la fracción de un día (0.5 = 12:00). Esto permite operar con fechas/horas como si fuesen números.
Notas rápidas antes de empezar
- Formato regional: evita ambigüedades usando
AAAA-MM-DD
(ISO) o celdas con fecha real; los textos como"10/02/2022"
pueden depender de la configuración regional. - 1900/1904: Excel (Windows) usa el sistema 1900; Mac puede usar 1904. Si importas archivos entre sistemas, revisa la base de fechas.
- Texto vs. fecha: si una fecha viene como texto, usa
DATEVALUE
/TIMEVALUE
o transforma conTEXTSPLIT
+DATE
.
Funciones de Fecha en Excel
Estas funciones extraen partes de una fecha para clasificar, agrupar o calcular periodos.
Función | Devuelve | Ejemplo | Resultado |
---|---|---|---|
YEAR(fecha) | Año (número) | YEAR("2023-12-25") | 2023 |
MONTH(fecha) | Mes 1–12 | MONTH("2022-08-15") | 8 |
DAY(fecha) | Día del mes | DAY("2019-05-22") | 22 |
WEEKDAY(fecha,[tipo]) | Número de día de semana | WEEKDAY("2021-09-12",2) | 7 |
Uso analítico: agrupa ventas por año/mes, crea columnas auxiliares para tablas dinámicas o genera claves como
=YEAR(A2)&"-"&TEXT(A2,"00")
junto a MONTH
.
Función YEAR
YEAR(fecha)
extrae el año de una fecha. Ideal para agregaciones anuales o cierre fiscal.
Ejemplos:
- Si
A1=2023-12-25
, entonces=YEAR(A1)
→ 2023. - Edad a 31/03 del año actual:
=YEAR(TODAY())-YEAR(B2)-(DATE(YEAR(TODAY()),3,31)<B2)
Errores comunes
- #VALUE!: la celda no es fecha real sino texto. Convierte con
=DATEVALUE(A1)
.
Función MONTH
MONTH(fecha)
devuelve un número 1–12. Útil para temporadas y presupuestos mensuales.
A1=2022-08-15
⇒=MONTH(A1)
→ 8.- Primer y último día del mes:
=DATE(YEAR(A1),MONTH(A1),1)
y=EOMONTH(A1,0)
.
Consejo
Para mostrar el nombre del mes según idioma: =TEXT(A1,"mmmm")
(respeta la configuración regional).
Función DAY
DAY(fecha)
obtiene el día del mes. Ayuda en reglas como “si es fin de mes, enviar recordatorio”.
D4=2019-05-22
⇒=DAY(D4)
→ 22.- ¿Es fin de mes?
=DAY(A1)=DAY(EOMONTH(A1,0))
Función WEEKDAY
WEEKDAY(fecha,[tipo])
retorna el índice del día de la semana. El argumento [tipo]
define
qué día empieza la semana.
tipo | Inicio | Rango | Uso típico |
---|---|---|---|
omitido o 1 | Domingo | 1–7 | Entornos anglosajones |
2 | Lunes | 1–7 | Calendarios ISO/UE |
3 | Lunes | 0–6 | Índices 0–6 en programación |
F6=2021-09-12
⇒=WEEKDAY(F6,2)
→ 7 (domingo cuando lunes=1).- Nombre corto del día:
=TEXT(A1,"ddd")
(p. ej., lun, mar…).
Proyecto breve
Contar fines de semana en un rango: =SUM(--(WEEKDAY(ROW(INDIRECT(A1&":"&B1)),2)>=6))
con fechas seriales en A1
y B1
.
Ejemplos Prácticos con Fechas
- Clasificación trimestral:
=ROUNDUP(MONTH(A2)/3,0)
devuelve 1–4. Para etiqueta:="T"&ROUNDUP(MONTH(A2)/3,0)
. - Edad exacta (años completos):
=DATEDIF(B2,TODAY(),"Y")
(siB2
es fecha de nacimiento real). - Diferencia de meses sin desbordes:
=DATEDIF(A2,B2,"M")
y días restantes:=DATEDIF(A2,B2,"MD")
. - Fin de mes laboral: si el cierre es el último día hábil:
=WORKDAY(EOMONTH(A2,0)+1,-1)
.
Funciones de Hora en Excel
Las horas se almacenan como la fracción de un día (24 h). Por ejemplo, 06:00 = 0,25. Las funciones
HOUR
, MINUTE
y SECOND
extraen cada parte.
Consejo profesional
- Para sumar horas que superan 24, usa formato personalizado
[h]:mm:ss
. - Para convertir texto “14:35:20” a hora real:
=TIMEVALUE(A1)
.
Función HOUR
HOUR(hora)
devuelve la hora (0–23).
A10=14:35:20
⇒=HOUR(A10)
→ 14.- Turno de trabajo (mañana/tarde/noche):
=CHOOSE(1+(HOUR(A10)>=12)+(HOUR(A10)>=20),"Mañana","Tarde","Noche")
Función MINUTE
MINUTE(hora)
devuelve los minutos (0–59).
C12=17:48:30
⇒=MINUTE(C12)
→ 48.- Redondeo a 15 minutos:
=TIME(HOUR(A1),FLOOR(MINUTE(A1),15),0)
Función SECOND
SECOND(hora)
devuelve los segundos (0–59).
E14=06:22:55
⇒=SECOND(E14)
→ 55.- Marcas de tiempo precisas: combina fecha y hora con
=A2+B2
siA2
es fecha yB2
es hora.
Combinación útil
Construir una marca de tiempo desde texto “2025-09-01 09:30:45”:
=DATEVALUE(LEFT(A1,10))+TIMEVALUE(RIGHT(A1,8))