Guía de tecnologías

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

11 min read Excel Actualizado 16 Sep 2025
EOMONTH en Excel: guía completa de fin de mes
EOMONTH en Excel: guía completa de fin de mes

Un calendario hecho con Excel encima de una mesa y el logo de Excel a su lado.

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 aDescripció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 bDescripció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).

Una tabla en Excel con números de proyecto en la columna A, duración en B, asignados en C, fechas de inicio en D y la columna E con encabezado 'End date' vacía.

Paso a paso (uso con tabla estructurada):

  1. En la celda E2 escribe:
=EOMONTH([@[Start date]],[@Months])
  1. Pulsa Enter. Si usas una tabla, la columna se autocompletará con referencias estructuradas.
  2. 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.

La función EOMONTH toma la fecha final en la columna E, retrocede el número de meses en la columna B y retrocede un mes adicional para devolver la fecha de inicio.

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.

Tabla con proyectos de largo plazo donde EOMONTH calcula la fecha final a años vista.

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”.

Hoja de presupuesto donde se calcula el número de días hasta fin de mes y el presupuesto diario.

Ejemplo posterior: si el exceso disponible está en B6 y los días en B1, el gasto diario máximo en B7:

=B6/B1

5) 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).

EOMONTH y SEQUENCE usadas juntas para obtener una matriz de fines de mes en 2025.

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)-1

Esta 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ónExcel 2010Excel 2016Excel 2019Excel 2021 / 365
EOMONTH / FIN.MES
EDATE
SEQUENCENoNoLimitado
Matrices dinámicasNoParcialParcial

Plantillas y checklists (útiles para equipos)

Plantilla básica de tabla para gestionar proyectos por fin de mes:

ProyectoDuración (meses)AsignadoFecha inicioFecha fin (EOMONTH)
Proyecto A3María04/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

  1. Decide el comportamiento: ¿último día del mes o mismo día? (EOMONTH vs EDATE).
  2. Normaliza las columnas de fecha: formatea como Fecha y valida entradas erróneas.
  3. Implementa fórmula en primera fila y extiende (Tabla o arrastre).
  4. Añade pruebas rápidas: verifica con inicios en 31/01, 28/02 y 29/02 (bisiesto).
  5. 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.

Autor
Edición

Materiales similares

Podman en Debian 11: instalación y uso
DevOps

Podman en Debian 11: instalación y uso

Apt-pinning en Debian: guía práctica
Sistemas

Apt-pinning en Debian: guía práctica

OptiScaler: inyectar FSR 4 en casi cualquier juego
Guía técnica

OptiScaler: inyectar FSR 4 en casi cualquier juego

Dansguardian + Squid NTLM en Debian Etch
Redes

Dansguardian + Squid NTLM en Debian Etch

Arreglar error de instalación Android en SD
Android

Arreglar error de instalación Android en SD

Conectar carpetas de red con KNetAttach
Redes

Conectar carpetas de red con KNetAttach