CSV a Excel

SIFECHA en Excel: qué es y cómo se usa

octubre 13, 2026 Tuto Excel 14 min read
SIFECHA en Excel: qué es y cómo se usa

Calcular el tiempo exacto entre dos fechas en Excel parece fácil hasta que lo haces a mano: descontar meses, contar días sueltos y ajustar años bisiestos se vuelve un lío. La función SIFECHA (DATEDIF) existe justo para eso: le pasas una fecha inicial, una fecha final y una letra, y te devuelve los años, los meses o los días completos que hay entre las dos. En este tutorial la vas a usar sobre una hoja real de empleados, desde el cálculo más básico hasta combinarla con HOY y con SI para que la antigüedad se actualice sola. Al terminar sabrás montar una antigüedad completa y entender los errores más típicos de esta función.

SIFECHA está en Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024, Microsoft 365, Excel para Mac y Excel para la web: en cualquiera de estas versiones funciona igual.

Qué es SIFECHA y para qué sirve en una hoja de cálculo

Imagina la hoja Empleados de una empresa: en la columna A está la fecha en que cada persona entró a trabajar y en la columna B está la fecha de baja (o está vacía si sigue en plantilla). Lo que necesitas saber, en una columna al lado, es cuántos años, meses y días lleva cada uno en la empresa, pero con la regla de «años completos, meses completos después del último año, y días completos después del último mes». Hacer eso a mano implica restar fechas, ajustar meses de 28, 30 o 31 días y contar años bisiestos.

SIFECHA (en inglés DATEDIF) automatiza ese cálculo. Tú le das dos fechas y una letra, y ella devuelve el número de unidades completas que encajan entre las dos. Lo bueno es que no se limita a una sola unidad: le pides los años, los meses tras ese último año, o los días que sobran, y luego tú unes los tres resultados con un texto.

Sobre la hoja Empleados eso significa que en una sola fila puedes escribir 15 años, 3 meses y 12 días sin tener que pensar en calendarios. La función respeta lo que ya hay en la celda: si la fecha final es la fecha de baja, calcula hasta ese día; si la celda está vacía, usaremos HOY para que la antigüedad se recalcule cada día automáticamente.

Nota: En este artículo las fórmulas usan punto y coma para separar argumentos, el formato de Excel en español. Si tu Excel está configurado con punto decimal (México, Estados Unidos), el separador será la coma.

La sintaxis de SIFECHA y sus tres argumentos

La sintaxis completa es:

=SIFECHA(fecha_inicial;fecha_final;unidad)

Los dos primeros argumentos son fechas, el tercero es una cadena de texto entre comillas que indica qué quieres contar. No hay cuarto argumento ni opciones avanzadas: la función hace una sola cosa, pero la hace muy bien.

fecha_inicial y fecha_final: las dos fechas del cálculo

Las dos fechas se pasan igual que en cualquier otra función de fechas: o bien haciendo referencia a una celda (A2), o bien construyéndolas con la función FECHA(año;mes;día). Por ejemplo, =SIFECHA(FECHA(2018;4;15);FECHA(2026;10;1);"Y") te devuelve los años completos entre esas dos fechas exactas, sin importar en qué celda estés.

La regla dura es que fecha_inicial debe ser anterior o igual a fecha_final. Si la inviertes, SIFECHA devuelve el error #¡NUM! sin avisar: no interpreta que «querías la diferencia en valor absoluto», simplemente falla. La solución, cuando no sepas cuál es la más antigua, es usar MIN y MAX:

=SIFECHA(MIN(A2;B2);MAX(A2;B2);"Y")

Así le das siempre la menor primero y la mayor después, y la función calcula sin protestar.

unidad: las seis letras que cambian el resultado

El tercer argumento es una letra entre comillas. Hay seis posibles y cada una devuelve un trozo distinto del calendario:

Unidad Lo que cuenta Ejemplo entre 15/04/2018 y 01/10/2026
"Y" Años completos 8
"M" Meses completos 101
"D" Días totales 3091
"YM" Meses tras el último año cumplido 5
"MD" Días tras el último mes cumplido 16
"YD" Días tras el último año cumplido 169

La letra no distingue mayúsculas: "Y" y "y" dan el mismo resultado. Lo importante es escribirla entre comillas, si no Excel la interpreta como un nombre y devuelve #¿NOMBRE?.

Por qué SIFECHA no aparece en el asistente de funciones

