La función DATEDIF en Excel calcula la diferencia entre dos fechas. A menudo determina la edad, la tenencia o los períodos entre fechas.
Calcular la diferencia entre 2 fechas no es fácil en Excel. Debe considerar si desea obtener un resultado en función del intervalo de meses, los años, o ambos.
¿Cuál es el problema?
Supongamos que tienes estas 2 fechas.
- 28/07/2017
- 05/08/2017
El resultado entre estas 2 fechas es 9 días. Pero los meses no son los mismos. 😱😱. Entonces si usamos el Función MES, el resultado es 1, y es MAL
La función DATEDIF está oculta 🤨🤔
El ejemplo anterior mostró que calcular el la diferencia entre 2 fechas NUNCA es fácil. Pero ¿cómo queremos devolver el resultado?
- ¿Por año?
- ¿Por mes?
- ¿O por mes en un año?
Para realizar todos estos cálculos, Excel tiene una función increíble para realizar todos los diferentes cálculos entre 2 fechas. Es el Función DATEDIF. Desafortunadamente, esta función está oculta (¿qué... qué?) 😲😲😲
Para saberlo, abre la ayuda de esta función. No lo verás en la lista de funciones, pero funciona perfectamente (son raras en Microsoft)
La función FECHASI en Excel
La función DATEDIF toma tres argumentos:
- Fecha de inicio:Esta es la fecha de inicio del período que desea calcular. Esta fecha debe ser anterior a la Fecha final.
- Fecha final:Esta es la fecha de finalización del período. Fecha final debe ser en o después de la Fecha de inicio.
- Unidad de tiempo: Los Unidad especifica el tipo de diferencia que desea calcular entre las dos fechas
=FECHASI(Fecha de inicio, Fecha final, Unidad)
El rd El argumento de la función es el más importante 💡
Los primeros 3 códigos son fáciles de entender.
- "Y": Devuelve el número de años completos entre las fechas de inicio y finalización.
- "METRO": Devuelve el número de meses completos entre las fechas.
- "D": Devuelve el número de días entre las fechas
Los otros códigos devuelven un valor dentro de los límites de mes o día.
- "MARYLAND": Devuelve la diferencia en días, ignorando meses y años; resultados entre 0 y 30
- "YM" devuelve la diferencia en meses, ignorando días y años; el resultado está entre 0 y 11.
- "YARDA": Devuelve la diferencia en días, ignorando años; resultados entre 0 y 364
Calcular la antigüedad
En la columna B, tenemos las fechas de contratación de nuestros empleados. La segunda fecha es la fecha actual devuelta por la función HOY.
Para cada columna, tenemos las siguientes fórmulas
- por los años
- =FECHASI($B5,$D$1,"Y")
- Para los meses dentro de un año
- =FECHASI($B5,$D$1,"YM")
- Para los días dentro de un mes
- =FECHASI($B5,$D$1,"MD")

31/12/2020 a las 18:12
¿Cómo puedo sumar 1 año 9 meses 29 días con 1 año 5 meses 5 días?
25/03/2023 a las 16:52
Para el cálculo de fecha del tipo que usted pregunta, no puede haber respuesta a menos que se simplifique el calendario de modo que cada año tenga 360 días y cada mes tenga 30 días. El resultado será útil para muchos propósitos, pero no para agregar un intervalo de fechas a una fecha del calendario.
días = mod(día1 + día2, 30)
meses = mod(mes1 + mes 2 + int( (día1 + día2)/30), 12)
años = año1 + año2 + int( (mes1 + mes2 + int( (día1 + día2)/30 ) )/12)
por ejemplo;
días = mod(29+5,30) = mod(34,30) = 4
meses = mod(9 + 5+ int( (29 + 5)/30), 12) = mod(9 + 5+ int( 34/30), 12) = mod(9 + 5+ 1, 12) = mod (9 + 5+ 1, 12) = mod(15,2) = 3
años = 1 + 1 + int( (9 + 5+ int( (29 + 5)/30 ) )/12) = 1+1+int((9+5+1)/12) = 1+1+1 = 3
3 años 3 meses 4 días
Los intervalos de fechas que se agregan deben calcularse como una diferencia de fechas usando DAYS360(inicio, fin)
el lapso resultante es;
días = mod(DÍAS360(inicio, fin),30)
meses = mod(int(DIAS360(inicio, fin)/30),12)
años = int(int(DIAS360(inicio, fin)/30)/12)