La función DATEDIF en Excel
SIFECHA (Inglés: DATEDIF) devuelve el número de años, meses o días completos entre una fecha de inicio y una fecha de fin, según la unidad que elijas.
Funciona en todas las versiones de Excel, pero Excel no la sugiere mientras escribes, así que tienes que escribir el nombre completo tú mismo. La fecha de inicio no puede ser posterior a la fecha de fin.
Sintaxis
=DATEDIF(start_date, end_date, unit)
| Argumento | Qué significa |
|---|---|
| start_date | La fecha anterior. |
| end_date | La fecha posterior. |
| unit | "y" años completos, "m" meses completos, "d" días, "ym" meses que quedan tras los años completos, "md" días que quedan tras los meses completos (poco fiable), "yd" días que quedan tras los años completos. |
Ejemplos
1. Edad en años completos
| A | B | |
|---|---|---|
| 1 | Edad | |
| 2 | Nacimiento | 1990-05-20 |
| 3 | Hasta el | 2026-03-01 |
| 4 | Años | 35 |
El cumpleaños de 2026 (20 de mayo) aún no ha llegado el 1 de marzo, así que solo hay 35 años completos.
2. Meses completos
| A | B | |
|---|---|---|
| 1 | Contrato | |
| 2 | Inicio | 2026-01-15 |
| 3 | Fin | 2026-03-20 |
| 4 | Meses | 2 |
Del 15 de enero al 15 de marzo hay 2 meses completos. Los 5 días extra no llegan a formar un tercero.
3. Años y meses, en dos partes
| A | B | |
|---|---|---|
| 1 | Edad | |
| 2 | Nacimiento | 1990-05-20 |
| 3 | Hasta el | 2026-03-01 |
| 4 | Meses adicionales | 9 |
Tras 35 años completos (hasta el 20 de mayo de 2025), han pasado otros 9 meses completos. En total: 35 años y 9 meses.
Errores comunes
Fecha de inicio posterior a la fecha de fin. El resultado es el error #¡NUM!.
Corrección: Intercambia las fechas, o usa
=SIFECHA(MIN(B2;B3);MAX(B2;B3);"d").Restar fechas y dividir entre 365 para calcular la edad. Los años bisiestos lo desvían un poco, y da decimales.
Corrección: Usa SIFECHA (Inglés: DATEDIF) con "y" para los años completos.
Usar la unidad "md". Microsoft advierte de que puede devolver resultados incorrectos.
Corrección: Calcula los días sobrantes con FIN.MES (Inglés: EOMONTH) o FECHA.MES (Inglés: EDATE) en su lugar.
Preguntas frecuentes
¿Por qué Excel no muestra DATEDIF en la lista de funciones?
Viene de Lotus 1-2-3 y se conserva por compatibilidad. Está documentada y funciona, pero no aparece en las sugerencias.
¿Cómo cuento los días entre dos fechas?
Réstalas, o usa DIAS (Inglés: DAYS)(fin, inicio). Para contar solo días laborables, usa DIAS.LAB (Inglés: NETWORKDAYS).
Funciones relacionadas
- EOMONTHEOMONTH devuelve el último día de un mes; EDATE, el mismo día un número de meses después o antes.
- NETWORKDAYSNETWORKDAYS cuenta los días laborables entre dos fechas, de lunes a viernes, con la opción de excluir festivos.
- WEEKDAYWEEKDAY devuelve el día de la semana como número y WORKDAY suma días laborables a una fecha, saltando los fines de semana.