Control de vacaciones en Excel: guía para pymes
Contenido del artículo
- Cómo estructurar una tabla de control de vacaciones para empleados
- Columnas esenciales para el registro
- Diferenciación entre días naturales y días hábiles
- Fórmulas clave para automatizar el cálculo en Excel
- Días laborables del periodo: DIAS.LAB y DIAS.LAB.INTL
- Días naturales del periodo
- Días disfrutados, solo los que ya se han disfrutado
- Proporcionalidad para quien entra a mitad de año
- Gestión de festivos y alertas de comunicación
- Creación de la hoja ‘Festivos’ y vinculación de datos
- Alerta automática de comunicación
- Cumplimiento legal según el Estatuto de los Trabajadores
- Duración mínima y tipos de días (Art. 38)
- Reglas de comunicación y plazos de aviso (Art. 38.3)
- Casos especiales: IT y fin de contrato
- Alternativas de automatización para el crecimiento de la pyme
- Confidencialidad: datos de empleados en una hoja compartida
- Checklist antes de dar por buena la hoja
Cuando un cliente te pasa una lista de doce nombres y te pide “hacer una hoja de vacaciones”, el problema no es la tabla: es que en marzo nadie recuerda si a Pedro le quedan cuatro días o seis, y en julio el jefe pregunta “¿quién está de vacaciones la semana del 14?” y no hay respuesta rápida.
Una hoja bien montada en Excel resuelve eso: sabes el saldo de cada persona, detectas el aviso de dos meses antes de que el Estatuto de los Trabajadores te lo reclame, y el festivo de la Semana Santa no te descuadra el cálculo de días laborables.
Cómo estructurar una tabla de control de vacaciones para empleados
Columnas esenciales para el registro
La estructura que funciona en la práctica son dos hojas: una de Trabajadores (una fila por persona, con su saldo) y una de Registros (una fila por cada periodo de vacaciones que se toma). Así nadie sobrescribe los periodos anteriores.
Hoja Trabajadores
| Columna | Contenido | Ejemplo |
|---|---|---|
| A | Nombre del trabajador | Laura Gómez |
| B | Fecha de alta | 01/03/2026 |
| C | Días anuales según convenio | 22 |
| D | Días que le corresponden este año (fórmula de proporcionalidad) | 18 |
| E | Días disfrutados (fórmula) | 10 |
| F | Días pendientes (= D − E) | 8 |
Hoja Registros
| Columna | Contenido |
|---|---|
| A | Nombre del trabajador (igual que en la otra hoja) |
| B | Fecha de inicio del periodo |
| C | Fecha de fin del periodo |
| D | Días del periodo (fórmula) |
| E | Estado: Solicitada, Aprobada o Disfrutada |
| F | Fecha en que se comunicaron las fechas al trabajador |
| G | Aviso (fórmula) |
Un detalle que se repite: la columna C de Trabajadores no es siempre 22. Un convenio puede dar 23 hábiles o 30 naturales. Si pones 22 fijo y el convenio dice otra cosa, el saldo no cuadra.
Diferenciación entre días naturales y días hábiles
Aquí es donde se rompe la hoja si no lo planteas bien desde el principio. El convenio puede contar en días naturales (todos los días del calendario) o en días laborables (sin fines de semana ni festivos). No mezcles las dos cosas en la misma columna de saldo.
Si el trabajador se toma del viernes 10 al lunes 13 de julio de 2026, son cuatro días naturales (10, 11, 12 y 13) pero solo dos laborables (el 10 y el 13). Si el convenio cuenta en laborables y tú restas naturales, le descuentas cuatro cuando le tocan dos.
La solución práctica: una sola unidad por hoja, la que marque el convenio, y la fórmula de la columna D de Registros adaptada a esa unidad.
Fórmulas clave para automatizar el cálculo en Excel
Todas las fórmulas van con el nombre de la función en español y con punto y coma, que es como las escribe Excel en español.
Días laborables del periodo: DIAS.LAB y DIAS.LAB.INTL
En la hoja Registros, columna D, para contar los días laborables del periodo:
=DIAS.LAB(B2;C2;Festivos!$A$2:$A$40)
B2 es la fecha de inicio, C2 la de fin, y el rango apunta a la hoja de festivos. DIAS.LAB cuenta de lunes a viernes, quita los festivos de la lista y cuenta el primer y el último día.
Si en la empresa el sábado es laborable, usa DIAS.LAB.INTL con el código 11, que significa que solo se descansa el domingo:
=DIAS.LAB.INTL(B2;C2;11;Festivos!$A$2:$A$40)
Para otros calendarios, el tercer argumento admite un texto de siete ceros y unos, de lunes a domingo, donde 1 es día no laborable. Por ejemplo, quien trabaja de lunes a jueves: =DIAS.LAB.INTL(B2;C2;"0000111";Festivos!$A$2:$A$40).
Días naturales del periodo
Si el convenio cuenta en días naturales, la columna D de Registros es una resta:
=C2-B2+1
El +1 es porque la resta no cuenta el día de inicio: del 1 al 5 de julio son cinco días, no cuatro.
Días disfrutados, solo los que ya se han disfrutado
En la hoja Trabajadores, columna E, suma los días de ese trabajador que estén en estado Disfrutada, y no los solicitados ni los pendientes de aprobar:
=SUMAR.SI.CONJUNTO(Registros!$D:$D;Registros!$A:$A;A2;Registros!$E:$E;"Disfrutada")
Y la columna F, días pendientes, es =D2-E2.
Proporcionalidad para quien entra a mitad de año
En la columna D de Trabajadores, los días que corresponden a quien se incorpora durante el año:
=REDONDEAR(C2*(FECHA(AÑO(B2);12;31)-B2+1)/365;0)
Toma los días anuales del convenio (C2) y los multiplica por la parte del año que queda desde la fecha de alta (B2). Si la persona estaba de alta todo el año, en D basta con =C2. El redondeo lo decide el convenio:
- Al entero más próximo:
REDONDEAR(...;0) - Siempre al alza:
REDONDEAR.MAS(...;0) - Siempre a la baja:
REDONDEAR.MENOS(...;0)
Si el convenio no dice nada, deja anotado en la hoja qué criterio se ha seguido, para que la revisión del año siguiente use el mismo.
Gestión de festivos y alertas de comunicación
Creación de la hoja ‘Festivos’ y vinculación de datos
Abre una hoja llamada “Festivos” con dos columnas: la fecha (columna A) y el nombre del festivo (columna B), una fila por festivo. Los de cada año salen de tres sitios distintos:
- Los nacionales y autonómicos, de la resolución anual de la Dirección General de Trabajo que se publica en el BOE.
- Los de la comunidad autónoma, de su boletín oficial.
- Los dos festivos locales, del ayuntamiento.
Revísala cada enero: cambian todos los años. Las fórmulas de DIAS.LAB apuntan a la columna A con referencia absoluta ($A$2:$A$40), así que al añadir un festivo se recalcula todo solo.
Un truco: si el cliente tiene centros en dos municipios, haz una hoja de festivos por centro y apunta cada trabajador a la suya.
Alerta automática de comunicación
El artículo 38.3 del Estatuto de los Trabajadores dice que el trabajador conocerá las fechas que le correspondan dos meses antes, al menos, del comienzo del disfrute. Para que la hoja avise, en la columna G de Registros:
=SI(Y(F2="";HOY()>=FECHA.MES(B2;-2));"Comunicar ya";"")
Si todavía no has anotado la fecha de comunicación (F2 vacía) y ya estás a dos meses o menos del inicio de las vacaciones (B2), la celda dice “Comunicar ya”. Añade un formato condicional que la pinte en rojo y, al abrir la hoja, verás de un vistazo a quién hay que avisar.
Cumplimiento legal según el Estatuto de los Trabajadores
Duración mínima y tipos de días (Art. 38)
El artículo 38.1 del Estatuto de los Trabajadores fija un mínimo de 30 días naturales (o los que proporcionalmente correspondan si la prestación es de menor duración). El convenio colectivo puede dar más, nunca menos. Si el convenio no existe o no regula las vacaciones, se aplica ese mínimo legal.
Quien trabaja solo una parte del año tiene los días que proporcionalmente le correspondan. La fórmula de arriba lo calcula; el criterio de redondeo, si el convenio lo fija, es el que manda.
Reglas de comunicación y plazos de aviso (Art. 38.3)
El artículo 38.3 del Estatuto de los Trabajadores dice que el calendario de vacaciones se fija en cada empresa y que el trabajador conocerá las fechas que le correspondan dos meses antes, al menos, del comienzo del disfrute. La ley no exige una forma concreta, pero conviene que quede constancia: un correo con acuse o una firma en el calendario te sirven de prueba si alguien discute la fecha.
En la hoja de Excel, la columna “Fecha comunicación” no es decorativa: es tu prueba de que se cumplió el plazo. Si Inspección de Trabajo pregunta, esa celda con fecha te cubre.
Casos especiales: IT y fin de contrato
Incapacidad temporal. Si las vacaciones fijadas coinciden con una incapacidad temporal que impide disfrutarlas, el artículo 38.3 del Estatuto da derecho a disfrutarlas en otra fecha, al terminar la IT, aunque haya acabado el año, siempre que no hayan pasado más de dieciocho meses desde el final del año en que se originaron. Si la IT deriva del embarazo, el parto o la lactancia natural, o coincide con los permisos del artículo 48, no hay ese límite de dieciocho meses. En la hoja, marca ese periodo como no disfrutado y crea una fila nueva con las fechas nuevas: los días de IT no se descuentan del saldo.
Fin de contrato. Si el contrato termina con días de vacaciones pendientes, el Estatuto de los Trabajadores obliga a compensarlos económicamente al extinguirse la relación laboral (días pendientes × salario diario). La cuenta aproximada es días pendientes × salario anual / 365; el convenio puede fijar otra forma de calcular el salario diario.
Alternativas de automatización para el crecimiento de la pyme
Una hoja de Excel con ocho o diez trabajadores funciona. Con veinticinco, empieza a ser un problema: alguien cambia una fecha y se descuadra el saldo, o el festivo nuevo no se actualiza en la columna de referencia.
Cuando el cliente crece, la alternativa es un software de gestión de RR. HH. que automatice el flujo de solicitud, aprobación y registro. Factorial (española, con módulo de vacaciones integrado en la nómina) y Personio (alemana, con buen flujo de aprobación) son las que se ven más en pymes de quince a cincuenta personas. La ventaja frente a Excel: el trabajador pide desde una app, el jefe aprueba, y el saldo se actualiza solo. El técnico de la gestoría deja de ser el “gestor de vacaciones” y pasa a revisar excepciones.
Si el cliente es un autónomo con uno o dos empleados y no quiere pagar un software de RR. HH., una hoja de Excel bien montada le basta. Para ese perfil, hay una guía específica en software de gestión de vacaciones para autónomos que va por el mismo camino con menos columnas.
Confidencialidad: datos de empleados en una hoja compartida
Esta hoja lleva nombres, fechas de alta y, a veces, anotaciones sobre bajas médicas. Es información personal protegida por el Reglamento (UE) 2016/679 (RGPD) y la Ley Orgánica 3/2018 de Protección de Datos Personales y garantía de los derechos digitales (LOPDGDD). Tres reglas prácticas:
- La hoja no se sube a un Drive compartido sin control de accesos. Si está en OneDrive o Google Drive, revisa que solo la ven las personas autorizadas.
- No metas el NIF ni el motivo de una baja: no hacen falta para ningún cálculo. Menos datos, menos riesgo.
- Si la hoja se envía por correo a un cliente, va en PDF o con contraseña. Un Excel adjunto sin protección en un mail es un dato personal en claro.
Checklist antes de dar por buena la hoja
Antes de entregar la hoja al cliente o de usarla en el primer trimestre, pasa estos puntos:
- La columna de días anuales refleja lo que dice el convenio del cliente, no un 22 genérico.
- La hoja de festivos incluye nacionales, autonómicos y locales de la provincia correcta.
- Las fórmulas de DIAS.LAB apuntan a la hoja de festivos con referencia absoluta (
$A$2:$A$40), no relativa. - El criterio de redondeo para proporcionalidad está anotado y coincide con el convenio.
- La columna de fecha de comunicación existe y el aviso “Comunicar ya” se pinta en rojo con formato condicional.
- El saldo solo descuenta los periodos en estado Disfrutada.
- El acceso a la hoja está restringido a las personas que la necesitan.
Si un trimestre después el saldo de alguien no cuadra, lo primero que hay que mirar es si se añadió un festivo local que no estaba en la columna de referencia. Es el descuadre que más se repite y el más fácil de corregir: una celda en la hoja de Festivos y todas las fórmulas se actualizan solas.