DATEDIF y NETWORKDAYS en Google Sheets: diferencia de fechas en días, meses y años

  • Compartir Este
Michael Brown

Verás muchas fórmulas DATEDIF para contar días, meses y años, y aprenderás cómo se utiliza NETWORKDAYS para contar sólo los días laborables aunque tus vacaciones se basen en un calendario personalizado.

A muchos usuarios de hojas de cálculo les resulta confuso, cuando no extremadamente difícil, manejar las fechas. Pero, lo crea o no, existen unas cuantas funciones prácticas y sencillas para ese fin. DATEDIF y NETWORKDAYS son un par de ellas.

    Función DATEDIF en Google Sheets

    Como ocurre con las funciones, sus nombres sugieren la acción. Lo mismo ocurre con DATEDIF. Debe leerse como fecha dif no con fecha si y representa diferencia de fecha Por lo tanto, DATEDIF en Google Sheets calcula la diferencia de fecha entre dos fechas.

    La función requiere tres argumentos:

    =DATEDIF(fecha_inicio, fecha_final, unidad)
    • fecha_inicio - una fecha utilizada como punto de partida. Debe ser una de las siguientes:
      • la propia fecha entre comillas dobles: "8/13/2020"
      • una referencia a una celda con una fecha: A2
      • una fórmula que devuelve una fecha: DATE(2020, 8, 13)
      • un número que representa una fecha determinada y que Google Sheets puede interpretar como una fecha, por ejemplo 44056 representa 13 de agosto de 2020 .
    • fecha_final - una fecha utilizada como punto final. Debe tener el mismo formato que el campo fecha_inicio .
    • unidad - se utiliza para indicar a la función qué diferencia debe devolver. Aquí tienes una lista completa de las unidades que puedes utilizar:
      • "D" - (abreviatura de días ) devuelve el número de días entre dos fechas.
      • "M" - (meses) el número de meses completos entre dos fechas.
      • "Y" - (años) el número de años completos.
      • "MD" - (días ignorando meses) el número de días después de restar meses enteros.
      • "YD" - (días ignorando años) el número de días después de restar años enteros.
      • "YM" - (meses ignorando años) el número de meses completos después de restar los años completos.

    Nota. Todas las unidades deben ponerse en las fórmulas del mismo modo que aparecen arriba: entre comillas dobles.

    Ahora vamos a unir todas estas piezas y ver cómo funcionan las fórmulas DATEDIF en Google Sheets.

    Calcular días entre dos fechas en Google Sheets

    Ejemplo 1. Contar todos los días

    Tengo una pequeña tabla de seguimiento de algunos pedidos. Todos ellos han sido enviados en la primera quincena de agosto - Fecha de envío - que va a ser mi fecha de inicio. También hay una fecha aproximada de entrega - Fecha de vencimiento .

    Voy a calcular los días - "D" - entre las fechas de envío y vencimiento para ver cuánto tardan en llegar los artículos. Ésta es la fórmula que debo utilizar:

    =DATEDIF(B2, C2, "D")

    Introduzco la fórmula DATEDIF en D2 y luego la copio columna abajo para aplicarla a otras filas.

    Consejo: siempre puede calcular toda la columna a la vez con una única fórmula utilizando ARRAYFORMULA:

    =ArrayFormula(DATEDIF(B2:B13, C2:C13, "D"))

    Ejemplo 2. Contar días ignorando meses

    Imagina que hay unos meses entre dos fechas:

    ¿Cómo se cuentan sólo los días como si pertenecieran al mismo mes? Así es: ignorando los meses completos que han pasado. DATEDIF lo calcula automáticamente cuando se utiliza la función "MD" unidad:

    =DATEDIF(A2, B2, "MD")

    La función resta los meses transcurridos y cuenta los días restantes.

    Ejemplo 3. Contar días ignorando años

    Otra unidad - "YD"- servirá de ayuda para cuando las fechas tengan más de un año entre ellas:

    =DATEDIF(A2, B2, "YD")

    La fórmula restará primero los años y luego calculará los días restantes como si pertenecieran al mismo año.

    Contar días laborables en Google Sheets

    Hay un caso especial en el que necesitas contar sólo los días laborables en Google Sheets. Las fórmulas DATEDIF no serán de mucha ayuda aquí. Y creo que estarás de acuerdo en que restar los fines de semana manualmente no es la opción más elegante.

    Por suerte, Google Sheets tiene un par de hechizos no tan mágicos para eso :)

    Ejemplo 1. Función NETWORKDAYS

    La primera se llama NETWORKDAYS. Esta función calcula el número de días laborables entre dos fechas excluyendo los fines de semana (sábado y domingo) e incluso los días festivos si es necesario:

    =NETWORKDAYS(fecha_inicio, fecha_final, [festivos])
    • fecha_inicio - una fecha utilizada como punto de partida. Obligatorio.

      Nota. Si esta fecha no es festiva, se cuenta como día laborable.

    • fecha_final - una fecha utilizada como punto final. Obligatorio.

      Nota. Si esta fecha no es festiva, se cuenta como día laborable.

    • vacaciones - este es opcional para cuando necesites señalar días festivos concretos. Debe ser un rango de fechas o números que representen fechas.

    Para ilustrar cómo funciona, añadiré una lista de días festivos que tienen lugar entre las fechas de envío y vencimiento:

    Así, la columna B es mi fecha de inicio, las columnas C - fecha final. Las fechas en la columna E son los días festivos a considerar. Así es como la fórmula debe verse:

    =NETWORKDAYS(B2, C2, $E$2:$E$4)

    Consejo. Si vas a copiar la fórmula a otras celdas, utiliza referencias absolutas de celdas para las vacaciones para evitar errores o resultados incorrectos. O considera construir una fórmula de matriz en su lugar.

    ¿Se ha dado cuenta de cómo ha disminuido el número de días en comparación con las fórmulas DATEDIF? Porque ahora la función resta automáticamente todos los sábados, domingos y dos días festivos que tienen lugar el viernes y el lunes.

    Nota: a diferencia de DATEDIF en Google Sheets, NETWORKDAYS cuenta inicio_día y fin_día como días laborables a menos que sean festivos. Por lo tanto, D7 devuelve 1 .

    Ejemplo 2. NETWORKDAYS.INTL para Google Sheets

    Si tienes un calendario de fines de semana personalizado, te beneficiarás de otra función: NETWORKDAYS.INTL. Te permite contar los días laborables en las Hojas de cálculo de Google en función de los fines de semana establecidos personalmente:

    =NETWORKDAYS.INTL(fecha_inicio, fecha_final, [fin de semana], [vacaciones])
    • fecha_inicio - una fecha utilizada como punto de partida. Obligatorio.
    • fecha_final - una fecha utilizada como punto final. Obligatorio.

      Nota. NETWORKDAYS.INTL en Google Sheets también cuenta inicio_día y fin_día como días laborables a menos que sean festivos.

    • fin de semana - Esta opción es opcional. Si se omite, el sábado y el domingo se consideran fines de semana. Pero se puede modificar de dos formas:
      • Máscaras .

        Consejo: este método es perfecto cuando los días libres están repartidos a lo largo de la semana.

        La máscara es un patrón de siete dígitos de 1 y 0. El 1 representa un fin de semana y el 0 un día laborable. El primer dígito del patrón es siempre lunes y el último, domingo.

        Por ejemplo, "1100110" significa que trabajas los miércoles, jueves, viernes y sábados.

        Nota: la máscara debe ir entre comillas dobles.

      • Números .

        Utiliza números de una cifra (1-7) que denoten un par de fines de semana establecidos:

        Número Fin de semana
        1 Sábado, domingo
        2 Domingo, lunes
        3 Lunes, martes
        4 Martes, miércoles
        5 Miércoles, Jueves
        6 Jueves, Viernes
        7 Viernes, sábado

        O trabaja con números de dos cifras (11-17) que denoten un día de descanso dentro de una semana:

        Número Fin de semana
        11 Domingo
        12 Lunes
        13 Martes
        14 Miércoles
        15 Jueves
        16 Viernes
        17 Sábado
    • vacaciones - también es opcional y se utiliza para especificar las vacaciones.

    Esta función puede parecer complicada por todos esos números, pero te animo a que la pruebes.

    Primero, ten claro cuáles son tus días libres. Que sean Domingo y Lunes A continuación, decide la forma de indicar tus fines de semana.

    Si vas con una máscara, será así - 1000001 :

    =NETWORKDAYS.INTL(B2, C2, "1000001")

    Pero como tengo dos días de fin de semana seguidos, puedo utilizar un número de las tablas anteriores, 2 en mi caso:

    =NETWORKDAYS.INTL(B2, C2, 2)

    A continuación, sólo tiene que añadir el último argumento, que se refiere a las vacaciones en la columna E, y la fórmula estará lista:

    =NETWORKDAYS.INTL(B2, C2, 2, $E$2:$E$4)

    Google Sheets y la diferencia de fechas en meses

    A veces, los meses importan más que los días. Si este es tu caso y prefieres obtener la diferencia de fechas en meses en lugar de en días, deja que DATEDIF de Hojas de cálculo de Google haga el trabajo.

    Ejemplo 1. Número de meses completos entre dos fechas

    El ejercicio es el mismo: el fecha_inicio va primero, seguido de fecha_final y "M" - que se mantiene durante meses- como argumento final:

    =DATEDIF(A2, B2, "M")

    Sugerencia: no olvide la función ARRAUFORMULA que puede ayudarle a contar los meses en todas las filas a la vez:

    =ARRAYFORMULA(DATEDIF(A2:A13, B2:B13, "M"))

    Ejemplo 2. El número de meses ignorando los años

    Puede que no necesite contar los meses a lo largo de todos los años entre las fechas de inicio y fin, y DATEDIF se lo permite.

    Sólo tiene que utilizar el "YM" y la fórmula restará primero los años enteros y luego contará el número de meses entre las fechas:

    =DATEDIF(A2, B2, "YM")

    Calcular años entre dos fechas en Google Sheets

    Lo último (pero no menos importante) que te mostraremos es cómo DATEDIF de Google Sheets calcula la diferencia de fechas en años.

    Voy a calcular el número de años que llevan casadas las parejas basándome en la fecha de su boda y la fecha de hoy:

    Como ya habrán adivinado, utilizaré la función "Y" unidad para eso:

    =DATEDIF(A2, B2, "Y")

    Todas estas fórmulas DATEDIF son las primeras que hay que probar cuando se trata de calcular días, meses y años entre dos fechas en Google Sheets.

    Si tu caso no se puede resolver con estos o si tienes alguna pregunta, te animo a que la compartas con nosotros en la sección de comentarios más abajo.

    Michael Brown es un entusiasta de la tecnología dedicado y apasionado por simplificar procesos complejos utilizando herramientas de software. Con más de una década de experiencia en la industria de la tecnología, ha perfeccionado sus habilidades en Microsoft Excel y Outlook, así como en Google Sheets y Docs. El blog de Michael está dedicado a compartir su conocimiento y experiencia con otros, brindando consejos y tutoriales fáciles de seguir para mejorar la productividad y la eficiencia. Ya sea un profesional experimentado o un principiante, el blog de Michael ofrece información valiosa y consejos prácticos para aprovechar al máximo estas herramientas de software esenciales.