EOMONTH en Excel: guía completa para calcular fechas de fin de mes

Enlaces rápidos
La sintaxis de EOMONTH
Calcular fechas de fin de mes futuras
Calcular fechas de fin de mes pasadas
Fechas de fin de mes a largo plazo (años)
Calcular el fin de mes del mes actual
Generar secuencias de fechas de fin de mes
Qué hace EOMONTH (idea principal)
EOMONTH toma una fecha inicial y un desplazamiento en meses, avanza o retrocede esa cantidad y devuelve el último día del mes resultante. Devuelve un número de serie de fecha: aplica formato de fecha para verlo como día/mes/año.
Nota rápida: en versiones localizadas de Excel la función aparece como FIN.MES; las sintaxis y el comportamiento son equivalentes.
La sintaxis de EOMONTH
=EOMONTH(a,b)- a: fecha de inicio (puede ser una referencia, DATE(), TODAY(), o resultado de otra función).
- b: número de meses a desplazarse (positivo = hacia adelante, negativo = hacia atrás, 0 = mismo mes).
Ejemplos de argumento a:
| Argumento a | Descripción |
|---|---|
| =EOMONTH(A1, | La fecha de inicio proviene de la celda A1. |
| =EOMONTH(DATE(2025,05,31), | La fecha de inicio es 31 mayo 2025. |
| =EOMONTH(TODAY(), | La fecha de inicio es la fecha de hoy. |
Ejemplos de argumento b:
| Argumento b | Descripción |
|---|---|
| =EOMONTH(A1, 5) | Último día del mes cinco meses después de A1. |
| =EOMONTH(A1, -5) | Último día del mes cinco meses antes de A1. |
| =EOMONTH(A1, 0) | Último día del mes de la fecha en A1. |
| =EOMONTH(A1, A2) | Usa el número de meses de la celda A2 como desplazamiento. |
| =EOMONTH(A1, -A2) | Desplaza hacia atrás el número de meses en A2. |
Cómo interpreta Excel las fechas
Breve definición: Excel almacena fechas como números enteros (serie de días desde 1/1/1900) y horas como fracciones. EOMONTH devuelve ese número; aplica formato de fecha para leerlo como día/mes/año.
Importante: si ves un resultado que parece fecha pero quieres número de días, cambia el formato de la celda a “General” o “Número”.
1) Calcular fechas de fin de mes futuras
Escenario: eres gestor de proyectos y cada entregable vence al final de un mes. En tu tabla tienes fecha de inicio y duración en meses. Quieres la fecha de fin (último día del mes resultante).

Paso a paso (uso con tabla estructurada):
- En la celda E2 escribe:
=EOMONTH([@[Start date]],[@Months])- Pulsa Enter. Si usas una tabla, la columna se autocompletará con referencias estructuradas.
- Si usas un rango normal, copia la fórmula hacia abajo con el controlador de relleno.
Ejemplo: inicio 04/01/2025, desplazamiento 3 → EOMONTH devuelve 30/04/2025.
Beneficios: fórmulas por fila que reaccionan si cambias duración o fecha de inicio; evita editar la fórmula cada vez.
2) Calcular fechas de fin de mes pasadas
Si necesitas la fecha límite de inicio para garantizar margen (por ejemplo, empezar X meses antes del vencimiento y con 1 mes de amortiguación), usa un desplazamiento negativo con sumas.
Ejemplo: quieres que, para un proyecto de 5 meses, el inicio sea el último día del mes situado 6 meses antes del deadline. En D2:
=EOMONTH([@Deadline],-[@Months]-1)Desglose: EOMONTH toma la fecha de Deadline, retrocede N meses ([@Months]) y resta 1 mes adicional; devuelve el último día del mes resultante.
Ejemplo práctico: Deadline 27/01/2026, Months=5 → EOMONTH devuelve 31/07/2025.

3) Fechas de fin de mes a largo plazo (años)
EOMONTH trabaja en meses. Para desplazar años multiplica por 12.
Ejemplo: en E2:
=EOMONTH([@[Start date]],[@Years]*12)Para retroceder años:
=EOMONTH([@[Start date]],-[@Years]*12)Ejemplo: inicio 04/01/2025, Years=2 → EOMONTH devuelve 31/01/2027.

4) Calcular el fin de mes del mes actual
Para obtener días restantes en el mes y usarlo en presupuestos o límites diarios, combina EOMONTH con TODAY():
=EOMONTH(TODAY(),0)-TODAY()- EOMONTH(TODAY(),0) → último día del mes actual.
- TODAY() → fecha actual.
- La resta da número de días restantes.
Si Excel convierte el resultado a formato fecha, cambia el formato a “General” o “Número”.

