SIFECHA devuelve la diferencia entre dos fechas como un número entero de años, meses o días. Es la forma estándar de calcular una edad, una antigüedad laboral o el tiempo que falta hasta una fecha límite. La función es peculiar: funciona en todas las versiones de Excel, pero no aparece en la lista de funciones ni muestra ayuda emergente, así que tienes que escribirla de memoria.
Sintaxis
=SIFECHA(fecha_inicial; fecha_final; unidad)
- fecha_inicial: la fecha más temprana.
- fecha_final: la fecha más tardía. Debe ser igual o posterior a la inicial, o dará un error #¡NUM!.
- unidad: un código de texto, entre comillas, que indica qué devolver (ver la tabla).
Códigos de unidad
| Unidad | Devuelve |
| "Y" | Años completos entre las fechas |
| "M" | Meses completos entre las fechas |
| "D" | Días entre las fechas |
| "YM" | Meses, ignorando los años (0-11) |
| "MD" | Días, ignorando meses y años |
| "YD" | Días, ignorando los años |
Calcular la edad en años
Con una fecha de nacimiento en A2:
=SIFECHA(A2; HOY(); "Y")
HOY() aporta la fecha actual, así que la edad se actualiza cada día que se abre el archivo.
La edad en años y meses
Combina dos llamadas a SIFECHA con texto:
=SIFECHA(A2; HOY(); "Y") & " años y " & SIFECHA(A2; HOY(); "YM") & " meses"
La unidad "YM" da los meses que sobran después de los años completos, así que obtienes un limpio «34 años y 5 meses».
Antigüedad en meses
Con una fecha de contratación en A2 y una fecha final en B2:
=SIFECHA(A2; B2; "M")
Errores habituales
- #¡NUM!: la fecha inicial es posterior a la final. SIFECHA no acepta un intervalo negativo; intercambia los argumentos o revisa la celda.
- #¡VALOR!: uno de los argumentos no es una fecha real. Un texto que solo parece una fecha fallará. Comprueba que ambas celdas sean fechas de verdad (se alinean a la derecha por defecto).
- La unidad "MD" puede ser poco fiable al cruzar el límite de un mes, y Microsoft aconseja usarla con cautela. Para contar días con precisión, mejor una resta simple (=B2-A2).
Preguntas frecuentes
¿Por qué no aparece SIFECHA cuando la escribo?
SIFECHA es una función heredada que se mantiene por compatibilidad con hojas antiguas. Microsoft la dejó fuera de la lista de funciones y no le da autocompletado ni ayuda emergente, pero calcula correctamente. Escribe la fórmula entera tú mismo.
¿Cómo calculo la edad de alguien en Excel?
Usa =SIFECHA(fecha_de_nacimiento; HOY(); "Y"). Devuelve el número de años completos, que es la edad de la persona, y se actualiza cada día porque HOY() siempre es la fecha actual.
¿Cuál es la diferencia entre "M" y "YM"?
"M" devuelve el total de meses completos entre las fechas, que puede ser un número grande como 41. "YM" devuelve solo los meses que sobran después de los años completos, siempre entre 0 y 11, que es lo que quieres al mostrar «años y meses».¿Por qué SIFECHA devuelve un error #¡NUM!?
La fecha inicial es posterior a la final. SIFECHA exige que la primera fecha sea la más temprana. Comprueba que las celdas estén en el orden correcto y que ninguna sea una fecha mal escrita.
¿Puedo calcular los días entre dos fechas sin SIFECHA?
Sí. Resta la fecha más temprana de la más tardía: =B2-A2 devuelve directamente el número de días y, a diferencia de la unidad "MD", siempre es fiable.