Imagina la hoja de personal de una pyme: en una columna aparece la fecha en que cada empleado entró a trabajar y, al lado, la antigüedad exacta que necesitas mostrar en un informe. SIFECHA es la función de Excel que calcula esa diferencia desglosada en años, meses y días, aunque tiene una peculiaridad: no aparece en el catálogo cuando pulsas el botón de Insertar función, así que tienes que escribirla a mano. Funciona en Microsoft 365, Excel 2024, 2021, 2019, 2016, 2013, 2010 y 2007, además de en Excel para la web, para Mac y para móviles.
Qué es SIFECHA y por qué no aparece en el catálogo de funciones
SIFECHA (en inglés DATEDIF) calcula los años, meses o días completos que han pasado entre dos fechas. En la hoja de empleados, con la fecha de ingreso en la columna B y la fecha de hoy en una celda fija, esta función devuelve, por ejemplo, «5 años, 3 meses y 12 días» sin que tengas que hacer cuentas mental.
Su rareza es que no sale en el catálogo. Si abres una celda, pulsas Insertar función y buscas por nombre, SIFECHA no aparece: ni en Microsoft 365 ni en Excel 2024. La función existe desde hace décadas (viene de Lotus 1-2-3) y Microsoft la mantiene por compatibilidad, pero la considera una reliquia y no la documenta en el asistente. Por eso la tienes que escribir directamente en la barra de fórmulas, sabiendo su nombre exacto y el orden de sus argumentos.
;). Si tu Excel está configurado con punto decimal (México, Estados Unidos), el separador será la coma.La sintaxis de SIFECHA y sus seis unidades
La sintaxis completa es =SIFECHA(fecha_inicial; fecha_final; unidad). El primer argumento es la fecha más antigua, el segundo es la más reciente y el tercero es un texto entre comillas que indica qué quieres contar. SIFECHA ofrece seis unidades distintas, cada una pensada para un cálculo concreto.
| Unidad | Qué cuenta | Uso típico |
|---|---|---|
| "Y" | Años completos | Edad de una persona, años de antigüedad |
| "M" | Meses completos | Meses transcurridos sin importar el día |
| "D" | Días totales | Días exactos entre dos fechas |
| "YM" | Meses sobrantes tras los años | «5 años y 3 meses» (los 3 meses extra) |
| "MD" | Días sobrantes tras los meses | «3 meses y 12 días» (los 12 días extra) |
| "YD" | Días del último año, ignorando el año | Diferencia como si ambas fechas fueran del mismo año |
Microsoft desaconseja la unidad "MD" porque puede dar resultados negativos o incorrectos cuando el día final es anterior al día inicial dentro del mes. En la práctica, casi siempre se sustituye por una fórmula con FECHA cuando se necesita precisión.
El argumento unidad: años, meses o días
El tercer argumento de SIFECHA es siempre una cadena de texto entre comillas dobles que indica qué contar. La siguiente tabla resume las seis opciones con un ejemplo para cada una, tomando como referencia el 18 de octubre de 2026 y una fecha inicial concreta.
| Unidad | Significado | Ejemplo con fecha inicial 10/03/2020 |
|---|---|---|
| "Y" | Años completos | 6 |
| "M" | Meses completos | 79 |
| "D" | Días totales | 2.414 |
| "YM" | Meses que sobran después de contar años | 7 |
| "MD" | Días que sobran después de contar meses | 8 |
| "YD" | Días del último año, como si fuera del mismo año | 191 |
La elección de la unidad cambia por completo el resultado: con "Y" obtienes 6 años redondos, con "M" los 79 meses totales, y con "YM" los 7 meses extra una vez descontados los 6 años completos.
Por qué hay que escribir SIFECHA a mano
SIFECHA no sale en el asistente de Insertar función ni se autocompletar al empezar a escribir su nombre. Esto se debe a que viene de Lotus 1-2-3, el programa de hojas de cálculo anterior a Excel, y Microsoft la conservó por compatibilidad con hojas antiguas. El problema es que, como no se autocompletar, un error tipográfico (por ejemplo, escribir SIFECHA sin la H, o DATEDIF en un Excel en español) produce el error #¿NOMBRE? sin más pistas.
La solución es sencilla: escribir el nombre directamente en la barra de fórmulas y respetar las mayúsculas o minúsculas (Excel no las distingue, pero ayuda a leerla). Si la escribes correctamente y los argumentos están bien separados por punto y coma, la función calcula sin necesidad de asistente.
Calcular la antigüedad con años, meses y días
La hoja de ejemplo es Empleados, con los datos que ves a continuación. En D1 irá la fecha de referencia (que se actualiza sola con HOY()), y en C2:C6 se construirá la antigüedad completa combinando tres llamadas a SIFECHA.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Nombre | Fecha de ingreso | Antigüedad | 18/10/2026 |
| 2 | Ana | 15/03/2024 | ||
| 3 | Luis | 02/07/2021 | ||
| 4 | Marta | 30/11/2025 | ||
| 5 | Pedro | 10/06/2014 | ||
| 6 | Sara | 01/09/2026 |
El primer paso es situar la fecha de referencia en D1. Como la antigüedad cambia con el paso del tiempo, se usa la función HOY() para que Excel la recalcule cada día al abrir el libro.
- Sitúate en la celda
D1y escribe=HOY(). - Pulsa Entrar. Verás la fecha actual en formato corto (por ejemplo,
18/10/2026). - Selecciona
D1, pulsa Ctrl+1 para abrir Formato de celdas y, en la pestaña Número, elige Fecha con el formato que prefieras.
D1 muestra la fecha del día en que abres el libro. Si mañana la vuelves a abrir, mostrará la fecha de mañana.Solo los años cumplidos con "Y"
Ahora se añade a C2 la fórmula que cuenta los años completos entre la fecha de ingreso y la fecha de referencia. Como la fórmula se va a copiar a las filas de abajo, la referencia a D1 se fija con dólares para que no se desplace.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Nombre | Fecha de ingreso | Antigüedad | 18/10/2026 |
| 2 | Ana | 15/03/2024 | 2 | |
| 3 | Luis | 02/07/2021 | 5 | |
| 4 | Marta | 30/11/2025 | 0 | |
| 5 | Pedro | 10/06/2014 | 12 | |
| 6 | Sara | 01/09/2026 | 0 |
- Selecciona la celda
C2. - Escribe
=SIFECHA(B2;$D$1;"Y"). - Pulsa Entrar. El resultado es
2(Ana entró en 2024 y han pasado algo más de 2 años completos). - Arrastra el controlador de relleno desde
C2hastaC6para copiar la fórmula a las demás filas.
Sumar meses extra con "YM"
Con "Y" solo se obtienen los años enteros. Para saber los meses que sobran después de descontar esos años, se usa la unidad "YM", que cuenta los meses restantes como si las dos fechas fueran del mismo año.
=SIFECHA(B2;$D$1;"YM")
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Nombre | Fecha de ingreso | Años | Meses extra | Días extra |
| 2 | Ana | 15/03/2024 | 2 | 7 | |
| 3 | Luis | 02/07/2021 | 5 | 3 | |
| 4 | Marta | 30/11/2025 | 0 | 10 | |
| 5 | Pedro | 10/06/2014 | 12 | 4 | |
| 6 | Sara | 01/09/2026 | 0 | 1 |
- Sitúate en
D2y escribe=SIFECHA(B2;$D$1;"YM"). - Pulsa Entrar y arrastra el controlador hasta
D6.
Para Ana, que lleva 2 años y 7 meses completos, la fórmula devuelve 7. Para Luis, 5 años y 3 meses extra, devuelve 3.
Sumar los días con "MD" y la pega que tiene
La unidad "MD" cuenta los días que quedan tras descontar los meses completos. Es la pieza final del puzle de la antigüedad.
=SIFECHA(B2;$D$1;"MD")
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Nombre | Fecha de ingreso | Años | Meses extra | Días extra |
| 2 | Ana | 15/03/2024 | 2 | 7 | 3 |
| 3 | Luis | 02/07/2021 | 5 | 3 | 16 |
| 4 | Marta | 30/11/2025 | 0 | 10 | 18 |
| 5 | Pedro | 10/06/2014 | 12 | 4 | 8 |
| 6 | Sara | 01/09/2026 | 0 | 1 | 17 |
-22 en vez de 9. Microsoft desaconseja esta unidad precisamente por esto.Sustituir "MD" con FECHA cuando falla
Cuando "MD" falla, una alternativa robusta es construir la fecha exacta con FECHA y restar los días sobrantes. La fórmula siguiente hace lo mismo que "MD" pero sin los negativos.
=B2-(FECHA(AÑO($D$1)-SIFECHA(B2;$D$1;"Y")-1;MES(B2)+1;1))
Otra opción muy usada, que evita por construcción el problema, consiste en sumar un día a la fecha inicial antes de contar. Así, entre el 25 de marzo y el 3 de abril, se calcula sobre el 26 de marzo y se obtiene 8 días en vez de un resultado negativo.
=SIFECHA(B2+1;$D$1;"MD")
Para terminar la antigüedad completa, se concatenan las tres columnas en una sola frase. En la celda C2 se sustituye la fórmula anterior por esta:
=SIFECHA(B2;$D$1;"Y")&" años, "&SIFECHA(B2;$D$1;"YM")&" meses y "&SIFECHA(B2;$D$1;"MD")&" días"
Arrastrando hacia abajo se obtienen textos como «2 años, 7 meses y 3 días» para cada uno de los empleados.
Contar días, meses o años sueltos entre dos fechas
Otra hoja útil es Suscripciones, con la fecha de alta en A, la fecha de baja en B y el tipo de periodo a calcular en D1. Cambiando la celda D1, la fórmula de la columna C se adapta y muestra el resultado en la unidad elegida.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Cliente | Fecha de alta | Fecha de baja | Unidad |
| 2 | Cliente A | 15/04/2024 | 10/09/2026 | D |
| 3 | Cliente B | 03/01/2025 | 20/06/2026 | M |
| 4 | Cliente C | 28/11/2023 | 15/03/2026 | Y |
| 5 | Cliente D | 10/07/2024 | 05/10/2026 | YD |
| 6 | Cliente E | 22/02/2025 | 30/09/2026 | M |
La fórmula general usa ELEGIR para traducir el texto de D1 en la unidad que SIFECHA espera. Esto evita tener cinco fórmulas distintas en la hoja.
=SIFECHA(A2;B2;ELEGIR(COINCIDIR(D1;{"D";"M";"Y";"YD";"YM";"MD"};0);"D";"M";"Y";"YD";"YM";"MD"))
Toda la diferencia en días con "D"
Con "D" se obtiene la diferencia bruta en días, sin distinguir meses ni años. Es lo que se usa para contar plazos o vencimientos.
=SIFECHA(A2;B2;"D")
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Cliente | Fecha de alta | Fecha de baja | Unidad | |
| 2 | Cliente A | 15/04/2024 | 10/09/2026 | D | 1488 |
Toda la diferencia en meses con "M"
Con "M" se cuentan los meses enteros entre ambas fechas, sin importar los días sueltos.
=SIFECHA(A2;B2;"M")
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 3 | Cliente B | 03/01/2025 | 20/06/2026 | M | 17 |
SIFECHA.Días del último año con "YD"
"YD" cuenta los días que hay entre las dos fechas como si ambas fueran del mismo año, ignorando los años enteros. Sirve para comparar periodos anuales sin arrastrar la parte de años completos.
=SIFECHA(A2;B2;"YD")
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 5 | Cliente D | 10/07/2024 | 05/10/2026 | YD | 87 |
Cuando hay un año bisiesto de por medio, "YD" puede dar un resultado un día más largo de lo esperado, porque febrero tiene 29 días en ese caso. Esto no es un error: es la forma en que SIFECHA cuenta los días naturales del último año.
Los errores que de verdad salen al usar SIFECHA
Tres errores son los más comunes al usar SIFECHA. Todos tienen causa clara y arreglo directo.
#¡NUM! porque la fecha inicial va después de la final
SIFECHA exige que la fecha inicial sea anterior o igual a la fecha final. Si se invierten, devuelve #¡NUM!.
| A | B | C | |
|---|---|---|---|
| 2 | 01/03/2026 | 15/01/2026 | #¡NUM! |
La causa es que B2 (15/01/2026) es anterior a A2 (01/03/2026), y SIFECHA no puede contar hacia atrás. El arreglo es invertir el orden con MIN y MAX, que garantizan que el argumento menor va primero.
=SIFECHA(MIN(A2;B2);MAX(A2;B2);"D")
#¡VALOR! porque la fecha es un texto irreconocible
Si una de las celdas contiene texto que Excel no interpreta como fecha, SIFECHA devuelve #¡VALOR!.
| A | B | C | |
|---|---|---|---|
| 2 | ayer | 10/09/2026 | #¡VALOR! |
También aparece con fechas mal formateadas como 01-13-2026 (un mes inexistente) o con datos importados como texto. El arreglo pasa por revisar la celda y, si es texto en formato fecha, convertirla con FECHANUMERO o simplemente reescribirla como fecha real.
#¿NOMBRE? al escribirla mal o copiarla de una web en inglés
Al copiar la fórmula de una página en inglés, lo fácil es dejarla como DATEDIF en un Excel en español. El resultado es #¿NOMBRE?.
| A | B | C | |
|---|---|---|---|
| 2 | 15/04/2024 | 10/09/2026 | #¿NOMBRE? |
La causa es que el nombre de la función está en inglés y Excel no lo traduce automáticamente. Otro error típico es escribir SIFECHA (sin la H) o usar coma en vez de punto y coma. El arreglo es revisar el nombre y el separador, y reescribir la fórmula en español con SIFECHA(fecha_inicial;fecha_final;"D").
Lo que SIFECHA no hace y cómo lo hace otro
SIFECHA no es una función de calendario, así que no sabe de días festivos ni de horarios laborables. Si necesitas contar solo días laborables entre dos fechas, usa DIAS.LAB (en inglés NETWORKDAYS), que sí permite indicar festivos. Para calcular la edad exacta al día de hoy con años, meses y días, lo que se ha visto en este tutorial sirve tal cual; pero si necesitas la edad en una fecha concreta que no sea hoy, sustituye HOY() por esa fecha.
En VBA, donde se programa Excel con código, SIFECHA se maneja igual pero con matices. Las propiedades .Formula y .FormulaR1C1 esperan la función en inglés (DATEDIF) y con comas como separador, sea cual sea el idioma del Excel. Las propiedades .FormulaLocal y .FormulaR1C1Local aceptan SIFECHA con punto y coma. El siguiente ejemplo en VBA escribe la antigüedad en años para los empleados de la columna B.
Sub AntiguedadAnos()
Dim rng As Range
For Each rng In Range("B2:B6")
rng.Offset(0, 1).FormulaLocal = _
"=SIFECHA(" & rng.Address & ";HOY();&"""" & "Y" & """" & ")"
Next rng
End Sub
Celda C2: =SIFECHA(B2;HOY();"Y")
Celda C3: =SIFECHA(B3;HOY();"Y")
Celda C4: =SIFECHA(B4;HOY();"Y")
Celda C5: =SIFECHA(B5;HOY();"Y")
Celda C6: =SIFECHA(B6;HOY();"Y")
Si se usase .Formula en vez de .FormulaLocal, la línea sería rng.Offset(0, 1).Formula = "=DATEDIF(" & rng.Address & ",TODAY(),""Y"")", con comas y la función en inglés. Mezclar el nombre español con .Formula produce el error 1004 en tiempo de ejecución.
Lo que ya sabes hacer con SIFECHA
SIFECHAse escribe a mano: no aparece en el asistente de Insertar función ni se autocompletar, así que hay que memorizar su nombre y sus argumentos separados por punto y coma.- Tiene seis unidades ("Y", "M", "D", "YM", "MD", "YD") que cubren todo el abanico de periodos entre dos fechas, desde años enteros hasta días sueltos.
- La fecha inicial siempre va primero y debe ser anterior o igual a la final; si no, devuelve
#¡NUM!. Para invertir el orden sobre la marcha, se usanMINyMAX. - Los errores más comunes son tres:
#¡NUM!por orden invertido,#¡VALOR!por fechas mal escritas y#¿NOMBRE?por nombre o separador incorrectos. Todos tienen arreglo directo.
El siguiente paso natural es combinar SIFECHA con SI para clasificar a los empleados por tramos de antigüedad: por ejemplo, =SI(SIFECHA(B2;HOY();"Y")>=10;"Senior";SI(SIFECHA(B2;HOY();"Y")>=5;"Confirmado";"Junior")) etiqueta a cada persona según los años cumplidos, algo muy útil para revisar_plus automático, pluses y trienios.
Dudas al usar SIFECHA en Excel
1. ¿Por qué la función SIFECHA no aparece cuando la escribo en Excel?
SIFECHA (DATEDIF en inglés) es una función «oculta» de Excel: no aparece en la lista de la pestaña Fórmulas ni se muestra el cuadro de Insertar función al escribir sus primeras letras. La forma de usarla es escribirla directamente en la barra de fórmulas, con su sintaxis completa =SIFECHA(fecha_inicial;fecha_final;"Y"), y pulsar Intro. Si aun así no calcula, revisa que las dos fechas estén entre comillas o sean referencias a celdas con valores de fecha válidos.
2. ¿Qué es la función DATEDIF en Excel?
DATEDIF es el nombre en inglés de la función que en español se llama SIFECHA: calcula la diferencia entre dos fechas y la devuelve en años, meses o días según el código que le indiques. Se escribe =SIFECHA(fecha1;fecha2;"Y") para años completos, "M" para meses y "D" para días, y también admite combinaciones como "YM" o "MD". Existe en todas las versiones modernas de Excel, incluidas 2010, 2013, 2016, 2019, 2021, 2024, Microsoft 365 y Excel para la web.
3. ¿Cómo se usa SIFECHA en Excel con ejemplos?
Un ejemplo básico: si A1 es 01/01/2020 y B1 es 15/03/2026, =SIFECHA(A1;B1;"Y") devuelve 6 años completos, =SIFECHA(A1;B1;"M") devuelve 74 meses y =SIFECHA(A1;B1;"D") devuelve 2264 días. Con "YM" obtienes los meses sobrantes después de los años enteros, y con "MD" los días sobrantes tras descontar los meses completos, lo que sirve para calcular edades exactas en años, meses y días.
4. ¿Cómo se llama DATEDIF en la versión en español de Excel?
En Excel en español la función se llama SIFECHA, aunque por compatibilidad interna conserva el nombre inglés DATEDIF. La sintaxis con punto y coma es =SIFECHA(fecha_inicial;fecha_final;"Y"), donde el tercer argumento es un código entre comillas: "Y" para años, "M" para meses, "D" para días, "YM" para meses restantes tras los años y "MD" para días restantes tras los meses. En la celda se muestra la fórmula con SIFECHA, así que el lector que abre tu archivo la ve traducida.
5. ¿Por qué SIFECHA no aparece en Excel 365?
SIFECHA no aparece en Excel 365 ni en ninguna otra versión porque Microsoft la mantiene como función oculta: no está en la galería de la pestaña Fórmulas ni en Insertar función. No es un problema de tu instalación ni de la versión 365, sino un comportamiento esperado desde hace décadas. Para usarla basta con escribirla a mano en la barra de fórmulas, por ejemplo =SIFECHA(A1;B1;"Y"), y presionar Intro para que calcule el resultado.
6. ¿Cómo calculo los años y los meses entre dos fechas en Excel?
La forma más directa es usar SIFECHA con dos referencias: =SIFECHA(A1;B1;"Y") para los años completos y =SIFECHA(A1;B1;"YM") para los meses sobrantes después de descontar los años. Por ejemplo, entre 15/06/2018 y 10/02/2026 obtienes 7 años y 7 meses, que es la base para calcular edades o antigüedad en plantillas de Recursos Humanos. Si quieres los años como número decimal, divide los días totales entre 365,25 con =(B1-A1)/365,25.
7. ¿Qué fórmula uso para obtener años, meses y días entre dos fechas en Excel?
La combinación más limpia usa SIFECHA en tres celdas: =SIFECHA(A1;B1;"Y") para los años, =SIFECHA(A1;B1;"YM") para los meses restantes y =SIFECHA(A1;B1;"MD") para los días restantes. Luego los concatenas con =SIFECHA(A1;B1;"Y")&" años, "&SIFECHA(A1;B1;"YM")&" meses y "&SIFECHA(A1;B1;"MD")&" días", y obtienes un texto del estilo «7 años, 3 meses y 12 días». Esta fórmula funciona en Excel 2010, 2013, 2016, 2019, 2021, 2024 y Microsoft 365.
Fuentes
- Microsoft=SIFECHA | Microsoft Community Hubconsultado el 13/10/2026
- MicrosoftSIFECHA — documentación oficialconsultado el 13/10/2026
- Microsoft#¿NOMBRE? — documentación oficialconsultado el 13/10/2026
- MicrosoftRange.Formula, FormulaLocal, FormulaR1C1 y FormulaR1C1Local — documentación oficialconsultado el 13/10/2026
- MicrosoftASC — documentación oficialconsultado el 13/10/2026