Ejemplo posterior: si el exceso disponible está en B6 y los días en B1, el gasto diario máximo en B7:
=B6/B15) Generar secuencias de fechas de fin de mes
Combina SEQUENCE con EOMONTH para crear quickly una lista de fines de mes.
SEQUENCE tiene forma:
=SEQUENCE(rows,columns,start,step)Ejemplo: generar fines de mes para 2025 (mes a mes) partiendo del 31/12/2024:
=EOMONTH(DATE(2024,12,31),SEQUENCE(12))- SEQUENCE(12) → array vertical de 1..12
- EOMONTH(…, array) → devuelve matriz con el último día de cada mes siguiente
- Resultado dinámico: «spill» en celdas adyacentes; no funciona dentro de una tabla.
Para cada dos meses (incremento 2) en 2025 empezando enero:
=EOMONTH(DATE(2024,12,31),SEQUENCE(6,,,2))Para trimestres (cada 3 meses):
=EOMONTH(DATE(2025,2,28),SEQUENCE(4,,,3))Nota: fija (paste values) si quieres convertir la matriz dinámica en valores estáticos: copiar → pegar como valores (Ctrl+C → Ctrl+Shift+V).

Ejemplos prácticos extendidos
A continuación se recogen varios ejemplos con contexto, fórmulas y observaciones.
Ejemplo A — Calendario de suscripciones:
- Objetivo: listados de fechas de cobro a fin de mes durante 24 meses.
- Fórmula (celda A2):
=EOMONTH(TODAY(),SEQUENCE(24))Puntos a considerar: si quieres que la primera fecha sea el último día del mes siguiente (no del mes actual), usa EOMONTH(TODAY(),SEQUENCE(24,1,1)) o parte con DATE del mes anterior.
Ejemplo B — Pago trimestral a partir de fecha arbitraria:
- Fecha de firma: 15/03/2025. Necesitas los próximos 4 fines de trimestre (mar, jun, sep, dic).
- Fórmula:
=EOMONTH(DATE(2025,3,15),SEQUENCE(4,,,3))Esto devuelve 31/03/2025, 30/06/2025, 30/09/2025, 31/12/2025.
Ejemplo C — Convertir fechas a último día del mes para conciliaciones:
Si tienes fechas de facturas y quieres agrupar por mes contable (último día como clave):
=EOMONTH(A2,0)Luego pivotas por esa columna.
Casos especiales y errores comunes
- Febrero y años bisiestos: EOMONTH maneja automáticamente febrero (28 o 29 días según año). No necesitas lógica adicional.
- Fechas fuera del rango: Excel tiene límites (fechas válidas aprox. 1/1/1900 a 31/12/9999). EOMONTH que produzca fuera de rango dará error.
- Tipos de datos: si el argumento a no es una fecha válida o es texto, EOMONTH devuelve error #VALUE!.
- Argumento b no numérico → #VALUE!. Si b es decimal, Excel lo truncará a entero antes de desplazar.
- Problema de formato: si la celda formatea la salida como fecha, verás dd/mm/aaaa; si se muestra como número, cambia a formato de fecha.
Important: en hojas con configuraciones regionales distintas, el formato de fecha y el separador decimal/coma puede variar. Las fórmulas con coma como separador (,) son las que usa la mayoría de Excel en configuración en inglés; en muchas versiones en español el separador puede ser punto y coma (;). Si tu Excel da error de sintaxis, prueba con ; en lugar de ,.
Alternativas a EOMONTH y cuándo usarlas
- EDATE: devuelve la misma fecha del mes resultante (misma día numérico), no el último día. Úsalo cuando necesites mantener el día exacto.
- FECHA/DATE con lógica de fin de mes: construir el 1 del mes siguiente y restar 1 día:
=DATE(YEAR(a),MONTH(a)+b+1,1)-1Esta alternativa replica EOMONTH y puede ser útil si quieres entender la operación paso a paso.
Compatibilidad y versiones de Excel
- EOMONTH/FIN.MES existe en versiones de Excel desde hace muchos años (incluye Excel 2010, 2013, 2016, 2019, 2021 y Microsoft 365).
- SEQUENCE y matrices dinámicas requieren Excel con soporte de dynamic arrays (Microsoft 365 o Excel 2021+). En versiones antiguas SEQUENCE no está disponible; tendrás que arrastrar o usar fórmulas tradicionales.
Tabla rápida de compatibilidad:
| Función | Excel 2010 | Excel 2016 | Excel 2019 | Excel 2021 / 365 |
|---|---|---|---|---|
| EOMONTH / FIN.MES | Sí | Sí | Sí | Sí |
| EDATE | Sí | Sí | Sí | Sí |
| SEQUENCE | No | No | Limitado | Sí |
| Matrices dinámicas | No | Parcial | Parcial | Sí |
Plantillas y checklists (útiles para equipos)
Plantilla básica de tabla para gestionar proyectos por fin de mes:
| Proyecto | Duración (meses) | Asignado | Fecha inicio | Fecha fin (EOMONTH) |
|---|---|---|---|---|
| Proyecto A | 3 | María | 04/01/2025 | =EOMONTH([@[Fecha inicio]],[@Duración]) |
Checklist para el gestor de proyectos:
- Verificar que las fechas de inicio son fechas válidas en Excel.
- Usar referencias estructuradas si la tabla está en formato Tabla de Excel.
- Comprobar formato de celda en Fecha.
- Probar con casos límite (inicio en 31 de mes, febrero en año bisiesto).
- Documentar si se requiere primer día del mes siguiente en vez del último.
Checklist para contabilidad:
- Convertir todas las fechas a último día de mes para consolidación.
- Agrupar y pivotar por columna EOMONTH para reportes mensuales.
- Validar con conciliación bancaria.
Mini-metodología para implementar EOMONTH en plantillas
- Decide el comportamiento: ¿último día del mes o mismo día? (EOMONTH vs EDATE).
- Normaliza las columnas de fecha: formatea como Fecha y valida entradas erróneas.
- Implementa fórmula en primera fila y extiende (Tabla o arrastre).
- Añade pruebas rápidas: verifica con inicios en 31/01, 28/02 y 29/02 (bisiesto).
- Documenta la lógica para futuros usuarios.
Heurísticos y mental model
- Mental model simple: EOMONTH = «mover meses → pedir último día». Piensa en “mover en bloques mensuales” en lugar de días.
- Si necesitas mantener el mismo día del mes, piensa en EDATE.
- Si combinas con SEQUENCE, piensa que EOMONTH actúa elemento a elemento sobre la secuencia.
Diagrama de decisión (flujo) para elegir función (Mermaid)
flowchart TD
A[¿Necesitas el último día del mes?] -->|Sí| B[Usa EOMONTH / FIN.MES]
A -->|No| C[¿Necesitas el mismo día del mes al desplazar?]
C -->|Sí| D[Usa EDATE]
C -->|No 'necesitas otro cálculo'| E[Usa DATE'YEAR'',MONTH''+offset,1'-1]
B --> F[¿Necesitas una secuencia?]
F -->|Sí| G[Combina con SEQUENCE 'solo Excel 365/2021']
F -->|No| H[Aplicar por fila o tabla]Pruebas y criterios de aceptación
Casos de prueba mínimos:
- Entrada: 31/01/2025, desplazamiento 1 → Esperado: 28/02/2025 (o 29 si bisiesto).
- Entrada: 15/03/2025, desplazamiento 0 → Esperado: 31/03/2025.
- Entrada: 01/01/2024, desplazamiento -1 → Esperado: 31/12/2023.
- Entrada no válida (texto) → Esperado: error #VALUE!.
Criterios de aceptación:
- La fórmula devuelve una fecha válida dentro del rango permitido.
- La columna está formateada como Fecha y se agrupa correctamente en informes.
- Pruebas de borde (febrero, 31-30 day months) pasan sin intervención manual.
Errores a vigilar y cómo mitigarlos
- Error de separador (coma vs punto y coma): documenta la convención regional y adapta plantillas.
- SEQUENCE no disponible: prepara alternativas con autofill o fórmulas con ROW()/COLUMN() para versiones antiguas.
- Usuarios que editan fórmulas accidentalmente: proteger hoja o usar celdas de entrada separadas.
Seguridad y privacidad
EOMONTH no envía datos ni comparte nada: solo es una operación local de hoja de cálculo. Si tus hojas contienen datos personales o financieros, aplica las políticas de privacidad y acceso apropiadas en tu organización.
Preguntas frecuentes rápidas
Q: ¿EOMONTH devuelve texto? A: No, devuelve un número de serie; aplica formato Fecha para leerlo.
Q: ¿Qué pasa si b es decimal? A: Excel truncará el decimal a entero antes del cálculo.
Q: ¿EOMONTH funciona con horas? A: EOMONTH solo funciona con fechas; si hay horas, la parte de hora se mantiene pero la fecha resultante será el último día del mes con la misma hora como fracción.
Resumen final
EOMONTH (FIN.MES) es la forma más directa de calcular el último día del mes después de desplazar X meses desde una fecha base. Es robusta frente a años bisiestos y útil en contabilidad, gestión de proyectos y presupuestos. Para mantener el mismo día usa EDATE; para secuencias utiliza SEQUENCE en Excel moderno.
Notas importantes:
- Asegúrate de usar el separador correcto según tu configuración regional: “,” o “;”.
- Cambia el formato de celda si el resultado aparece como número o fecha errónea.
- Si trabajas en entornos con Excel antiguo, evita SEQUENCE y usa métodos manuales o ROW().
Conclusión: usa EOMONTH cuando quieras el último día del mes, combínala con TODAY/DATE/SEQUENCE para casos más complejos, y documenta tu plantilla para evitar errores de usuario.
Como recordatorio: EOMONTH avanza o retrocede un número de meses y devuelve el último día del mes resultante; si necesitas el mismo día del mes resultante en vez del último, emplea EDATE.
Materiales similares
Podman en Debian 11: instalación y uso
Apt-pinning en Debian: guía práctica
OptiScaler: inyectar FSR 4 en casi cualquier juego
Dansguardian + Squid NTLM en Debian Etch
Arreglar error de instalación Android en SD