Fórmulas de fecha en Excel: vencimientos y días hábiles
Las fórmulas para calcular un vencimiento, un retraso, días hábiles sin festivos o una antigüedad en Excel, con ejemplos comprobados y las trampas que conviene conocer.
En Excel, una fecha es un número. El 1 de enero de 1900 vale 1, y cada día suma 1: el 4 de noviembre de 2026 vale 46330. Eso es lo que hace posibles los cálculos. Un vencimiento a 30 días es la fecha de inicio más 30. Un retraso es hoy menos el vencimiento.
Las dificultades empiezan con los fines de semana, los festivos, los finales de mes y las antigüedades. Esta guía da la fórmula para cada caso, con ejemplos calculados sobre fechas reales y las trampas que falsean los resultados. Completa nuestra guía del dashboard en Excel, donde estas fechas alimentan los indicadores.
¿Cómo guarda Excel las fechas?
Excel guarda cada fecha como un número de serie. Según la documentación de Microsoft, el 1 de enero de 1900 es el número de serie 1 en el sistema de fechas predeterminado de Excel para Windows. El formato de la celda solo cambia la presentación: 46330 y 04/11/2026 son el mismo valor.
Tres consecuencias prácticas:
- Una fecha escrita como texto no calcula. Si «04/11/2026» se pega desde otro programa y queda alineada a la izquierda, Excel la ve como texto. =FECHANUMERO(A2) la convierte, igual que «Texto en columnas» en la pestaña Datos.
- Una diferencia entre dos fechas a veces se muestra como fecha. =B2-A2 devuelve un número de días; si la celda hereda el formato Fecha, 14 se ve como «14/01/1900». Cámbiela a Número.
- Una hora es una fracción de día. Las 12:00 valen 0,5. Una celda con fecha y hora da diferencias decimales: =ENTERO(B2-A2) se queda con los días completos.
Las 12 funciones de fecha que hay que conocer
Doce funciones cubren casi todo lo que necesita una pyme: crear una fecha, desplazarla, contar días hábiles, medir una diferencia. Los nombres son los del Excel en español; los argumentos se separan con punto y coma.
| Función | Qué hace | Ejemplo | Resultado |
|---|---|---|---|
| HOY() | Fecha de hoy, recalculada al abrir | =HOY() | 04/11/2026 |
| FECHA(año;mes;día) | Construye una fecha | =FECHA(2026;11;4) | 04/11/2026 |
| AÑO, MES, DIA | Extraen una parte de la fecha | =MES(A2) | 11 |
| DIASEM(fecha;2) | Día de la semana, lunes = 1 | =DIASEM(A2;2) | 3 (miércoles) |
| ISO.NUM.DE.SEMANA(fecha) | Número de semana ISO | =ISO.NUM.DE.SEMANA(A2) | 45 |
| FECHA.MES(fecha;meses) | Mismo día, n meses después | =FECHA.MES(A2;3) | 04/02/2027 |
| FIN.MES(fecha;meses) | Último día del mes, n meses después | =FIN.MES(A2;1) | 31/12/2026 |
| DIA.LAB(fecha;días;festivos) | Fecha tras n días hábiles | =DIA.LAB(A2;10;Festivos) | 18/11/2026 |
| DIAS.LAB(inicio;fin;festivos) | Días hábiles entre dos fechas | =DIAS.LAB(A2;B2;Festivos) | 21 |
| DIAS.LAB.INTL | Lo mismo, con otro fin de semana | =DIAS.LAB.INTL(A2;B2;11) | Solo domingo libre |
| SIFECHA(inicio;fin;unidad) | Diferencia en años, meses o días | =SIFECHA(A2;B2;"Y") | 7 |
| TEXTO(fecha;formato) | Escribe una fecha en letras | =TEXTO(A2;"dddd, d ""de"" mmmm") | miércoles, 4 de noviembre |
Ejemplos calculados con A2 = 04/11/2026 y B2 = 30/11/2026 (salvo SIFECHA: A2 = 15/03/2019, B2 = 04/11/2026) y un rango Festivos vacío. Añada los festivos de su comunidad y de su municipio.
¿Cómo se calcula una fecha de vencimiento?
Para un vencimiento en días naturales, sume el plazo a la fecha de inicio: =A2+30. Una factura emitida el 15 de noviembre de 2026 a 30 días vence el 15 de diciembre de 2026. Para plazos en meses, a final de mes o en días hábiles, hay otras tres fórmulas.
| Plazo | Fórmula | Inicio el 15/11/2026 |
|---|---|---|
| 30 días | =A2+30 | 15/12/2026 |
| 1 mes, mismo día | =FECHA.MES(A2;1) | 15/12/2026 |
| Final del mes siguiente | =FIN.MES(A2;1) | 31/12/2026 |
| 10 días hábiles | =DIA.LAB(A2;10;Festivos) | 27/11/2026 |
FECHA.MES tiene un comportamiento que conviene conocer: cuando el día no existe en el mes de llegada, Excel toma el último día del mes. =FECHA.MES(FECHA(2027;1;31);1) devuelve el 28 de febrero de 2027, y un mes después el 28 de marzo, no el 31. Para vencimientos mensuales que siempre caen a final de mes, es mejor FIN.MES, que no se desplaza.
¿Cómo se calcula un retraso?
El retraso es la diferencia entre hoy y el vencimiento, una vez pasado este: =MAX(0;HOY()-B2). La fórmula devuelve 0 mientras la fecha no haya llegado y, después, los días de retraso. Con un vencimiento el 15 de octubre de 2026, el retraso el 4 de noviembre de 2026 es de 20 días.
Para una hoja de seguimiento, dos columnas más hacen legible el retraso:
- Un estado: =SI(B2="";"Sin vencimiento";SI(B2<HOY();"Con retraso";SI(B2-HOY()<=7;"Esta semana";"Próximo"))).
- Un formato condicional: regla «Utilice una fórmula: =Y($B2<>"";$B2<HOY())», relleno rojo claro, aplicado a toda la fila.
HOY es una función «volátil»: se recalcula cada vez que se abre o se modifica el libro. El retraso siempre está al día, pero cambia cada día. Si necesita fijar una fecha (el envío de un recordatorio, por ejemplo), escríbala a mano en vez de calcularla.
¿Cómo se cuentan los días hábiles, festivos incluidos?
DIAS.LAB cuenta los días de lunes a viernes entre dos fechas, ambos extremos incluidos, menos los festivos que le indique. Del 2 al 30 de noviembre de 2026 salen 21 días hábiles si no hay festivos en el periodo. DIA.LAB hace lo contrario: devuelve la fecha tras n días hábiles.
El tercer argumento, la lista de festivos, es opcional. Es el que más se olvida y el que más cuesta. En España, según el artículo 37.2 del Estatuto de los Trabajadores, las fiestas laborales no pueden pasar de catorce al año, de las cuales dos son locales.
Por eso una lista nacional no basta: el calendario real de una empresa mezcla festivos nacionales, autonómicos y locales, y cambia de un municipio a otro. Cree una hoja «Festivos» con las fechas de su calendario laboral, póngale el nombre Festivos (Fórmulas › Definir nombre) y actualícela cada año cuando se publiquen los calendarios oficiales.
Si su semana laboral no va de lunes a viernes, use las versiones .INTL. Según Microsoft, el código 11 indica un fin de semana solo de domingo, y una cadena de siete caracteres describe cualquier semana: "0000011" libra sábado y domingo, "0000001" solo el domingo. Una tienda abierta de martes a sábado se escribe "1000001".
¿Cómo se calcula una antigüedad o una edad?
SIFECHA calcula la diferencia entre dos fechas en años, meses o días completos. Para una contratación el 15 de marzo de 2019, el 4 de noviembre de 2026, =SIFECHA(A2;B2;"Y") devuelve 7 años, y =SIFECHA(A2;B2;"YM") los 7 meses restantes.
| Unidad | Qué devuelve | Ejemplo (15/03/2019 → 04/11/2026) |
|---|---|---|
| "Y" | Años completos | 7 |
| "M" | Meses completos | 91 |
| "D" | Días | 2.791 |
| "YM" | Meses restantes tras los años | 7 |
| "YD" | Días restantes, sin los años | 234 |
| "MD" | Días restantes tras los meses | Evitar |
Dos trampas. Según la documentación de Microsoft, «no se recomienda usar el argumento "MD", ya que tiene limitaciones conocidas»: puede dar un resultado negativo, cero o inexacto. Y si la fecha inicial es posterior a la final, SIFECHA devuelve el error #¡NUM!. Para una antigüedad en palabras, combine: =SIFECHA(A2;B2;"Y")&" años y "&SIFECHA(A2;B2;"YM")&" meses".
¿Qué errores frecuentes conviene evitar?
La mayoría de los errores de fecha no vienen de las fórmulas, sino de los datos: fechas escritas como texto, formatos mezclados, festivos olvidados. Cinco se repiten a menudo:
- Fechas como texto tras copiar y pegar: alineadas a la izquierda, no se ordenan ni calculan.
- El formato estadounidense: 11/04/2026 se lee como 4 de noviembre o 11 de abril según la configuración regional. Mejor escribir 2026-11-04, que se entiende en todas partes.
- La lista de festivos ausente en DIA.LAB y DIAS.LAB.
- Una fórmula HOY donde hace falta una fecha fija: la fecha del recordatorio «se mueve» cada día.
- La unidad "MD" de SIFECHA, que da resultados erróneos a final de mes.
¿Y cuando el archivo ya no basta?
Una fórmula calcula un vencimiento, pero no avisa a nadie. La hoja muestra «Con retraso» en rojo, siempre que alguien abra el archivo. Y en cuanto varias personas lo modifican, vuelven las fechas escritas como texto y las fórmulas sobrescritas. Es el mismo límite que describe nuestra guía del control de inventario en Excel.
La verdadera pregunta no suele ser «¿qué fórmula?», sino «¿a quién hay que avisar, y cuándo?». Un vencimiento útil desencadena una acción: un correo al cliente tres días antes, un aviso al responsable el mismo día.
En Rangee, un campo Fecha no admite texto, y las fórmulas hacen los mismos cálculos: WORKDAY({Inicio}, 10, festivos) para una fecha en días hábiles, WORKDAY_DIFF para contarlos, DATETIME_DIFF para una diferencia, IS_BEFORE({Vencimiento}, TODAY()) para detectar un retraso. Una automatización programada puede enviar cada mañana un correo con los vencimientos del día. Nuestra comparativa de alternativas europeas a Airtable sitúa Rangee entre las demás bases no-code.
Si quiere convertir un archivo de vencimientos en una herramienta que avisa sola, únase a la beta de Rangee: el plan Free no caduca y los lectores nunca pagan.
Preguntas frecuentes
¿Cómo se calcula una fecha de vencimiento en Excel?
Sume el plazo a la fecha de inicio: =A2+30 devuelve la fecha 30 días después de A2. Para un vencimiento en días hábiles, use =DIA.LAB(A2;10;Festivos), que salta sábados, domingos y las fechas del rango Festivos. Para el último día del mes siguiente, use =FIN.MES(A2;1).
¿Cómo se calculan los días entre dos fechas en Excel?
Reste la fecha más antigua de la más reciente: =B2-A2, con la celda en formato Número. Para contar solo días hábiles, use =DIAS.LAB(A2;B2;Festivos), que cuenta las dos fechas extremas. Del 2 al 30 de noviembre de 2026 salen 21 días hábiles si no hay ningún festivo en el periodo.
¿Cómo se calcula un retraso en Excel?
Use =MAX(0;HOY()-B2), donde B2 es el vencimiento. La fórmula devuelve los días de retraso, y 0 mientras el vencimiento no haya pasado. HOY se recalcula cada vez que se abre el archivo: el retraso siempre está al día, pero cambia de un día para otro.
¿Cómo se calcula la antigüedad en años y meses en Excel?
Con SIFECHA: =SIFECHA(A2;HOY();"Y") para los años completos y =SIFECHA(A2;HOY();"YM") para los meses restantes. Para una contratación el 15 de marzo de 2019, el 4 de noviembre de 2026 da 7 años y 7 meses. Evite la unidad "MD", que Microsoft desaconseja.
¿Por qué mi fórmula de fecha muestra un número?
Porque Excel guarda las fechas como números: 46330 es el 4 de noviembre de 2026. Basta con poner la celda en formato Fecha corta. Al revés, un resultado en días, como la diferencia entre dos fechas, debe ir en formato Número; si no, Excel lo muestra como una fecha de 1900.
Fuentes
- Microsoft, Función FECHA (soporte de Excel), consultado el 4 de noviembre de 2026
- Microsoft, Función SIFECHA (soporte de Excel), consultado el 4 de noviembre de 2026
- Microsoft, Función DIA.LAB (soporte de Excel), consultado el 4 de noviembre de 2026
- Microsoft, Función DIAS.LAB.INTL (soporte de Excel), consultado el 4 de noviembre de 2026
- BOE, Real Decreto Legislativo 2/2015, Estatuto de los Trabajadores, artículo 37
Este artículo también está disponible en Français, Deutsch, English.