Si alguna vez has necesitado calcular la diferencia exacta entre dos fechas en años, meses o días, Excel tiene una función poco conocida pero tremendamente útil: SIFECHA (DATEDIF). Originalmente introducida por compatibilidad con programas antiguos como Lotus 1-2-3, esta función ha sido parte de Excel desde sus primeras versiones y es muy útil para realizar cálculos de periodos entre fechas. Aunque no estuvo documentada en Excel por muchos años, y todavía no muestra ninguna ayuda al escribirla, ya Microsoft dispone de documentación en línea sobre la misma. En este artículo, exploraremos todos los aspectos de esta herramienta.
Esta función no existe
Puede parecer extraño que el iniciar a escribir la función no veamos ningún cuadro de ayuda emergente. Esto nos puede hacer pensar, erróneamente, que la función realmente no existe. Sin embargo, si continuamos escribiéndola e ingresamos sus argumentos, obtendremos un resultado. Veamos entonces la sintaxis y argumentos de esta función:
=SIFECHA(Fecha Inicial, Fecha Final, Unidad)
Como lo mencioné al incio, la función determinará periodos entre dos fechas, por lo tanto, los dos primeros argumentos son muy claros. La Fecha Inicial, será la fecha a partir de la cual deseemos determinar un periodo. También la podemos interpretar como fecha de inicio o fecha más lejana, lo que nos parezca adecuado según nuestro uso. Luego tendremos la Fecha Final o fecha más cercana. Seguidamente viene el argumento unidad y es aquí donde esta función se luce en lo que nos ofrece.
¿Unidad?
Para entender el argumento Unidad debemos tener claro el resultado que estamos buscando. Este nos devolverá el valor entre la fecha inicial y la fecha final, igual a:
«Y» | El número de años completo. |
«M» | El número de meses completos. |
«D» | El número de días en el período. |
«MD» | La diferencia entre los días, pasando por alto los meses y años. |
«YM» | La diferencia entre los meses , pasando por alto los días y años. |
«YD» | La diferencia entre los días, pasando por alto los años de las fechas. |
Así, en caso que necesitemos conocer cuantos años existen entre dos fechas, utilizaremos la unidad «Y». Si necesitamos el número de meses, sin considerar días y años, entonces la opción sería «YM», y así para cada caso. Antes de ver algunos ejemplos, es importante que consideres con cuidado el uso de la unidad «MD», lo cual es advertido directamente por Microsoft en la ayuda del programa. Veremos más adelante el porqué de esa advertencia. De momento, veamos los resultados que se generan con algunos ejemplos:
Como podrás observar, considerando que ambas fechas, inicial y final se encuentran en el mismo año, verás que el resultado de la función para el primer caso es cero (0), lo cual significa que entre ambas fechas aún no ha transcurrido un año. Para el segundo y tercer caso, el resultado es igual para quinto y sexto caso, esto debido a que estamos dentro del mismo año.
El resultado del cuarto caso te puede sorprender, pero en este caso está correcto, si sólo consideramos los dias, entre el día 1 y el día 19 hay 18 días. Repito, en este caso no se están considerando meses ni años.
Ahora veamos los resultados con fechas ubicadas en distintos años:
En esta ocasión la función nos genera resultados diferentes para cada caso. El primer caso nos genera uno (1), ya que ahora si ha transcurrido un año completo entre ambas fechas. Para el segundo caso, vemos que el resultado catorce (14) coincide con los meses completos transcurridos entre ambas fechas, 12 meses del año 2024 más 2 meses del año 2025, mientras que no considera nada de Marzo, pues aún el mes no hay terminado.
El tercer resultado, cuatrocientos cuarenta y tres (443), no es más que el número de dias transcurridos. Es el mismo resultado que obtendriamos si realizamos la operacion algebraica fecha final menos fecha inicial (expresada como número, por supuesto).
Los resultados del cuarto y quinto caso se mantienen iguales a los que teniamos en el primer ejemplo con la fechas anteriores. Esto es lo esperado, pues se estan considerando solo días, sin meses y años (caso 4) y meses sin días ni años (caso 5). En el último caso, se esperaría el mismo resultado que en el ejemplo anterior, ya que la función considera solo los días sin incluir los años. Sin embargo, debido a que 2024 fue un año bisiesto, hay una variación de un día en el cálculo.
¿Que ocurre si utilizo la unidad «MD»?
En la ayuda de Microsoft sobre esta función vemos una advertencia sobre el uso de la unidad «MD», que debería devolver el número de días, sin considerar los meses y años. En nuestro ejemplo anterior vimos que devolvia el resultado correcto, pero hay casos donde no es así.
El principal problema con "MD"
es que no considera los cambios de mes. Esto puede llevar a resultados incorrectos si la fecha de inicio y la fecha de fin no están dentro del mismo mes. Veamos un ejemplo de comportamiento inesperado:
Supongamos que quieres calcular la diferencia en días entre el 9 de septiembre de 2014 y el 24 de julio de 2016 usando:
=SIFECHA (A1, B1, "MD")
Dependiendo de cómo Excel procese los datos internamente, puede incluir días adicionales. El resultado podría ser 23 días en lugar de 15 días, lo cual es incorrecto.
Para evitar estos errores, Microsoft sugiere usar fórmulas alternativas que consideren los cambios de mes y año, como:
=DAY(B1) - DAY(A1)
Si decides utilizar "MD"
, asegúrate de probar los resultados con diferentes fechas y considerar casos especiales donde el mes cambia. Para cálculos más precisos, usa funciones complementarias como DAY()
, MONTH()
, y YEAR()
.
En resumen
La función SIFECHA
en Excel es una herramienta versátil para calcular la diferencia entre fechas en días, meses o años, permitiendo realizar análisis precisos en distintos contextos, desde la gestión de proyectos hasta cálculos financieros. Sin embargo, su uso requiere cautela, ya que algunas de sus unidades, como "MD"
, pueden generar resultados inesperados debido a la forma en que Excel maneja los cambios de mes y año. Comprender estas particularidades es clave para evitar errores y aprovechar al máximo sus capacidades.
Como siempre, espero que esta información les sea de ayuda y que puedan aprovecharla en su día a día. Nos vemos en la próxima entrega.