Si abres el asistente de Excel (el botón fx junto a la barra de fórmulas) y buscas SIFECHA, no la encuentras. Tampoco se autocompleta al escribir =SIF... en una celda. Esto se debe a que la función viene de Lotus 1-2-3, el programa de hojas de cálculo anterior a Excel, y Microsoft nunca la integró en los asistentes modernos. Hay que escribirla a mano.

Nota: Aunque no aparezca en el asistente, SIFECHA funciona en Excel 2007, 2010, 2013, 2016, 2019, 2021, 2024, Microsoft 365, Excel para Mac y Excel para la web. La ausencia en el catálogo no significa que esté oculta o en desuso.

Calcular los años, meses y días de antigüedad entre dos fechas

Empezamos con la hoja Empleados ya montada. En la columna A tienes la fecha de alta de cada persona, en B1 la fecha final (que por ahora será HOY) y en C, D y E las tres unidades que forman la antigüedad.

B1fx=HOY()
A B C D E F
1 Fecha de alta Fecha final Años Meses Días Antigüedad completa
2 15/04/2018 01/10/2026 8 5 16 8 años, 5 meses y 16 días
3 10/03/2020 01/10/2026 6 6 21 6 años, 6 meses y 21 días
4 01/06/2015 01/10/2026 11 4 0 11 años, 4 meses y 0 días
5 22/11/2019 01/10/2026 6 10 9 6 años, 10 meses y 9 días
6 05/09/2017 01/10/2026 9 0 26 9 años, 0 meses y 26 días
Empleados

La fórmula para los años completos en C2 es:

=SIFECHA(A2;$B$1;"Y")

Fíjate en el $ delante de B y de 1: al arrastrar el controlador de relleno hacia abajo, queremos que la fecha final quede fija en B1 y solo cambie la fila de la fecha de alta. La columna D usa la misma idea pero con "YM" para los meses que sobran después del último año, y la E con "MD" para los días que sobran después del último mes.

Por último, en F concatenamos los tres resultados con el operador & para que la antigüedad se lea como una frase:

=C2 & " años, " & D2 & " meses y " & E2 & " días"
Comprueba: En F2 deberías ver 8 años, 5 meses y 16 días. Si solo ves un número o #¡NUM!, revisa que B1 tenga una fecha real (no texto) y que la fecha de alta en A2 sea anterior a B1.

Una sola SIFECHA para saber la edad en años

Si lo único que necesitas es la edad de cada persona en años cumplidos, basta con pedirle a SIFECHA la unidad "Y" y pasarle HOY() como fecha final. La fórmula va directamente en la celda de al lado:

B2fx=SIFECHA(A2;HOY();"Y")
A B
1 Fecha de nacimiento Edad
2 15/04/2018 8
3 10/03/2020 6
4 01/06/2015 11
5 22/11/2019 6
6 05/09/2017 9
Empleados

=SIFECHA(A2;HOY();"Y")

Esta fórmula se arrastra hacia abajo y Excel recalcula la edad cada vez que abres el archivo, porque HOY() devuelve la fecha del sistema en el momento de abrir.

Cuidado: La edad se queda congelada en la fecha en que abriste el libro por última vez hasta que Excel recalcule. Si quieres forzarlo, pulsa F9 o Ctrl+Alt+F9.

Contar meses o días completos entre dos fechas

A veces, en lugar de años, lo que necesitas son los meses o los días totales (por ejemplo, para calcular una indemnización que se paga por mes trabajado, o para saber los días exactos de un proyecto). Solo hay que cambiar la unidad:

=SIFECHA(A2;$B$1;"M")
=SIFECHA(A2;$B$1;"D")

Con los mismos datos del primer ejemplo, entre el 15/04/2018 y el 01/10/2026 hay 101 meses completos y 3.091 días. La unidad "M" te sirve para cálculos de antigüedad expresados en meses, y "D" para plazos o vencimientos medidos en días.

Comprueba: En la celda de meses completos deberías ver 101, y en la de días, 3.091. Si ves un valor mucho menor, probablemente la fecha final está en formato de texto: selecciónala y aplica formato de fecha corta.

Combinar SIFECHA con HOY y con MIN/MAX para datos cambiantes

El caso más útil en una hoja de empleados es este: la columna A tiene la fecha de alta y la columna B tiene la fecha de baja, pero está vacía para quien sigue en plantilla. Queremos que la antigüedad se calcule hasta HOY si la baja está vacía, o hasta la fecha de baja si está escrita. La función SI se encarga de elegir:

=SI(B2="";SIFECHA(A2;HOY();"Y");SIFECHA(A2;B2;"Y"))

