Para entender cómo funcionan en Excel los cálculos con fechas y horas hay que saber lo que es el número de serie de una fecha. Efectivamente, en Excel, cada fecha tiene asociado un número entero. Por ejemplo, el número de serie asociado al cuatro de diciembre de 2014 es el 41977.
El número de serie de una fecha es la cantidad de días transcurridos desde del primero de enero de 1900 hasta la fecha en cuestión. Es decir que, si comenzamos a contar desde el primero de enero de 1900, el cuatro de diciembre de 2014 es el día número 41977.
El número de serie de fechas lo maneja Excel en forma interna: ahí donde nosotros vemos una fecha, Excel guarda un número. Si tenemos escrita una fecha en una celda, podemos ver el número de serie que le corresponde aplicando sobre la celda formato General.
Suma y resta de fechas
El número de serie permite hacer operaciones de suma y resta con fechas. Por ejemplo, si tenemos una fecha en [B1] (digamos, el 20 de diciembre) y un plazo en [B2] (digamos, 15 días), la operación =B1+B2 nos da la fecha correspondiente a 15 días a partir del 20 de diciembre. En este caso, el cuatro de enero del mes siguiente.
Efectivamente, al sumar los valores de [B1] y [B2], Excel suma quince unidades al número de serie correspondiente a la fecha escrita en [B1]. El resultado es otro número de serie que la fórmula muestra como una fecha.
De la misma manera, si tenemos dos fechas en [B1] y [B2], la operación =B2-B1 nos dice cuántos días median entre ambas.
Funciones para manejo de fechas
Además de la posibilidad de hacer sumas y restas con este tipo de datos, Excel dispone de un juego de funciones para realizar ciertos cálculos especiales. Por ejemplo, la función HOY nos da la fecha actual. No lleva argumentos entre los paréntesis (pero sí lleva paréntesis).
Por otra parte, hay tres funciones para extraer los componentes de una fecha: AÑO, MES y DÍA. Y tenemos también la función FECHA que arma una fecha a partir de sus componentes.
La función SIFECHA
Un problema muy común consiste en calcular la cantidad de años completos comprendidos entre dos fechas. Esto se usa para calcular edades o antigüedad de trabajadores. La solución obvia seria restar ambas fechas para calcular el tiempo comprendido en días y dividir el resultado por 365 para reducir eso a años. Esto no funciona por la existencia de años bisiestos.
La solución correcta consiste en usar la poco conocida función SIFECHA. Por ejemplo, si tenemos una fecha de nacimiento en [B1] calculamos la edad actual con =SIFECHA(B1;HOY();“Y”).
Esta función calcula los años completos transcurridos entre la fecha de nacimiento y la fecha actual. Tiene tres argumentos entre los paréntesis:
– El primero es la fecha a partir de la cual se quiere calcular el tiempo transcurrido.
En este caso, la fecha de nacimiento escrita en [B1].
– El segundo es la fecha hasta la cual se quiere calcular el tiempo transcurrido. En este caso, la fecha actual obtenida con la función HOY.
– El tercero es la unidad en la que se quiere calcular el tiempo transcurrido. En este caso, la Y corresponde a años (por year, año en inglés).
El tercer argumento puede ser una Y (para años), una M (para meses), una D (para días) o combinaciones de estas tres letras. Por ejemplo, la expresión =SIFECHA(B1;HOY();“YM”) da los meses transcurridos entre estas dos fechas, que exceden a los años completos. En el caso de calcular la edad, da los meses trascurridos desde el último cumpleaños.
Podemos usar esta función para calcular la antigüedad de un trabajador en años y meses.
Esta función es tan poco conocida y documentada que hasta su nombre es el resultado de un malentendido. Su nombre en inglés es DATEDIFF (por diferencia entre fechas). Quien la tradujo se fijó en el IF final y de ahí salió el SI de SIFECHA.