DIA.LAB.INTL (en inglés WORKDAY.INTL) es la función que calcula la fecha de un vencimiento contando solo los días laborables de TU empresa: respeta la semana árabe (domingo a jueves), la semana de seis días o cualquier patrón que necesites, y descuenta los festivos que tú le indiques. Está en Excel desde la versión 2010, en Microsoft 365, en Excel 2021, 2024, en Excel para la web y en Excel para Mac.
Para este tutorial usaremos el libro Pedidos, una hoja realista con la fecha en que un cliente hace el pedido, los días laborables que tarda la empresa en entregarlo y el resultado: la fecha de entrega prometida.
Qué hace DIA.LAB.INTL y cuándo la necesitas
Imagina una empresa en Oriente Medio cuya semana laboral es de domingo a jueves (el viernes y el sábado se libran), y otra en Asia oriental donde solo se descansa el domingo. Con la función clásica DIA.LAB, que asume sábado y domingo como descanso, ninguna de las dos obtiene la fecha correcta: les entrega en días que su gente no trabaja.
DIA.LAB.INTL resuelve esto porque deja que seas tú quien defina qué días de la semana son descanso, qué días son laborables y, además, qué fechas concretas (festivos, vacaciones, cierres) no cuentan. La función recibe una fecha de inicio, un salto en días laborables y devuelve la fecha resultante ya colocada en un día laborable.
En el libro Pedidos la usaremos para tres casos reales: la semana de lunes a viernes (la mayoría de países), la semana de domingo a jueves (muchos países árabes y de Oriente Medio) y la semana árabe donde solo se libra el viernes.
La sintaxis y cada argumento por separado
La función tiene esta forma:
=DIA.LAB.INTL(fecha_inicial; días; [fin_de_semana]; [días_no_laborables])
Los corchetes indican argumentos opcionales. Si omites fin_de_semana, Excel asume la semana clásica de lunes a viernes. Si omites días_no_laborables, no descuenta ningún festivo.
fecha_inicial y días, el punto de partida y el salto
fecha_inicial es el día desde el que cuentas. Puede ser una celda con una fecha, el resultado de otra función como HOY() o una fecha y con comillas. días es el número de días laborables que quieres avanzar (positivo) o retroceder (negativo). Si pones cero, la función devuelve la propia fecha_inicial, siempre que esa fecha no caiga en fin de semana ni en festivo; si cae, salta al siguiente día laborable.
=DIA.LAB.INTL(A2;B2)
=DIA.LAB.INTL(HOY();15;1)
=DIA.LAB.INTL("02/03/2026";10;1)
fin_de_semana, el patrón de tu semana
Este argumento admite un número del 1 al 7 o del 11 al 17 (los códigos estándar) o una cadena de 7 caracteres con 0 (laborable) y 1 (descanso) que representa tu semana de lunes a domingo.
| Código | Lunes | Martes | Miércoles | Jueves | Viernes | Sábado | Domingo |
|---|---|---|---|---|---|---|---|
| 1 (u omitido) | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
| 2 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 3 | 0 | 0 | 0 | 0 | 1 | 1 | 0 |
| 4 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
| 5 | 0 | 0 | 0 | 1 | 1 | 0 | 0 |
| 6 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 7 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 11 | 0 | 1 | 0 | 0 | 0 | 0 | 1 |
| 12 | 1 | 0 | 0 | 0 | 0 | 0 | 1 |
| 13 | 0 | 1 | 0 | 0 | 0 | 1 | 0 |
| 14 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
| 15 | 0 | 1 | 0 | 1 | 0 | 0 | 0 |
| 16 | 1 | 0 | 0 | 1 | 0 | 0 | 0 |
| 17 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
Dos ejemplos de cadena de 7 caracteres:
=DIA.LAB.INTL(A2;B2;"0000011")
=DIA.LAB.INTL(A2;B2;"0101011")
La primera equivale al código 1 (sábado y domingo libres); la segunda representa una jornada de media semana: descanso lunes, miércoles y viernes.
días_no_laborables, la lista de festivos
Es el cuarto argumento, una fecha o un rango/resta con las fechas que no son laborables (festivos nacionales, vacaciones de empresa, cierres). Si no pones nada, no se resta ningún festivo. Si escribes varias fechas, van entre llaves separadas por punto y coma.
Descubre la fecha de vencimiento según tu país
Empezamos con la hoja Pedidos del libro. La columna A en la hoja es la fecha de solicitud, B los días laborables prometidos y C el resultado que calcula DIA.LAB.INTL.
| A | B | C | |
|---|---|---|---|
| 1 | Fecha solicitud | Días de entrega | Fecha entrega |
| 2 | 02/03/2026 | 10 | |
| 4 | Cliente | País | Calendario |
| 5 | Tienda Madrid | España | Lunes a viernes |
| 6 | Importadora Dubai | EAU | Domingo a jueves |
| 7 | Librería Riad | Arabia Saudí | Solo libra viernes |
| 8 | Taller Lima | Perú | Lunes a sábado |
Con semana de lunes a viernes (código 1)
Para la Tienda Madrid, que usa la semana de toda la vida, escribimos la fórmula más corta posible: solo los dos primeros argumentos.
- Haz clic en C5.
- Escribe
=DIA.LAB.INTL(A2;B2). - Pulsa Entrar.
=DIA.LAB.INTL(A2;B2)
El 2 de marzo de 2026 es lunes. Contando 10 días laborables (saltando dos sábados y dos domingos), llegamos al lunes 16 de marzo de 2026.
Con semana de domingo a jueves (código 7)
Para la Importadora Dubai, la semana es de domingo a jueves: se libra viernes y sábado. Añadimos el tercer argumento.
- Haz clic en C6.
- Escribe
=DIA.LAB.INTL(A2;B2;7). - Pulsa Entrar.
=DIA.LAB.INTL(A2;B2;7)
El 2 de marzo de 2026 cae en lunes, que sí cuenta. Los días laborables van saltando viernes y sábado, y el resultado vuelve a ser 16/03/2026, pero ahora porque se han saltado dos viernes y dos sábados en lugar de dos sábados y dos domingos.
Con semana árabe: solo descanso el viernes (código 17)
Para la Librería Riad, el calendario aún es distinto: solo se descansa el viernes. Usamos el código 17.
- Haz clic en C7.
- Escribe
=DIA.LAB.INTL(A2;B2;17). - Pulsa Entrar.
=DIA.LAB.INTL(A2;B2;17)
Sobre el 2/3/2026 con 10 días laborables, saltando solo los viernes, llegamos al jueves 12 de marzo de 2026, cuatro días antes que con la semana clásica.
Un caso de borde útil: un pedido del jueves 5 de marzo de 2026 con 1 día de plazo en este calendario debe entregarse el domingo 8 de marzo, porque el viernes 6 se libra y el sábado 7 sí cuenta como laborable.
Con un patrón de media jornada ("0101011")
Para el Taller Lima, donde la plantilla rota y libra lunes, miércoles y viernes, no nos sirve ningún código numérico: necesitamos el código 17. Depende de la empresa; usamos la cadena de 7 caracteres directamente.
- Haz clic en C8.
- Escribe
=DIA.LAB.INTL(A2;B2;"0101011"). - Pulsa Entrar.
=DIA.LAB.INTL(A2;B2;"0101011")
La cadena 0101011 significa, de izquierda (lunes) y de derecha (domingo): descanso lunes (1), trabajo martes (0), descanso miércoles (1), trabajo jueves (0), descanso viernes (1), trabajo sábado (0), descanso domingo (1). Sobre 10 saltos, contando solo martes, jueves, sábados, llegamos al miércoles 25 de marzo de 2026.
Resta los festivos de tu país y tenlos en una tabla
Ahora el libro crece con una segunda hoja: Festivos, con las fiestas de la empresa de 2026. La usaremos como cuarto argumento de DIA.LAB.INTL para que la fecha de entrega no caiga en un día festivo.
| F | G | |
|---|---|---|
| 1 | Festivo | Fecha |
| 2 | Año Nuevo | 01/01/2026 |
| 3 | Día del Trabajo | 01/05/2026 |
| 4 | San Juan | 24/06/2026 |
| 5 | Asunción | 15/08/2026 |
| 6 | Hispanidad | 15/10/2026 |
| 7 | Todos los Santos | 01/11/2026 |
| 8 | Constitución | 06/12/2026 |
| 9 | Inmaculada | 08/12/2026 |
| 10 | Navidad | 25/12/2026 |
La lista escrita a mano con fechas entre llaves
Si solo tienes uno o dos festivos puntuales, puedes escribirlos directamente entre llaves en la propia fórmula.
=DIA.LAB.INTL(A2;B2;1;{"01/05/2026";"25/12/2026"})
La lista sacada de un rango con nombre
Cuando la lista de festivos cambia cada año, lo mejor es tenerlos en una tabla aparte y pasarle a la función el rango. Primero le damos un nombre.
- Selecciona el rango G2:G10 de la hoja Festivos.
- En el cuadro de nombres (a la izquierda de la barra de fórmulas) escribe F1 y pulsa Entrar.
- En C5 de la hoja Pedidos sustituye la fórmula por esta:
=DIA.LAB.INTL(A2;B2;1;F1)
Ahora, si en la hoja Festivos añadimos una fila más (pongamos el 4 de noviembre como puente) con la fecha correspondiente a esa fila, Excel la incluye automáticamente en el cálculo sin tocar la fórmula.
Por qué DIA.LAB.INTL devuelve #NUM! o #¡VALOR!
Tres errores reales que vas a ver cuando empieces a usar esta función.
La fecha inicial cae antes de 1900
Excel no maneja fechas anteriores al 1 de enero de 1900: cualquier cosa anterior da #NUM!.
| A | B | C | |
|---|---|---|---|
| 10 | 15/07/1899 | 10 | #NUM! |
La causa: Excel solo entiende fechas desde el 1/1/1900. La solución: reescribe la fecha en una celda con un valor válido (por ejemplo, 01/05/2026) o usa FECHANUMERO para convertir texto a fecha.
La cadena de fin de semana está mal escrita
Si la cadena tiene más o menos de 7 caracteres, o usa números distintos de 0 y 1, la función devuelve #¡VALOR!.
| A | B | C | |
|---|---|---|---|
| 11 | 02/03/2026 | 10 | #¡VALOR! |
La regla es clara: la cadena debe medir exactamente 7 caracteres y contener solo ceros y unos. La solución: "0000111" son 7 caracteres pero el cuarto es 1, el patrón no es válido, así que "0001011" sería lo correcto para descansar lunes y miércoles.
El resultado se pasa del 31/12/9999
Excel solo maneja fechas hasta el 31 de diciembre de 9999. Si el salto es tan grande que el resultado cae después, devuelve #NUM!.
| A | B | C | |
|---|---|---|---|
| 12 | 02/03/2026 | 5000 | #NUM! |
La causa: 5.000 días laborables desde 2026 cae más allá del año 9999. La solución: parte el cálculo en dos o más llamadas a DIA.LAB.INTL encadenadas, sumando los saltos parciales.
Lo que tu versión de Excel puede y no puede hacer
DIA.LAB.INTL existe desde Excel 2010 y está en todas las versiones posteriores: Microsoft 365, Excel 2024, 2021, 2019 y 2016, además de Excel para la web, Excel para Mac y Excel para móviles. En Excel 2007 la función no existe y aparece #¿NOMBRE, mostrando que no la reconoce.
| Versión | ¿Tiene DIA.LAB.INTL? | Alternativa |
|---|---|---|
| Microsoft 365, 2024, 2021, 2019, 2016 | Sí | — |
| Excel 2013 | Sí | — |
| Excel 2010 | Sí | — |
| Excel 2007 | No | DIA.LAB (solo lunes a viernes) |
| Excel para la web | Sí | — |
| Excel para Mac | Sí | — |
Si solo quieres la fecha de hoy más N laborables
El caso más sencillo: hoy más N días laborables. Con DIA.LAB.INTL queda así:
=DIA.LAB.INTL(HOY();N;1)
Si tu versión es anterior a 2010, usa la función DIA.LAB (WORKDAY), que es más limitada: solo lunes a viernes y un rango de vacaciones. La diferencia es que DIA.LAB no entiende patrones personalizados: si tu empresa libra viernes y sábado, no puedes con DIA.LAB. y DIA.LAB.INTL.
Lo que ya sabes hacer con DIA.LAB.INTL y el siguiente paso
- Calcular vencimientos contando solo los días laborables de tu empresa, no los del calendario general.
- Usar códigos numéricos (1 a 7 y 11 a 17) para los patrones de semana más habituales.
- Definir un patrón a medida con una cadena de 7 ceros y unos cuando ningún código te sirve.
- Restar festivos escribiéndolos entre llaves o pasando un rango con nombre.
- Detectar y corregir los tres errores más habituales: fechas anteriores a 1900, cadenas mal formadas y resultados que se pasan del año 9999.
El siguiente paso natural es la operación inversa: en lugar de sumar días laborables a una fecha, contar cuántos días laborables hay entre dos fechas. Para eso existe DIAS.LAB.INTL (NETWORKDAYS.INTL), que tiene los mismos argumentos pero al revés: le das fecha inicial y fecha final y te dice cuántos laborables hay entre medias.
Dudas al usar DIA.LAB.INTL en Excel
1. ¿Qué es la función DIA.LAB en inglés en Excel?
DIA.LAB (WORKDAY en inglés) devuelve una fecha laborable contando un número de días hacia adelante o hacia atrás desde una fecha inicial, saltando automáticamente los sábados, domingos y los festivos que tú indiques en una lista aparte. Su sintaxis es =DIA.LAB(fecha_inicial; días; [festivos]). Está disponible desde Excel 2007, así que la encuentras en cualquier versión moderna de escritorio y en Excel para la web.
2. ¿Cómo se cuentan solo los días laborables entre dos fechas en Excel?
La fórmula más directa es =DIAS.LAB(fecha_inicial; fecha_final; [festivos]), que cuenta de lunes a viernes entre las dos fechas sin incluirlas si caen en fin de semana. Por ejemplo, =DIAS.LAB("01/06/2026";"30/06/2026") devuelve 21 si junio de 2026 empieza en lunes. Puedes añadir un tercer argumento con el rango donde estén los festivos de tu país para descontarlos también.
3. ¿Cuál es el nombre en inglés de las funciones de días laborables en Excel?
Las dos funciones equivalentes son DIA.LAB (WORKDAY), que devuelve la fecha laborable tras sumar o restar días, y DIAS.LAB (NETWORKDAYS), que cuenta los días laborables entre dos fechas. Ambas aceptan un argumento opcional de festivos y diferencian mayúsculas de minúsculas solo en la escritura, no en el comportamiento.
4. ¿Dónde consigo el calendario de días festivos de mi país para usarlo en Excel?
Lo más fiable es copiarlo del boletín oficial o del organismo que publica el calendario laboral cada año y pegarlo en una hoja aparte, por ejemplo Hoja2!A1:A20, reservando una columna para la fecha y otra para el nombre del festivo. Después usas ese rango como tercer argumento de DIA.LAB o DIAS.LAB para que Excel lo descuente automáticamente.
5. ¿Cómo calculo en Excel los días que han pasado desde una fecha hasta hoy?
La forma más sencilla es =HOY()-A1, donde A1 contiene la fecha inicial; el resultado es el número de días transcurridos hasta hoy, y se actualiza solo cada vez que abres el libro. Si quieres descontar fines de semana, usa =DIAS.LAB(A1;HOY()) y, si tienes una lista de festivos, pásala como tercer argumento para excluir también esos.
Fuentes
- MicrosoftDIAS.LAB.INTL — documentación oficialconsultado el 12/10/2026
- MicrosoftDIAS.LAB — documentación oficialconsultado el 12/10/2026
- MicrosoftDIAS — documentación oficialconsultado el 12/10/2026
- MicrosoftDIA.LAB.INTL — documentación oficialconsultado el 12/10/2026
- MicrosoftDIASEM — documentación oficialconsultado el 12/10/2026