Tabla de contenido
En este tutorial, encontrará una explicación sencilla de la función DATEDIF de Excel y algunos ejemplos de fórmulas que demuestran cómo comparar fechas y calcular la diferencia en días, semanas, meses o años.
Durante las últimas semanas, hemos investigado casi todos los aspectos del trabajo con fechas y horas en Excel. Si has seguido nuestra serie de blogs, ya sabes cómo insertar y dar formato a las fechas en tus hojas de cálculo, cómo calcular días de la semana, semanas, meses y años, así como sumar y restar fechas.
En este tutorial, nos centraremos en el cálculo de la diferencia de fechas en Excel y aprenderás diferentes formas de contar el número de días, semanas, meses y años entre dos fechas.
Encuentre fácilmente la diferencia entre dos fechas en Excel
Obtenga el resultado como una fórmula lista en años, meses, semanas o días
Seguir leyendoAñadir y restar fechas en un par de clics
Delegue la creación de fórmulas de fecha y hora en un experto
Seguir leyendoCalcular la edad en Excel sobre la marcha
Y consigue una fórmula a medida
Seguir leyendoFunción DATEDIF de Excel - obtener diferencia de fechas
Como su nombre indica, la función DATEDIF sirve para calcular la diferencia entre dos fechas.
DATEDIF es una de las pocas funciones no documentadas de Excel, y como está "oculta", no la encontrará en la tabla Fórmula Por eso es importante conocer la sintaxis completa de DATEDIF de Excel para poder utilizarla en tus fórmulas.
Función DATEDIF de Excel - sintaxis
La sintaxis de la función DATEDIF de Excel es la siguiente:
DATEDIF(fecha_inicio, fecha_fin, unidad)Los tres argumentos son necesarios:
Fecha_inicio - la fecha inicial del periodo que desea calcular.
Fecha_final - la fecha de finalización del periodo.
Unidad - la unidad de tiempo que se utilizará para calcular la diferencia entre dos fechas. Al proporcionar diferentes unidades, puede hacer que la función DATEDIF devuelva la diferencia de fecha en días, meses o años. En total, hay 6 unidades disponibles, que se describen en la siguiente tabla.
Unidad | Significado | Explicación |
Y | Años | Número de años completos entre las fechas de inicio y fin. |
M | Meses | Número de meses completos entre las fechas. |
D | Días | Número de días entre la fecha de inicio y la fecha final. |
MD | Días, excluidos años y meses | La diferencia de fecha en días, ignorando meses y años. |
YD | Días sin contar años | La diferencia de fecha en días, ignorando los años. |
YM | Meses, excepto días y años | La diferencia de fecha en meses, ignorando días y años. |
Fórmula DATEDIF de Excel
Para obtener la diferencia entre dos fechas en Excel, lo principal es proporcionar las fechas inicial y final a la función DATEDIF. Esto puede hacerse de varias maneras, siempre que Excel pueda entender e interpretar correctamente las fechas suministradas.
Referencias celulares
La forma más sencilla de hacer una fórmula DATEDIF en Excel es introducir dos fechas válidas en celdas separadas y hacer referencia a esas celdas. Por ejemplo, la siguiente fórmula cuenta el número de días entre las fechas de las celdas A1 y B1:
=DATEDIF(A1, B1, "d")
Cadenas de texto
Excel entiende las fechas en muchos formatos de texto, como "1-Ene-2023", "1/1/2023", "1 de enero de 2023", etc. Las fechas como cadenas de texto entre comillas se pueden escribir directamente en los argumentos de una fórmula. Por ejemplo, así es como se puede calcular el número de meses entre las fechas especificadas:
=DATEDIF("1/1/2023", "31/12/2025", "m")
Números de serie
Dado que Microsoft Excel almacena cada fecha como un número de serie que comienza el 1 de enero de 1900, se utilizan los números correspondientes a las fechas. Aunque es compatible, este método no es fiable porque la numeración de las fechas varía en los distintos sistemas informáticos. En el sistema de fechas de 1900, puede utilizar la fórmula siguiente para hallar el número de años entre dos fechas, 1-Ene-2023 y 31-Dic-2025:
=DATEDIF(44927, 46022, "y")
Resultados de otras funciones
Para saber cuántos días hay entre hoy y el 20 de mayo de 2025, ésta es la fórmula que hay que utilizar.
=DATEDIF(HOY(), "5/20/2025", "d")
¡Nota: En sus fórmulas, la fecha final debe ser siempre mayor que la fecha inicial, de lo contrario la función DATEDIF de Excel devolverá el error #NUM!
Esperemos que la información anterior haya sido útil para comprender los conceptos básicos. Y ahora, veamos cómo puede utilizar la función DATEDIF de Excel para comparar fechas en sus hojas de cálculo y devolver la diferencia.
Cómo obtener el número de días entre dos fechas en Excel
Si ha observado detenidamente los argumentos de DATEDIF, se habrá dado cuenta de que existen 3 unidades diferentes para contar los días entre las fechas. Cuál utilizar dependerá exactamente de cuáles sean sus necesidades.
Ejemplo 1. Fórmula DATEDIF de Excel para calcular la diferencia de fechas en días
Supongamos que tenemos la fecha de inicio en la celda A2 y la fecha final en la celda B2 y queremos que Excel nos devuelva la diferencia de fechas en días. Una simple fórmula DATEDIF funciona perfectamente:
=DATEDIF(A2, B2, "d")
Siempre que un valor en el argumento fecha_inicial sea menor que en fecha_final. En caso de que la fecha inicial sea mayor que la fecha final, la función DATEDIF de Excel devuelve el error #NUM, como en la fila 5:
Si está buscando una fórmula que pueda devolver la diferencia de fechas en días como un número positivo o negativo, simplemente reste una fecha directamente de la otra:
=B2-A2
Consulte Cómo restar fechas en Excel para obtener información detallada y más ejemplos de fórmulas.
Ejemplo 2. Contar días en Excel ignorando años
Supongamos que tiene dos listas de fechas que pertenecen a años diferentes y desea calcular el número de días entre las fechas como si fueran del mismo año. Para ello, utilice una fórmula DATEDIF con la unidad "YD":
=DATEDIF(A2, B2, "yd")
Si desea que la función DATEDIF de Excel ignore no sólo los años, sino también los meses, utilice la unidad "md". En este caso, su fórmula calculará los días entre dos fechas como si fueran del mismo mes y del mismo año:
=DATEDIF(A2, B2, "md")
La siguiente captura de pantalla muestra los resultados, y compararla con la captura de pantalla anterior puede ayudar a comprender mejor la diferencia.
Consejo: para obtener el número de días laborables entre dos fechas, utilice la función NETWORKDAYS o NETWORKDAYS.INTL.
Cómo calcular la diferencia de fechas en semanas
Como probablemente haya notado, la función DATEDIF de Excel no tiene una unidad especial para calcular la diferencia de fechas en semanas. Sin embargo, existe una solución fácil.
Para averiguar cuántas semanas hay entre dos fechas, puede utilizar la función DATEDIF con la unidad "D" para devolver la diferencia en días y, a continuación, dividir el resultado por 7.
Para obtener el número de semanas completas entre las fechas, envuelva su fórmula DATEDIF en la función ROUNDDOWN, que siempre redondea el número hacia cero:
=REDONDO((DATEDIF(A2, B2, "d")) / 7), 0)
Donde A2 es la fecha de inicio y B2 es la fecha final del periodo que se está calculando.
Cómo calcular el número de meses entre dos fechas en Excel
De forma similar al recuento de días, la función DATEDIF de Excel puede calcular el número de meses entre dos fechas que especifique. Dependiendo de la unidad que suministre, la fórmula producirá resultados diferentes.
Ejemplo 1. Calcular meses completos entre dos fechas (DATEDIF)
Para contar el número de meses enteros entre las fechas, se utiliza la función DATEDIF con la unidad "M". Por ejemplo, la siguiente fórmula compara las fechas en A2 (fecha de inicio) y B2 (fecha final) y devuelve la diferencia en meses:
=DATEDIF(A2, B2, "m")
Nota: Para que la fórmula DATEDIF calcule los meses correctamente, la fecha final debe ser siempre mayor que la fecha inicial; de lo contrario, la fórmula devuelve el error #NUM.
Para evitar estos errores, puede forzar a Excel a percibir siempre una fecha más antigua como fecha de inicio y una fecha más reciente como fecha final. Para ello, añada una sencilla prueba lógica:
=IF(B2>A2, DATEDIF(A2,B2, "m"), DATEDIF(B2,A2, "m"))
Ejemplo 2. Obtener el número de meses entre dos fechas ignorando los años (DATEDIF)
Para contar el número de meses entre las fechas como si fueran del mismo año, escriba "YM" en el argumento de la unidad:
=DATEDIF(A2, B2, "ym")
Como puede ver, esta fórmula también devuelve un error en la fila 6, donde la fecha final es menor que la fecha inicial. Si su conjunto de datos puede contener tales fechas, encontrará la solución en los siguientes ejemplos.
Ejemplo 3. Cálculo de meses entre dos fechas (función MES)
Una forma alternativa de calcular el número de meses entre dos fechas en Excel es utilizar la función MES, o más exactamente una combinación de las funciones MES y AÑO:
=(AÑO(B2) - AÑO(A2))*12 + MES(B2) - MES(A2)
Por supuesto, esta fórmula no es tan transparente como DATEDIF y lleva tiempo entender la lógica, pero a diferencia de la función DATEDIF, puede comparar dos fechas cualesquiera y devolver la diferencia en meses como valor positivo o negativo:
Observe que la fórmula AÑO/MES no tiene ningún problema para calcular los meses de la fila 6 en los que la fecha de inicio es más reciente que la fecha final, el escenario en el que falla una fórmula DATEDIF análoga.
Nota: Los resultados de las fórmulas DATEDIF y YEAR/MONTH no siempre son idénticos, ya que se basan en principios diferentes. La función DATEDIF de Excel devuelve el número de meses naturales completos entre las fechas, mientras que la fórmula AÑO/MES opera con los números de los meses.
Por ejemplo, en la fila 7 de la captura de pantalla anterior, la fórmula DATEDIF devuelve 0 porque aún no ha transcurrido un mes natural completo entre las fechas, mientras que YEAR/MONTH devuelve 1 porque las fechas pertenecen a meses diferentes.
Ejemplo 4. Contar los meses entre 2 fechas ignorando los años (función MES)
En caso de que todas tus fechas sean del mismo año, o quieras calcular los meses entre las fechas ignorando los años, puedes la función MES para recuperar el mes de cada fecha, y luego restar un mes del otro:
=MES(B2) - MES(A2)
Esta fórmula funciona de forma similar a DATEDIF de Excel con la unidad "YM" como se demuestra en la siguiente captura de pantalla:
Sin embargo, los resultados devueltos por las dos fórmulas difieren en un par de filas:
- Fila 4: la fecha final es menor que la fecha inicial y, por tanto, DATEDIF devuelve un error, mientras que MONTH-MONTH arroja un valor negativo.
- Fila 6: las fechas son de meses diferentes, pero la diferencia real de fechas es de sólo un día. DATEDIF devuelve 0 porque calcula meses enteros entre 2 fechas. MONTH-MONTH devuelve 1 porque resta los números de los meses entre sí ignorando días y años.
Cómo calcular los años entre dos fechas en Excel
Si has seguido los ejemplos anteriores en los que calculamos los meses y los días entre dos fechas, entonces puedes derivar fácilmente una fórmula para calcular años en Excel. Los siguientes ejemplos pueden ayudarte a comprobar si has acertado con la fórmula :)
Ejemplo 1. Cálculo de años completos entre dos fechas (función DATEDIF)
Para averiguar el número de años naturales completos entre dos fechas, utilice el viejo y bueno DATEDIF con la unidad "Y":
=DATEDIF(A2,B2, "y")
Observe que la fórmula DATEDIF devuelve 0 en la fila 6, aunque las fechas sean de años diferentes. Esto se debe a que el número de años naturales completos entre las fechas inicial y final es igual a cero. Y creo que no le sorprenderá ver el error #NUM! en la fila 7, donde la fecha inicial es más reciente que la fecha final.
Ejemplo 2. Cálculo de años entre dos fechas (función YEAR)
Una forma alternativa de calcular los años en Excel es utilizar la función AÑO. De forma similar a la fórmula MES, se extrae el año de cada fecha y luego se restan los años entre sí:
=AÑO(B2) - AÑO(A2)
En la siguiente captura de pantalla, puede comparar los resultados devueltos por las funciones DATEDIF y YEAR:
En la mayoría de los casos, los resultados son idénticos, salvo que:
- La función DATEDIF calcula años naturales completos, mientras que la fórmula YEAR simplemente resta un año del otro. La fila 6 ilustra la diferencia.
- La fórmula DATEDIF devuelve un error si la fecha de inicio es mayor que la fecha final, mientras que la función YEAR devuelve un valor negativo, como en la fila 7.
Cómo obtener la diferencia de fechas en días, meses y años
Para contar el número de años, meses y días completos entre dos fechas en una sola fórmula, basta con concatenar tres funciones DATEDIF:
=DATEDIF(A2, B2, "y") &" años, "&DATEDIF(A2, B2, "ym") &" meses, " &DATEDIF(A2, B2, "md") &" días"
Si prefiere no mostrar valores cero, puede envolver cada DATEDIF en la función IF de la siguiente manera:
=IF(DATEDIF(A2,B2, "y")=0, "", DATEDIF(A2,B2, "y") & " años ") & IF(DATEDIF(A2,B2, "ym")=0,"", DATEDIF(A2,B2, "ym") & " meses ") & IF(DATEDIF(A2, B2, "md")=0, "", DATEDIF(A2, B2, "md") & " días"
La fórmula sólo muestra elementos distintos de cero, como se muestra en la siguiente captura de pantalla:
Para otras formas de obtener la diferencia de fechas en días, vea Cómo calcular días desde o hasta la fecha en Excel.
Fórmulas DATEDIF para calcular la edad en Excel
De hecho, calcular la edad de alguien basándose en la fecha de nacimiento es un caso especial de cálculo de diferencia de fechas en Excel, donde la fecha final es la fecha de hoy. Por lo tanto, se utiliza una fórmula DATEDIF habitual con la unidad "Y" que devuelve el número de años entre las fechas, y se introduce la función TODAY() en el argumento end_date:
=DATEDIF(A2, HOY(), "y")
Donde A2 es la fecha de nacimiento.
La fórmula anterior calcula el número de años completos. Si prefiere obtener la edad exacta, incluyendo años, meses y días, concatene tres funciones DATEDIF como hicimos en el ejemplo anterior:
=DATEDIF(B2,TODAY(), "y") & " Años, " & DATEDIF(B2,TODAY(), "ym") & " Meses, " & DATEDIF(B2,TODAY(), "md") & " Días"
Y obtendrá el siguiente resultado:
Para conocer otros métodos de conversión de una fecha de nacimiento en edad, consulta Cómo calcular la edad a partir de la fecha de nacimiento.
Date & Time Wizard - manera fácil de construir fórmulas de diferencia de fecha en Excel
Como se demostró en la primera parte de este tutorial, DATEDIF de Excel es una función muy versátil adecuada para una gran variedad de usos diferentes. Sin embargo, tiene un inconveniente importante: no está documentada por Microsoft, lo que significa que no encontrará DATEDIF en la lista de funciones ni verá ninguna información sobre herramientas de argumentos cuando empiece a escribir una fórmula en una celda. Para poder utilizar la función DATEDIF enen sus hojas de cálculo, tiene que recordar su sintaxis e introducir todos los argumentos manualmente, lo que puede llevar mucho tiempo y dar lugar a errores, especialmente para los principiantes.
Ultimate Suite para Excel cambia esto radicalmente, ya que ahora proporciona la Asistente de fecha y hora que puede hacer que casi cualquier fórmula de diferencia de fecha en ningún momento. He aquí cómo:
- Seleccione la celda en la que desea insertar la fórmula.
- Ir a la Herramientas Ablebits tab> Fecha & Hora y haga clic en el botón Asistente de fecha y hora botón:
- Haga clic en el botón Fecha 1 (o haga clic en el botón Contraer diálogo a la derecha de la casilla) y seleccione una celda que contenga la primera fecha.
- Haga clic en el botón Fecha 2 y seleccione una celda con la segunda fecha.
- Seleccione la unidad o combinación de unidades deseada en el menú Diferencia en Al hacerlo, el asistente le permite previsualizar el resultado en el cuadro y la fórmula en la celda.
- Si está satisfecho con la vista previa, pulse el botón Insertar fórmula de lo contrario, pruebe con otras unidades.
Por ejemplo, así es como se puede obtener el número de días entre dos fechas en Excel:
Una vez insertada la fórmula en la celda seleccionada, puede copiarla en otras celdas como de costumbre haciendo doble clic o arrastrando el tirador de relleno. El resultado tendrá un aspecto similar al siguiente:
Para presentar los resultados de la forma más adecuada, existen algunas opciones adicionales:
- Excluir años y/o excluir meses de los cálculos.
- Mostrar o no mostrar etiquetas de texto como días , meses , semanas y años .
- Mostrar o no mostrar cero unidades .
- Devolver los resultados como valores negativos si la Fecha 1 (fecha de inicio) es mayor que la Fecha 2 (fecha de fin).
Como ejemplo, obtengamos la diferencia entre dos fechas en años, meses, semanas y días, ignorando las unidades cero:
Ventajas de utilizar el Asistente para fórmulas de fecha y hora
Aparte de la velocidad y la simplicidad, el Asistente de Fecha y Hora proporciona algunas ventajas más:
- A diferencia de una fórmula DATEDIF normal, a una fórmula avanzada creada por el asistente no le importa cuál de las dos fechas es menor y cuál es mayor. La diferencia siempre se calcula perfectamente aunque la Fecha 1 (fecha de inicio) sea mayor que la Fecha 2 (fecha final).
- El asistente admite todas las unidades posibles (días, semanas, meses y años) y permite elegir entre 11 combinaciones diferentes de estas unidades.
- Las fórmulas que el asistente crea para usted son fórmulas normales de Excel, por lo que puede editarlas, copiarlas o moverlas como de costumbre. También puede compartir sus hojas de trabajo con otras personas, y todas las fórmulas permanecerán en su lugar, incluso si alguien no tiene Ultimate Suite en su Excel.
Así se calcula la diferencia entre dos fechas en varios intervalos de tiempo. Esperamos que la función DATEDIF y otras fórmulas que has aprendido hoy te resulten útiles en tu trabajo.
Descargas disponibles
Ultimate Suite 14 días versión totalmente funcional (archivo .exe)