Cuando un proveedor emite una factura el 27/03/2026 y el contrato dice "a 10 días laborables", necesitas saber en qué fecha cae el vencimiento. Y si además el mes tiene un festivo a mediados de marzo, ese día se descuenta del cómputo. Las funciones DIAS.LAB (en inglés NETWORKDAYS) y DIA.LAB (en inglés WORKDAY) resuelven las dos caras de ese problema: la primera cuenta cuántos días hábiles hay entre dos fechas; la segunda devuelve la fecha que queda a tantos días hábiles de una fecha dada. Ambas aceptan un tercer argumento con los festivos que quieras saltar. Terminarás sabiendo contar los laborables de un mes para una nómina, calcular vencimientos de facturas y adaptar el fin de semana al calendario de tu empresa con las variantes INTL (disponibles desde Excel 2010, y presentes en 2013, 2016, 2019, 2021, 2024 y Microsoft 365).
Qué hace DIAS.LAB y en qué se diferencia de DIA.LAB
Imagina la factura del proveedor del 27/03/2026 con un plazo de 10 días laborables: para sumarlos a mano tienes que ir saltando los dos fines de semana y, si caen festivos, descontarlos también. =DIAS.LAB("27/03/2026";"10/04/2026") te lo da en un segundo, sin contar sábados ni domingos, y devuelve 10. La función hermana, =DIA.LAB("27/03/2026";10), hace el camino contrario: le das una fecha de inicio y un número de días laborables, y te devuelve la fecha en la que se cumplen (aquí, 10/04/2026).
Las dos comparten el mismo modelo mental: el calendario que Excel aplica por defecto quita los sábados y los domingos, y acepta un tercer argumento, vacaciones, con la lista de festivos que tampoco cuentan. La diferencia es la dirección del problema. DIAS.LAB responde a "¿cuántos laborables hay entre el día A y el día B?"; DIA.LAB responde a "¿qué día cae cuando han pasado N laborables?".
Un caso muy habitual es el cierre de nóminas:saber cuántos días laborables tiene marzo de 2026 para imputar el salario. Con =DIAS.LAB("01/03/2026";"31/03/2026") obtienes 22. Si en tu empresa el 16/03/2026 es festivo, lo sumas al argumento vacaciones y el resultado pasa a 21.
La sintaxis de DIAS.LAB y DIA.LAB, argumento a argumento
Las dos funciones tienen tres piezas, solo cambia el orden del segundo argumento. La firma de DIAS.LAB es =DIAS.LAB(fecha_inicial; fecha_final; [vacaciones]): el primer argumento es la fecha de inicio del recuento, el segundo es la fecha final (ambas se incluyen) y el tercero, opcional, es el rango de celdas con los festivos a saltar o una constante de matriz con las fechas. Si omites vacaciones, DIAS.LAB solo quita los fines de semana.
DIA.LAB se firma =DIA.LAB(fecha_inicial; días; [vacaciones]): el primer argumento es la fecha de partida, el segundo es el número de días laborables que quieres avanzar (positivo hacia el futuro, negativo hacia el pasado) y el tercero vuelve a ser la lista de festivos opcional.
Un detalle que confunde: si un festivo cae en sábado o domingo, no se descuenta "de más". La función ya quita ese día por ser fin de semana, así que pasarlo en vacaciones no altera el resultado. Esto se nota cuando comparas el resultado con y sin el argumento vacaciones.
fecha_inicial y fecha_final: los dos extremos que cuenta DIAS.LAB
Ambos extremos van incluidos en el recuento. Si la fecha inicial y la final son el mismo lunes laborable, =DIAS.LAB("02/03/2026";"02/03/2026") devuelve 1, no 0. El periodo del 2 al 13 de marzo de 2026 son 12 días naturales (lunes a viernes son 10, contando los dos lunes y los dos viernes y saltando los dos fines de semana), y la fórmula =DIAS.LAB("02/03/2026";"13/03/2026") da 10, no 12, porque entre esas fechas hay exactamente 10 lunes, martes, miércoles, jueves y viernes.
=DIAS.LAB("02/03/2026";"13/03/2026")
El argumento días de DIA.LAB: positivo hacia delante, negativo hacia atrás
El signo del número marca la dirección. =DIA.LAB("02/03/2026";5) cuenta cinco laborables hacia delante desde el 2 de marzo (lunes) y devuelve 09/03/2026: lunes 2 + 1 (marte 3) + 2 (miércoles 4) + 3 (jueves 5) + 4 (viernes 6) + 5 (lunes 9), saltando el sábado 7 y el domingo 8. Con -5 el resultado es 25/02/2026 (miércoles): se cuentan cinco laborables hacia atrás.
=DIA.LAB("02/03/2026";5)
=DIA.LAB("02/03/2026";-5)
El argumento vacaciones: el rango con los festivos a saltar
Se pasa como un rango de celdas, por ejemplo F2:F10, o como una constante de matriz entre llaves con las fechas como números de serie: {46057;46060} equivale a 24/02/2026 y 27/02/2026. Si el festivo cae en sábado o domingo, no descuenta de más porque la función ya ha quitado ese día por ser fin de semana. Por eso, si tu lista incluye el 14/04/2026 (sábado) en un Excel con semana lunes a viernes laborables, el resultado es el mismo con y sin esa fecha en vacaciones.
=DIAS.LAB("01/03/2026";"31/03/2026";F2:F10)
=DIAS.LAB("01/03/2026";"31/03/2026";{46057;46060})
Días laborables con fin de semana a la medida: DIAS.LAB.INTL y DIA.LAB.INTL
Las versiones INTL (DISPONIBLES DESDE EXCEL 2010, presentes en 2013, 2016, 2019, 2021, 2024 y Microsoft 365, y también en Excel para la web y Mac) añaden un argumento que indica qué días forman el fin de semana. La firma de DIAS.LAB.INTL es =DIAS.LAB.INTL(fecha_inicial; fecha_final; [fin_de_semana]; [vacaciones]), y la de DIA.LAB.INTL es =DIA.LAB.INTL(fecha_inicial; días; [fin_de_semana]; [días_no_laborables]).
Los códigos de fin de semana se pasan como número del 1 al 17, donde 1 es sábado-domingo (el comportamiento clásico de DIAS.LAB), 2 es domingo-lunes, 7 es viernes-sábado (semana laboral en muchos países del golfo Pérsico) y 11 es solo domingo. Si ninguno de los códigos numéricos encaja, se usa una cadena de 7 caracteres con ceros y unos, donde un 1 marca el día no laborable y un 0 el laborable. Por ejemplo, "0000011" deja libre solo el sábado y el domingo (igual que el código 1 pero explícito), y "0101011" deja libres lunes, miércoles, viernes, sábado y domingo: la semana solo trabaja martes, jueves y sábado.
| Código | Días no laborables |
|---|---|
| 1 (o "0000011") | Sábado y domingo |
| 7 (o "0000010" | Viernes |
| 11 (o "1000000") | Solo domingo |
=DIAS.LAB.INTL("01/03/2026";"31/03/2026";7)
=DIAS.LAB.INTL("01/03/2026";"31/03/2026";"0101011")
Contar los laborables de un mes en la hoja
El libro de la empresa de servicios "Aurora" tiene una hoja llamada "Marzo 2026" para imputar los días laborables del mes. Necesitamos saber cuántos laborables hay entre el 1 y el 31 de marzo y descontar dos festivos internos de la empresa.
Pasos en Excel:
- Crea una hoja nueva y llámala "Marzo 2026".
- En A2 escribe
01/03/2026y en B2 escribe31/03/2026. - En D2 escribe
16/03/2026y en D3 escribe20/03/2026. - En F2 escribe la fórmula
=DIAS.LAB(A2;B2)para obtener el total sin festivos. - En F3 escribe
=DIAS.LAB(A2;B2;D2:D3)para descontarlos.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Desde | Hasta | Festivos | Laborables | ||
| 2 | 01/03/2026 | 31/03/2026 | 16/03/2026 | 22 | ||
| 3 | 20/03/2026 | 21 |
El resultado esperado es 22 sin contar festivos (los 22 días de lunes a viernes de marzo) y 21 al descontar el 16 y el 20 de marzo.
Probar la variante INTL con varios códigos
En la misma hoja "Marzo 2026", añade en F4 una fórmula que use el código 7 (fin de semana viernes-sábado, típico de empresas con sábado laboral) y en F5 la cadena de ceros y unos "0101011" para ver cómo cambia el resultado.
Pasos:
- Selecciona F4 y escribe
=DIAS.LAB.INTL(A2;B2;7). - Selecciona F5 y escribe
=DIAS.LAB.INTL(A2;B2;"0101011").
| Celda | Fórmula | Resultado | Comentario |
|---|---|---|---|
| F2 | =DIAS.LAB(A2;B2) |
22 | Lunes a viernes clásico |
| F3 | =DIAS.LAB(A2;B2;D2:D3) |
21 | Resta los dos festivos |
| F4 | =DIAS.LAB.INTL(A2;B2;7) |
23 | Fin de semana viernes-sábado |
| F5 | =DIAS.LAB.INTL(A2;B2;"0101011") |
13 | Solo martes y jueves laborables |
Calcular la fecha de vencimiento de una factura con DIA.LAB
El departamento de administración de "Aurora" tiene una hoja "Facturas" para controlar vencimientos. La factura del proveedor García se emitió el 27/03/2026 y el contrato fija un plazo de 10 días laborables. Necesitamos la fecha en la que se cumplen esos 10 días, y luego aplicar los festivos de Semana Santa que la empresa tiene registrados.
Pasos:
- Renombra la hoja a "Facturas" y borra las anteriores o usa un libro nuevo.
- En A2 escribe
27/03/2026, en B2 escribe10(plazo en días laborables). - En C2 escribe
=DIA.LAB(A2;B2). - En E2 y E3 escribe los festivos
03/04/2026y06/04/2026(Jueves Santo y Viernes Santo). - En A3 copia
27/03/2026, en B3 deja10y en C3 escribe=DIA.LAB(A3;B3;E2:E3).
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Emisión | Plazo | Vencimiento | Festivos | |
| 2 | 27/03/2026 | 10 | 10/04/2026 | 03/04/2026 | |
| 3 | 27/03/2026 | 10 | 14/04/2026 | 06/04/2026 |
El primer caso da 10/04/2026 (viernes) al contar solo lunes a viernes. El segundo caso da 14/04/2026 (lunes) porque al saltar el 3 y el 6 de abril, esos dos días se añaden al cómputo y el vencimiento se desplaza dos jornadas más.
Vencimiento con semana a la medida: DIA.LAB.INTL
En la misma hoja "Facturas", queremos comparar el vencimiento con la semana clásica (código 1) y con una semana que solo libra el domingo (código 11). Desde el 2 de marzo de 2026 (lunes) queremos 10 días laborables.
Pasos:
- En D2 escribe
=DIA.LAB.INTL("02/03/2026";10;1)para la semana lunes a viernes. - En D3 escribe
=DIA.LAB.INTL("02/03/2026";10;11)para semana con solo domingo libre.
| Celda | Fórmula | Resultado | Comentario |
|---|---|---|---|
| D2 | =DIA.LAB.INTL("02/03/2026";10;1) |
13/03/2026 | Semana clásica: avanza 14 días naturales |
| D3 | =DIA.LAB.INTL("02/03/2026";10;11) |
12/03/2026 | Solo domingo libre: avanza 10 días naturales |
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Emisión | Plazo | Vencimiento | Vencimiento intl | Festivos |
| 2 | 27/03/2026 | 10 | 10/04/2026 | 13/03/2026 | 03/04/2026 |
| 3 | 27/03/2026 | 10 | 14/04/2026 | 12/03/2026 | 06/04/2026 |
Con código 1 (sábado y domingo descanso), el décimo laborable desde el 2 de marzo cae el 13 de marzo (viernes). Con código 11 (solo domingo), el décimo laborable cae el 12 de marzo (jueves), un día antes porque se gana el sábado como laborable.
Por qué DIAS.LAB devuelve #¡VALOR! o cuenta un festivo de más
Estos tres tropiezos son los más habituales cuando se usan DIAS.LAB y DIA.LAB, y cada uno tiene su causa clara y su arreglo.
El primero, #¡VALOR!, aparece casi siempre porque uno de los argumentos no es una fecha real sino un texto que parece fecha. Excel no puede restar ni operar con texto, y devuelve ese error. La solución es revisar el formato de la celda o reconstruir la fecha con FECHA.
El segundo, el festivo que "no se descuenta", pasa cuando un festivo cae en sábado o domingo. La función ya quita ese día por ser fin de semana, así que pasarlo en vacaciones no altera el resultado. No es un error: es el comportamiento correcto.
El tercero, confundir DIAS.LAB con DIAS, lleva a resultados que se parecen pero no son lo mismo. =DIAS("02/03/2026";"13/03/2026") da 11 (todos los días naturales), mientras =DIAS.LAB("02/03/2026";"13/03/2026") da 10 (solo laborables).
El argumento no es una fecha, es un texto
La celda A2 está alineada a la izquierda porque alguien escribió "27/3/2026" como texto (o la importó de otro programa y el formato no se aplicó). DIAS.LAB interpreta ese valor como una cadena y devuelve #¡VALOR!.
| A | B | F | |
|---|---|---|---|
| 1 | Desde | Hasta | Laborables |
| 2 | 27/3/2026 | 31/03/2026 | #¡VALOR! |
Arreglo: en A2 escribe =FECHA(2026;3;27) para reconstruir la fecha como número de serie, o selecciona la celda, pulsa Ctrl+1, abre Formato de celdas y aplica el formato Fecha con el estilo "14/03/2001". Tras el cambio, F2 debería pasar de #¡VALOR! a 22.
El festivo cae en sábado o domingo y parece que no descuenta
La lista de festivos en E2:E3 incluye 04/04/2026 (sábado). El resultado de =DIA.LAB("27/03/2026";10;E2:E3) no cambia respecto a pasarlo sin festivos. Eso es correcto: el 4 de abril ya estaba fuera del cómputo por ser sábado.
| A | B | C | E | |
|---|---|---|---|---|
| 1 | Emisión | Plazo | Vencimiento | Festivos |
| 2 | 27/03/2026 | 10 | 10/04/2026 | 04/04/2026 |
Arreglo: no hay nada que arreglar. Lo que conviene es entender el comportamiento: los festivos en vacaciones solo afectan si caen en día laborable. Si quieres tener controlados los puentes y los festivos移到 sábado o domingo, conviene incluirlos en la lista de todos modos para que la hoja refleje el calendario completo de la empresa.
Has sumado fechas en vez de contarlas
=DIAS("02/03/2026";"13/03/2026") da 11 días naturales. =DIAS.LAB("02/03/2026";"13/03/2026") da 10 laborables. La diferencia (1) es, en este tramo, exactamente el fin de semana del 7 y 8 de marzo.
=DIAS("02/03/2026";"13/03/2026")
=DIAS.LAB("02/03/2026";"13/03/2026")
Cuándo usar uno y cuándo el otro: DIAS sirve para calcular plazos totales (un contrato que vence "en 30 días", sin importar fines de semana), mientras DIAS.LAB sirve para plazos laborables (nóminas, facturas, plazos administrativos). Si dudas, mira si en el texto del contrato aparece la palabra "hábiles" o "laborables". Si aparece, usa DIAS.LAB.
Lo que DIAS.LAB no hace y cómo resolverlo
DIAS.LAB y DIA.LAB solo quitan días completos del cómputo: los dos fines de semana clásicos (o el patrón INTL que les pases) y los festivos que caigan en día laborable. No trabajan con medios días, con horarios parciales ni con jornadas reducidas. Si tu empresa libra solo la tarde del sábado o tiene jornada intensiva los viernes, estas funciones no lo reflejan.
Para medios días hay un truco con la columna auxiliar y DIASEM (en inglés WEEKDAY): marcas cada festivo con un valor (1 = día completo, 0,5 = media jornada) y restas la suma al resultado de DIAS.LAB. Por ejemplo, =DIAS.LAB(A2;B2)-SUMA(G2:G10) con la columna G rellenada con 0,5 para los medios días.
Las variantes INTL tampoco aceptan un patrón de fin de semana variable por cada fila: el código de fin de semana es fijo en toda la fórmula. Si cada empleado tiene un calendario distinto, hay que escribir la fórmula en cada fila con su propio código, o usar Power Query para combinar tablas.
Si lo que necesitas es contar días naturales (incluyendo fines de semana), usa la función DIAS, y para calcular años o meses entre dos fechas, recurre a SIFECHA (en inglés DATEDIF) con las unidades "Y", "M" o "D"; Microsoft desaconseja la unidad "MD" porque puede dar resultados incorrectos.
Lo que ya sabes hacer con los días laborables en Excel
- DIAS.LAB (en inglés NETWORKDAYS) cuenta cuántos días laborables hay entre dos fechas.
- DIA.LAB (en inglés WORKDAY) calcula la fecha que cae a N días laborables de una fecha dada.
- Las dos comparten el argumento
vacaciones, un rango con los festivos a saltar. - Las variantes INTL existen desde Excel 2010 y permiten patrones de fin de semana a medida, con código numérico (1 a 17) o cadena de 7 caracteres.
- Los festivos que caen en sábado o domingo no se descuentan dos veces: ya estaban fuera del cómputo por ser fin de semana.
El siguiente paso natural es combinar DIA.LAB con la función SI (en inglés IF) y con formato condicional para que Excel te marque visualmente los vencimientos que caen en festivo: si el vencimiento devuelto por DIA.LAB coincide con una fecha de la lista de festivos, la celda se pinta de rojo y de un vistazo ves qué facturas necesitan revisión.
Dudas al usar DIAS.LAB y DIA.LAB en Excel
1. ¿Qué es la función DIAS.LAB.INTL y para qué sirve?
DIAS.LAB.INTL (NETWORKDAYS.INTL) calcula los días laborables entre dos fechas y, a diferencia de DIAS.LAB, te deja elegir qué días de la semana son fin de semana con un código del 1 al 17. Existe desde Excel 2010, así que la tienes en cualquier versión de escritorio actual. La sintaxis es =DIAS.LAB.INTL(fecha_inicio; fecha_fin; fin_de_semana; festivos).
2. ¿Cómo se llama DIAS.LAB en inglés?
En inglés, DIAS.LAB se llama NETWORKDAYS. Si la usas dentro de una macro VBA con .Formula, .FormulaR1C1 o en una consulta de Power Query, tienes que escribirla en inglés; en la hoja, usa siempre el nombre en español. Recuerda: en VBA los argumentos van con comas, no con punto y coma.
3. ¿Cuál es la fórmula en inglés para calcular días hábiles en Excel?
La fórmula en inglés es =NETWORKDAYS(start_date, end_date, [holidays]) para días laborables de lunes a viernes, y =NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays]) si quieres un fin de semana distinto. Estas formas las necesitas al programar con VBA, en Power Query o al abrir un libro generado con Excel en inglés.
4. ¿Qué nombre tiene DIAS.LAB.INTL en inglés?
Su nombre en inglés es NETWORKDAYS.INTL, disponible desde Excel 2010. La sintaxis es =NETWORKDAYS.INTL(start_date, end_date, weekend, holidays), con el parámetro weekend indicando qué día o par de días son el descanso (1= sábado-domingo, 2= domingo-lunes, etc.). Úsala así en VBA, Power Query o en un libro con Excel configurado en inglés.
5. ¿Qué fórmula uso para calcular los días trabajados en Excel?
Para días trabajados entre dos fechas, la más rápida es =DIAS.LAB(fecha_inicio; fecha_fin; festivos), que cuenta de lunes a viernes y resta los festivos que listes. Si necesitas excluir también los días de baja o vacaciones, multiplica las horas trabajadas por día por el resultado de DIAS.LAB y suma el total. Por ejemplo, con jornadas de 8 horas: =DIAS.LAB(A1;B1;D1:D5)*8.
6. ¿Cómo cuento los días transcurridos desde una fecha hasta hoy en Excel?
Usa la función HOY (TODAY) combinada con SIFECHA o una resta directa. Para días completos transcurridos: =SIFECHA(fecha_inicio; HOY(); "D") o, más simple, =HOY()-A1, dando a A1 el formato de fecha. Si quieres solo los días laborables ya pasados, reemplaza HOY() por la fecha final en DIAS.LAB.
7. ¿Cómo se calculan los días hábiles entre dos fechas en Excel?
La fórmula directa es =DIAS.LAB(fecha_inicio; fecha_fin), que devuelve los días laborables de lunes a viernes entre ambas fechas, ambas inclusive. Si tu semana laboral es otra, usa =DIAS.LAB.INTL(fecha_inicio; fecha_fin; fin_de_semana), por ejemplo con fin_de_semana=7 para descansar solo viernes y sábado. Añade un cuarto argumento con un rango de festivos para descontar días no laborables.
Fuentes
- MicrosoftFunción DIA.LAB | Microsoft Supportconsultado el 13/10/2026
- MicrosoftDIAS.LAB — documentación oficialconsultado el 13/10/2026
- MicrosoftDIAS — documentación oficialconsultado el 13/10/2026
- MicrosoftDIAS.LAB.INTL — documentación oficialconsultado el 13/10/2026
- MicrosoftDIASEM — documentación oficialconsultado el 13/10/2026