Si B2 está vacío, SIFECHA calcula hasta hoy; si tiene una fecha, calcula hasta esa fecha. La misma idea se aplica a "YM" y "MD" para sacar los meses y los días que faltan. Y para no liarte con los argumentos, conviene tener en la fila 1 dos celdas auxiliares con la fecha más antigua y la más reciente del rango:

=MIN(A2:A6)
=MAX(A2:A6)
G2fx=SI(B2="";SIFECHA(A2;HOY();"Y");SIFECHA(A2;B2;"Y"))
A B C D E F G
1 Fecha de alta Fecha de baja Mín. Máx.
2 15/04/2018 10/01/2025 01/06/2015 22/11/2019
3 10/03/2020
4 01/06/2015 03/07/2024
5 22/11/2019
6 05/09/2017 28/02/2023
Empleados
Comprueba: La columna G debería mostrar la antigüedad en años hasta la fecha actual para los empleados sin baja, y hasta su fecha de baja para los demás. Si una fila da 0 cuando debería dar más, asegúrate de que la celda B no tenga un espacio en blanco: usa ESBLANCO(B2) para detectarlo.

Por qué SIFECHA devuelve #¡NUM!, #¡VALOR! o un resultado raro

SIFECHA no tiene muchos errores, pero los que tiene son muy concretos. Conocerlos te ahorra media hora de búsquedas.

#¡NUM! cuando la fecha inicial es posterior a la final

Si pones la fecha más reciente en fecha_inicial y la más antigua en fecha_final, SIFECHA devuelve #¡NUM! sin contemplaciones. Por ejemplo, con A2 = 15/03/2026 y B2 = 10/01/2026:

C2fx=SIFECHA(A2;B2;"Y")
A B C
1 Fecha inicial Fecha final Resultado
2 15/03/2026 10/01/2026 #¡NUM!
3 10/01/2026 15/03/2026 0
4 10/01/2026 15/03/2026 0
Empleados

La fórmula que lo arregla es la que usa MIN y MAX para garantizar el orden:

=SIFECHA(MIN(A2;B2);MAX(A2;B2);"Y")

#¡VALOR! cuando una fecha es texto

Si en vez de una fecha numérica escribes algo como 15 de marzo de 2026 o marzo 2026, SIFECHA no lo reconoce como fecha y devuelve #¡VALOR!. La celda luce como una fecha, pero por dentro es texto:

C2fx=SIFECHA(A2;B2;"Y")
A B C
1 Fecha inicial Fecha final Resultado
2 15/03/2026 quince de marzo de 2026 #¡VALOR!
Empleados

La solución es reconstruir la fecha con la función FECHA, que sí es numérica:

=SIFECHA(A2;FECHA(2026;3;15);"Y")

O bien reemplazar el texto por una fecha real con formato de fecha corta desde Inicio > Número > Formato.

La unidad "MD" da cifras negativas o cero

Este es el error más traicionero porque la fórmula no falla: devuelve un número, pero incorrecto. Entre el 31/01/2026 y el 01/03/2026, "MD" da -2 en lugar de los 29 días que esperarías:

C2fx=SIFECHA(A2;B2;"MD")
A B C
1 Fecha inicial Fecha final MD
2 31/01/2026 01/03/2026 -2
Empleados

Esto ocurre porque "MD" resta los días sin pasar por los meses, y cuando el día inicial es mayor que el final, sale negativo o cero. Microsoft desaconseja usar "MD" por este motivo y propone, en su lugar, calcular la diferencia de días con un truco basado en FECHA:

=FECHA(AÑO(B2);MES(B2);1)-FECHA(AÑO(A2);MES(A2)+SIFECHA(A2;B2;"YM");1)+DIA(A2)-1

Si solo quieres una antigüedad limpia, lo más seguro es usar "D" (días totales) y olvidarte de "MD" para ese dato.

Lo que ya sabes hacer con SIFECHA y el siguiente paso

  • La sintaxis es =SIFECHA(fecha_inicial;fecha_final;unidad) con punto y coma entre argumentos y la unidad entre comillas.
  • Las seis unidades disponibles son "Y", "M", "D", "YM", "MD" y "YD"; cada una devuelve un trozo distinto del calendario.
  • Para una antigüedad completa se combinan "Y" + "YM" + "MD" con el operador & y se concatenan los tres números en una frase.
  • HOY() como fecha_final hace que la antigüedad se recalcule cada día sin tocar la fórmula.
  • Evita la unidad "MD" cuando los días del mes inicial sean mayores que los del mes final, porque puede dar resultados negativos o cero.

