Por Barron Hansen, Fundador · Actualizado el 8 de octubre de 2026
Cómo calcular días hábiles en Excel
Excel tiene dos funciones integradas para trabajar con días hábiles. En Excel en español se llaman DIAS.LAB, que cuenta los días laborables entre dos fechas, y DIA.LAB, que devuelve la fecha situada un número dado de días laborables antes o después de una fecha inicial; en Excel en inglés se llaman NETWORKDAYS y WORKDAY. Las dos excluyen los sábados, los domingos y las fechas que usted indique como festivos, y sus variantes DIAS.LAB.INTL y DIA.LAB.INTL le dejan elegir qué días son fin de semana. Todo lo que sigue se basa en la propia referencia de funciones de Microsoft, enlazada bajo la guía, y cada resultado de ejemplo se ha recalculado con el motor de este sitio.
Contar días hábiles entre dos fechas: DIAS.LAB
=DIAS.LAB(fecha_inicial;fecha_final;[vacaciones])
Según Microsoft, la función devuelve el número de días laborables entre fecha_inicial y fecha_final, y los días laborables no incluyen los fines de semana ni otras fechas que se identifiquen en el argumento vacaciones. Las fechas inicial y final cuentan cuando son días laborables. El propio ejemplo de Microsoft lo muestra: del 1 de octubre de 2012 al 1 de marzo de 2013 la función devuelve 110, que es el número de días entre semana de ese período contando los dos extremos; sin la fecha inicial serían 109.
Ejemplo: con el 1 de abril de 2026 en A2, el 30 de abril de 2026 en B2 y la lista de festivos en E2:E10:
=DIAS.LAB(A2;B2;$E$2:$E$10)
Del 1 al 30 de abril de 2026 hay 22 días de lunes a viernes. Con las fiestas nacionales de 2026 en la lista, el Viernes Santo (3 de abril) queda fuera y el resultado es 21. El argumento vacaciones es opcional; sin lista, la función cuenta todos los días entre semana.
Para no contar la fecha inicial, súmele un día: =DIAS.LAB(A2+1;B2).
Encontrar una fecha de vencimiento: DIA.LAB
=DIA.LAB(fecha_inicial;días;[vacaciones])
DIA.LAB devuelve la fecha situada el número indicado de días laborables después de la fecha inicial, o antes si el número es negativo. La fecha inicial no se cuenta: el ejemplo de Microsoft lleva del 1 de octubre de 2008, con 151 días laborables, al 30 de abril de 2009, que es lo que resulta al contar desde el siguiente día entre semana.
Ejemplo: con el 1 de abril de 2026 en A2:
=DIA.LAB(A2;30;$E$2:$E$10)
Con las fiestas nacionales de 2026 en la lista, Excel devuelve el 15 de mayo de 2026, tras saltar el Viernes Santo y el Día del Trabajo; sin lista sería el 13 de mayo de 2026.
DIA.LAB cuenta días hábiles. Un "Net 30" en días naturales no necesita ninguna función: =A2+30. La guía de Net 30 distingue los días naturales de los hábiles y cita la Ley 3/2004.
Montar una lista de festivos
Escriba cada festivo como una fecha real en su propia celda. Microsoft recomienda insertar las fechas con la función FECHA o como resultado de otras fórmulas o funciones, porque puede haber problemas al escribirlas como texto: =FECHA(2026;1;1) en lugar del texto "1/1/2026". Las fiestas nacionales de 2026 en el calendario de este sitio empiezan por el 1 de enero, el 6 de enero, el Viernes Santo (3 de abril) y el 1 de mayo; a ellas se suman las fiestas de su comunidad autónoma y las locales. La página de festivos de 2026 en España las detalla.
Como los fines de semana ya no son días laborables, un festivo que cae en sábado o domingo no cambia nada, y puede anotar los festivos por su fecha sin comprobar el día de la semana.
Para usar la lista en muchas fórmulas, póngale un nombre. Así lo describe Microsoft: escriba un rótulo como Festivos2026 encima de las fechas, seleccione rótulo y fechas juntos, use en la pestaña Fórmulas la creación de nombres a partir de la selección y, en el cuadro de diálogo Crear nombres a partir de la selección, active Fila superior. Excel asigna a las fechas el nombre del rótulo y la fórmula queda así:
=DIAS.LAB(A2;B2;Festivos2026)
Otros fines de semana: DIAS.LAB.INTL y DIA.LAB.INTL
=DIAS.LAB.INTL(fecha_inicial;fecha_final;[fin_de_semana];[vacaciones])
=DIA.LAB.INTL(fecha_inicial;días;[fin_de_semana];[días_no_laborables])
El argumento fin_de_semana es un número o una cadena de siete caracteres. Los números son 1 (u omitido) para sábado y domingo, 2 a 7 para los demás pares de días (7 es viernes y sábado) y 11 a 17 para un solo día de fin de semana (11 solo domingo, 17 solo sábado); no existen 8, 9 ni 10. En la cadena, cada carácter es un día de la semana empezando por el lunes, 1 para un día no laborable y 0 para un día laborable: "0000011" es sábado y domingo, y "0000110" es viernes y sábado.
Para un fin de semana de viernes y sábado:
=DIAS.LAB.INTL(A2;B2;7;Festivos2026)
=DIAS.LAB.INTL(A2;B2;"0000110";Festivos2026)
Las dos líneas dan el mismo resultado. La guía sobre la semana laboral en el mundo explica qué países descansan qué días.
Dar formato al resultado
DIA.LAB devuelve un número de serie: Excel almacena las fechas como números de serie secuenciales, con el 1 de enero de 1900 como 1 de forma predeterminada. Si la celda muestra 46157 en lugar del 15 de mayo de 2026, dele formato de fecha. Así lo describe Microsoft: seleccione las celdas, presione CTRL+1, en el cuadro Formato de celdas seleccione la pestaña Número, en la lista Categoría seleccione Fecha y elija un formato en Tipo. DIAS.LAB devuelve un número de días y no necesita formato de fecha.
Cuándo una fórmula es más de lo necesario
Para una sola fecha de vencimiento o un conteo rápido, la Calculadora de Días Hábiles es más rápida: lleva los calendarios de festivos de 25 países, así que no hay ninguna lista que mantener. Para el mismo cálculo en muchas filas, las funciones de Excel son la mejor herramienta. La guía de Google Sheets trata las mismas funciones en Hojas de cálculo de Google.
Preguntas frecuentes
¿Qué diferencia hay entre DIAS.LAB y DIAS.LAB.INTL?
DIAS.LAB (en inglés NETWORKDAYS) trata siempre el sábado y el domingo como fin de semana. DIAS.LAB.INTL (en inglés NETWORKDAYS.INTL) tiene un argumento fin_de_semana: un número (1 a 7 para dos días, 11 a 17 para uno) o una cadena de siete caracteres que empieza por el lunes, de modo que un fin de semana de viernes y sábado es 7 o "0000110".
¿DIAS.LAB incluye la fecha inicial y la final?
Sí, cuando son días laborables. El propio ejemplo de Microsoft devuelve 110 del 1 de octubre de 2012 al 1 de marzo de 2013, el número de días entre semana con los dos extremos. Para excluir la fecha inicial, súmele un día: =DIAS.LAB(A1+1;B1).
¿Y si mi lista de festivos incluye fines de semana?
No cambia nada. Los fines de semana ya no son días laborables, y un festivo en sábado o domingo no se descuenta dos veces.
Fuentes de esta guía
- Función DIAS.LAB: número de días laborables entre fecha_inicial y fecha_final, sin fines de semana ni vacaciones (Soporte técnico de Microsoft)
- Función DIA.LAB: fecha situada un número de días laborables antes o después de la fecha inicial (Soporte técnico de Microsoft)
- Función DIAS.LAB.INTL: números de fin de semana 1 a 7 y 11 a 17, o una cadena de siete caracteres desde el lunes (Soporte técnico de Microsoft)
- Función DIA.LAB.INTL: DIA.LAB con argumento de fin de semana (Soporte técnico de Microsoft)
- Definir y usar nombres en fórmulas: cuadro Nombre o cuadro de diálogo Crear nombres a partir de la selección con Fila superior (Soporte técnico de Microsoft)
- Dar formato a una fecha: CTRL+1, Formato de celdas, pestaña Número, Categoría Fecha (Soporte técnico de Microsoft)
- Resolución de 17 de octubre de 2025 por la que se publica la relación de fiestas laborales para el año 2026: doce fiestas nacionales y autonómicas más hasta dos fiestas locales por municipio (Dirección General de Trabajo, Ministerio de Trabajo y Economía Social)
Verificado el 8 de octubre de 2026. Todas las fuentes