Contar los días entre dos fechas en Excel Trabajar con fechas en Excel es algo muy común así que en más de una ocasión nos vemos en la necesidad de contar los días entre dos fechas. Existen diferentes métodos para realizar este cálculo así que solo debes elegir el método correcto.
Calcular el número de días entre dos fechas El primer método para contar los días entre dos fechas en Excel es hacer una simple resta entre los valores y sumar 1. Observa la siguiente imagen:
En este ejemplo he sumado 1 para considerar el día completo de la fecha final. Observa que en la celda C8 obtengo el número total de días del año 2011 que fueron 365 días. En la celda C9 se cuentan los días del año 2012 que es un año bisiesto y por lo tanto tengo un total de 366 días. Esta operación funciona correctamente porque las fechas en Excel son en realidad números enteros. Si quieres saber un poco más al respecto lee el artículo Fechas en Excel. Un método rápido de comprobar que una fecha es un número entero es cambiar el formato de la celda a un formato General. Observa el resultado de hacer este cambio de formato en las celdas del ejemplo anterior:
Por esta razón la resta de ambas fechas da como resultado un número entero que representa el número de días entre dos fechas.
Contar los días laborables en Excel Es probable que desees contar los días laborables entre dos fechas y para ello podemos utilizar la función DIAS.LAB. En la siguiente imagen puedes observar que he agregado el cálculo de días con esta función:
Al resultado de esta función no será necesario sumarle 1 ya que toma en cuenta el día de la fecha final. Es importante saber que la función DIAS.LAB toma de manera predeterminada los días sábado y domingo como el fin de semana y por lo tanto no son incluidos en la cuenta. Si quieres saber más sobre esta función consulta el artículo La función DIAS.LAB en Excel.
Días laborables personalizados Una desventaja de utilizar la función DIAS.LAB es que no podemos elegir los días que conforman el fin de semana. Si deseas tener control sobre la definición del día de descanso semanal debes utilizar la función DIAS.LAB.INTL. Para contar los días laborables entre dos fechas estableciendo el día sábado como el descanso semanal, debes utilizar la función DIAS.LAB.INTL de la siguiente manera:
Es evidente que la cantidad de días laborables entre ambas fechas aumenta con esta función porque estamos considerando un solo día de descanso semanal en lugar de dos días. El número 17 que aparece como tercer argumento de la función DIAS.LAB.INTL es el que indica que se debe tomar como fin de semana el día sábado. Para conocer más detalles sobre ésta función consulta el artículo La función DIAS.LAB.INTL en Excel.
La función SIFECHA Pocos usuarios de Excel conocen la función SIFECHA, pero es otro método para calcular la diferencia en días entre dos fechas. Observa el resultado de utilizar esta función:
Observa que la función SIFECHA no considera el último día por lo que deberíamos sumar 1 al resultado. No es posible sumarlo directamente por la naturaleza de la función, así que debemos modificarla de la siguiente manera:
Con este cambio puedes notar que los resultados de la columna G son iguales que los de la columna C. La función SIFECHA nos permite obtener la diferencia entre dos fechas en días, meses, años, etc. Para conocer más sobre esta función consulta el artículo La función SIFECHA en Excel. Estos son los métodos disponibles para contar los días entre dos fechas en Excel. Sin embargo es probable que en alguna ocasión necesites calcular la diferencia entre dos fechas en años, meses, semanas, minutos o segundos. Para ello te recomendaré la lectura de otro artículo: Calcular el tiempo transcurrido entre dos fechas. Espero que estos recursos sean de gran utilidad y faciliten tu trabajo con fechas en Excel.
Fechas en Excel Excel almacena una fecha como si fuera un número entero. Al utilizar un sistema como éste, Excel puede sumar, restar y comparar fácilmente las fechas sin necesidad de hacer alguna conversión ni cálculo especial. Por ejemplo, la fecha 1/1/2000 está representada por el número de serie 36526 y la fecha 05/10/2000 tiene asignado el valor 36804. Como puedes imaginar, al realizar una operación con fechas se utiliza su número de serie para facilitar las operaciones. El primero y último día de Excel
Excel reconoce todas las fechas posteriores a 1/1/1900. Es por eso que el primer día del año 1900 tiene asignado el número 1. Por el contrario, el último día que Excel reconoce es el 31/12/9999 el cual tiene asignado el número 2958465. Valor numérico de una fecha
Es realmente sencillo conocer el valor numérico de una fecha, solamente cambia el formato de la celda que contiene una fecha a un formato General y Excel desplegará su valor numérico.
La función FECHA
Finalmente mencionaré la función FECHA la cual nos ayuda a obtener el número de serie que le corresponde a una fecha dados el día, el mes y el año.
Esta función es de gran utilidad para convertir datos a un formato fecha en caso de que tengas el día, mes y año en columnas separadas. Una vez convertidos al tipo de dato adecuado se podrán hacer operaciones con las fechas sin dificultad alguna.
La función DIAS.LAB en Excel La función DIAS.LAB en Excel nos ayuda a obtener el número de días laborables entre dos fechas determinadas. La función DIAS.LAB nos permite especificar un conjunto de días de vacaciones que serán excluidos de los días laborables contabilizados. Sintaxis de la función DIAS.LAB
A continuación una descripción de los argumentos de la función DIAS.LAB:
Fecha_inicial (obligatorio): Es la fecha a partir de la cual se comenzarán a contar los días laborables.
Fecha_final (obligatorio): La fecha que marca el final de la contabilización de días laborables.
Vacaciones (opcional): Conjunto de una o varias fechas que serán excluidas del calendario de días laborables.
La función DIAS.LAB contabiliza los días laborables de lunes a viernes y excluye los fines de semana (sábado y domingo). Ejemplos de la función DIAS.LAB
En el siguiente ejemplo podrás observar el número de días laborables que existen entre el 1 de enero del 2012 y el 22 de febrero del 2012.
Con este resultado puedes comprobar que se han excluido los sábados y los domingos. Ahora incluiré una lista de días de vacaciones de la siguiente manera:
Observa que he colocado un nombre para el rango de celdas B3:B5 y lo he llamado Vacaciones. En seguida modificaré la función DIAS.LAB para que considere los días de vacaciones.
La función deja de contabilizar las fechas especificadas como vacaciones y lo puedes ver reflejado en el resultado final. Si por alguna razón llegamos a colocar en la lista de días de vacaciones la fecha de un sábado o de un domingo esos días no surtirán ningún efecto porque la función DIAS.LAB no contabiliza esos días. Observa en el siguiente ejemplo cómo he agregado a la lista de días de vacaciones un par de fechas que corresponden a un sábado (18/02/2012) y un domingo (19/02/2012) y sin embargo el resultado de la función DIAS.LAB no cambia respecto al ejemplo anterior:
Observa que para este último ejemplo no utilicé el nombre Vacaciones en el tercer argumento de la función sino que coloqué explícitamente la referencia para el rango B3:B7. Esto nos confirma que podemos utilizar ambos métodos al momento de especificar la lista de días de vacaciones.
La función DIAS.LAB en Excel La función DIAS.LAB en Excel nos ayuda a obtener el número de días laborables entre dos fechas determinadas. La función DIAS.LAB nos permite especificar un conjunto de días de vacaciones que serán excluidos de los días laborables contabilizados.
Sintaxis de la función DIAS.LAB A continuación una descripción de los argumentos de la función DIAS.LAB:
Fecha_inicial (obligatorio): Es la fecha a partir de la cual se comenzarán a contar los días laborables.
Fecha_final (obligatorio): La fecha que marca el final de la contabilización de días laborables.
Vacaciones (opcional): Conjunto de una o varias fechas que serán excluidas del calendario de días laborables.
La función DIAS.LAB contabiliza los días laborables de lunes a viernes y excluye los fines de semana (sábado y domingo).
Ejemplos de la función DIAS.LAB En el siguiente ejemplo podrás observar el número de días laborables que existen entre el 1 de enero del 2012 y el 22 de febrero del 2012.
Con este resultado puedes comprobar que se han excluido los sábados y los domingos. Ahora incluiré una lista de días de vacaciones de la siguiente manera:
Observa que he colocado un nombre para el rango de celdas B3:B5 y lo he llamado Vacaciones. En seguida modificaré la función DIAS.LAB para que considere los días de vacaciones.
La función deja de contabilizar las fechas especificadas como vacaciones y lo puedes ver reflejado en el resultado final. Si por alguna razón llegamos a colocar en la lista de días de vacaciones la fecha de un sábado o de un domingo esos días no surtirán ningún efecto porque la función DIAS.LAB no contabiliza esos días. Observa en el siguiente ejemplo cómo he agregado a la lista de días de vacaciones un par de fechas que corresponden a un sábado (18/02/2012) y un domingo (19/02/2012) y sin embargo el resultado de la función DIAS.LAB no cambia respecto al ejemplo anterior:
Observa que para este último ejemplo no utilicé el nombre Vacaciones en el tercer argumento de la función sino que coloqué explícitamente la referencia para el rango B3:B7. Esto nos confirma que podemos utilizar ambos métodos al momento de especificar la lista de días de vacaciones.
La función SIFECHA La función SIFECHA es una función en Excel a la cual no tenemos acceso desde el catálogo de funciones y sin embargo ha estado presente en las últimas 7 versiones del programa incluyendo la versión 2010 de Excel. Esta función nos ayuda a obtener la diferencia entre dos fechas y además nos permitirá elegir el tipo de dato que deseamos como resultado y que pueden ser días, meses o años. La sintaxis de la función SIFECHA es la siguiente: =SIFECHA(fecha1, fecha2, tipo)
El primero y segundo argumentos son fechas en donde la fecha1 tiene que ser menor que fecha2. Dicho de otra manera, la fecha2 debe ser la fecha más reciente. Si estos parámetros se especifican al revés, entonces obtendremos un error del tipo #¡NUM! El tercer argumentos de la función SIFECHA es de suma importancia porque es donde especificaremos la unidad de medición de tiempo que deseamos utilizar. A continuación la tabla de posibles valores para este tercer argumento: Valor
Significado
Descripción
“d”
Días
Número de días entre la fecha1 y la fecha2
“m”
Meses
Número de meses entre la fecha1 y la fecha2
“y”
Años
Número de años entre la fecha1 y la fecha2
“yd”
Días excluyendo años
Número de días entre la fecha1 y la fecha2 donde ambas fechas tienen el mismo año.
“ym”
Meses excluyendo años
Número de meses entre la fecha1 y la fecha2 donde ambas fechas tienen el mismo año.
“md”
Días excluyendo meses y años
Número de días entre la fecha1 y la fecha2 donde ambas fechas tienen el mismo mes y el mismo año.
Ejemplo de la función SIFECHA en Excel
A continuación muestro un ejemplo de uso de la función cuando tenemos ambas fechas en diferentes años:
Si las fechas que vas a comparar tienen el mismo año, puedes utilizar los argumentos yd y ym:
El último argumento md es utilizado en caso de que tengas dos fechas tanto del mismo mes como del mismo año. Aunque existen varias alternativas de argumentos para la función, recomiendo utilizar los argumentos [d, m, y] porque son los que funcionan correctamente sin importar el año o mes de las fechas.
Por último debo mencionar que si estás utilizando la versión en inglés de Excel, encontrarás esta función con el nombreDATEDIF y su funcionamiento es exactamente igual al mostrado en este artículo. El uso de la función SIFECHA es de gran utilidad especialmente para obtener las diferencias en meses o años entre dos fechas ya que dicho cálculo requiere de mucha pericia para ejecutarlo correctamente debido a las diferencias en el número de días que tiene cada mes del año.
Calcular el tiempo transcurrido Calcular la diferencia entre dos fechas en Excel es algo muy sencillo. En este artículo mostraré cómo calcular ese tiempo transcurrido entre ambas fechar y presentar el resultado en diferentes unidades de tiempo como años, meses, semanas, etc. Supongamos que tenemos la fecha de nacimiento de una persona y queremos calcular el tiempo que ha vivido hasta el día de hoy. Observa la siguiente imagen:
Tiempo transcurrido en días
Puede observar que la línea que se encuentra sombreada es la de los días transcurridos y la razón principal es porque esa es la operación más sencilla de todas. Para obtener la cantidad de días entre dos fechas es suficiente con realizar una resta entre ambas. En este ejemplo la fórmula utilizada es: =B3-B2
Excel regresar el tiempo transcurrido en días utilizando decimales y por motivos de presentación se los he removido, sin embargo tú puedes dejar el formato con decimales si así lo deseas. Calcular las horas, minutos y segundos
El siguiente paso natural es calcular las horas, lo cual es sumamente sencillo una vez que tengo el número de días. Solamente debo multiplicar el resultado en días por 24: =A8 * 24
Y una vez que tengo las horas puedo obtener los minutos haciendo una multiplicación por 60 que es la cantidad de minutos en una hora: =A9 * 60
Finalmente, y como has de suponer, para obtener los segundos multiplico el resultado anterior de nuevo por 60: =A10 * 60
De esa manera obtengo los segundos transcurridos entre ambas fechas. Tiempo en semanas
Como puedes observar el cálculo de días es la parte central para el resto de cálculos y las semanas no son la excepción ya que las podemos obtener fácilmente realizando una simple división: =A8 / 7
Días laborables
El cálculo de días laborales entre dos fechas ya no lo podemos realizar con una simple operación aritmética, pero afortunadamente existe la función DIAS.LAB la cual realiza el cálculo por nosotros, solamente es necesario especificar ambas fechas como los argumentos de la función y Excel nos devolverá el resultado correcto: =DIAS.LAB(B2, B3)
Meses y años
Obtener los meses es una tarea un tanto más complicada, porque los meses no tienen la misma cantidad de días. Lo mismo sucede con los años ya que tenemos los años bisiestos los cuales tienen un día adicional. Sin embargo Excel provee de una función que nos ayuda con este cálculo, pero debo advertirte que ésta no es una función tradicional, de hecho no la podrás encontrar en la documentación de Excel y sin embargo la podremos utilizar. La función es conocida como la función SIFECHA y aunque en este artículo no entraré en los detalles de ésta función observa cómo me ayuda a obtener los meses transcurridos entre dos fechas:
De una manera similar, esta función obtiene los años transcurridos:
Espera el siguiente artículo donde hablaré con mucho más detalle sobre la función SIFECHA la cual ha permanecido oculta por mucho tiempo y aún sigue presente en Excel 2010.
Días laborables con Excel La función DIAS.LAB nos ayuda a obtener el total de días laborables entre dos fechas, sin embargo tiene un inconveniente y es que asume que los días de fin de semana son el sábado y el domingo. ¿Qué hacer si queremos considerar días de fin de semana diferentes? La función DIAS.LAB
Primero comprobaré lo que he dicho. Así que utilizaré la función DIAS.LAB para calcular los días laborables del mes de enero del 2011. Observa el siguiente ejemplo.
Efectivamente existen 21 días laborables en el mes de enero considerando los sábados y domingos como fin de semana. Pero si quisiera tomar como días de descanso el viernes y el sábado el número de días laborables del mes sería diferente. Para obtener el resultado deseado utilizaré la función DIAS.LAB.INTL. La función de Excel DIAS.LAB.INTL
La función DIAS.LAB.INTL permite especificar los días del fin de semana que deseo utilizar. Observa cómo al introducir la fórmula Excel me permite seleccionar el fin de semana adecuado:
Al elegir los días viernes y sábado como el fin de semana a considerar, el resultado de días laborables para el mes de enero del 2011 cambia a 22 días.
Varios países del medio oriente tienen un fin de semana establecido en los días viernes y sábado, lo cual ha sido una de las razones por las que se ha introducido la función DIAS.LAB.INTL en Excel.
Aunque es poco probable que estés leyendo este artículo desde alguno de estos países, es más probable que alguna vez tengas algún trato comercial con alguno de ellos o simplemente la compañía donde laboras desea hacer un cálculo de días laborables utilizando algún día de la semana en especial.