El siguiente paso natural es aprender DIAS.LAB (NETWORKDAYS), que cuenta solo los días laborables entre dos fechas (de lunes a viernes, descartando fines de semana y los festivos que tú le indiques). Es la función ideal para calcular plazos de proyectos, vencimientos de facturas o días hábiles trabajados.

Dudas al usar SIFECHA

  • ¿Por qué SIFECHA no aparece al buscar funciones en Excel?
  • ¿Cómo calculo la antigüedad de un empleado que sigue en plantilla?
  • ¿Qué significa cada letra del argumento unidad en SIFECHA?
  • ¿Por qué SIFECHA devuelve un número negativo o cero en algunas fechas?
  • ¿SIFECHA sirve en Excel 2016 o 2019?
  • ¿Cuál es la diferencia entre SIFECHA y la función DIAS?
  • ¿Cómo calculo años, meses y días en una sola celda?
  • ¿Se puede usar SIFECHA con la función HOY para datos que cambian?

Dudas al usar SIFECHA

1. ¿Por qué no me aparece la función SIFECHA al escribirla en Excel?

SIFECHA no aparece en el asistente de Insertar función (Fórmulas > Insertar función) porque es una función «oculta» que Excel mantiene por compatibilidad con Lotus 1-2-3. Sigue funcionando: simplemente escríbela directamente en la celda con la sintaxis =SIFECHA(fecha_inicial;fecha_final;"Y") y al pulsar Enter calculará los años, meses o días sin mostrarla en la lista.

2. ¿Puedes ponerme ejemplos prácticos de SIFECHA en Excel?

Con =SIFECHA(A1;B1;"Y") obtienes los años completos entre dos fechas; con "M" los meses completos, con "D" los días, con "MD" los días sobrantes ignorando meses y años, con "YM" los meses sobrantes y con "YD" los días sobrantes del último año. Por ejemplo, entre 15/03/2018 y 20/10/2026, "Y" devuelve 8 y "M" devuelve 103.

3. ¿Por qué SIFECHA no aparece en Excel 365?

Excel 365 tampoco la muestra en el listado de funciones porque sigue siendo una función documentada como oculta desde sus orígenes. La buena noticia es que sigue calculando igual de bien: solo tienes que escribirla a mano en la barra de fórmulas, respetando los argumentos en español y separados por punto y coma.

4. ¿Qué es DATEDIF en Excel y para qué sirve?

DATEDIF es exactamente la misma función que SIFECHA: «DATEDIF» es su nombre en inglés y «SIFECHA» el nombre en español. Sirve para calcular la diferencia entre dos fechas en años, meses o días completos, lo que la hace ideal para calcular edades, antigüedades o vencimientos.

5. ¿Cómo se escribe DATEDIF en español en Excel?

Su nombre en español es SIFECHA y la sintaxis es =SIFECHA(fecha_inicial;fecha_final;unidad), donde fecha_inicial y fecha_final son celdas con fechas válidas y unidad es un código entre comillas: "Y" para años, "M" para meses, "D" para días, "MD", "YM" o "YD" para los restos. Recuerda usar punto y coma como separador de argumentos.

6. ¿Cuál es el nombre en inglés de la función SIFECHA?

El nombre en inglés de SIFECHA es DATEDIF (de DATE + DIFference, «diferencia de fechas»). Si trabajas con archivos de Excel en inglés o usas VBA, tendrás que escribirla como DATEDIF; en cambio, en una hoja configurada en español la forma correcta es SIFECHA.

7. ¿Cómo extraer solo el mes de una fecha en Excel?

Usa la función MES (=MES(A1)) que devuelve el número del mes, del 1 al 12, a partir de una fecha válida. Si prefieres el nombre del mes, combínala con TEXTO: =TEXTO(A1;"mmmm") devuelve «octubre» y =TEXTO(A1;"mmm") devuelve «oct».

8. ¿Cómo funciona la función SI en Excel?

La función SI evalúa una condición lógica y devuelve un resultado u otro según se cumpla o no. Su sintaxis es =SI(condición;valor_si_verdadero;valor_si_falso); por ejemplo, =SI(A2>=5;"Aprobado";"Suspenso") muestra «Aprobado» cuando la nota es 5 o más y «Suspenso» en caso contrario.

Fuentes

  1. MicrosoftSIFECHA — documentación oficialconsultado el 05/10/2026