Guía de tecnologías

EOMONTH en Google Sheets: guía práctica y ejemplos

7 min read Hojas de cálculo Actualizado 21 Oct 2025
EOMONTH en Google Sheets: guía práctica
EOMONTH en Google Sheets: guía práctica

Logo de Google Sheets flotando sobre un calendario

¿Qué hace EOMONTH y cuándo usarlo?

EOMONTH es una función de tipo Fecha en Google Sheets que devuelve el último día del mes que está n meses antes o después de una fecha de inicio. En la práctica, EOMONTH responde a preguntas como: “¿Cuál es el último día del mes dentro de 1 mes a partir de hoy?” o “¿Cuál fue el último día del mes hace 3 meses?”.

Caso de uso típico: contabilidad y cobranzas. Por ejemplo, para fijar fechas de vencimiento al último día del mes siguiente o para calcular la fecha de caducidad de una suscripción mensual.

Definición rápida: EOMONTH(start_date, months) — devuelve la fecha del último día del mes desplazada en “months” meses.

Notas rápidas

  • Cualquier día del mes inicial sirve como start_date: si cambias sólo el día pero mantienes el mismo mes y meses de desplazamiento, el resultado final será el mismo.
  • Si el argumento months es un decimal, Google Sheets trunca hacia abajo (5.7 → 5), no redondea.
  • EOMONTH considera años bisiestos: febrero tendrá 29 días cuando proceda.

Sintaxis de EOMONTH

=EOMONTH(start_date, months)

Explicación de los argumentos:

  1. = : Todo indicador de fórmula en Google Sheets empieza con el signo igual.
  2. EOMONTH(): Nombre de la función.
  3. start_date: Fecha de inicio obligatoria. Puede ser una referencia de celda que contenga una fecha, una función de fecha (como TODAY() o DATE()), o una cadena que Google Sheets reconozca como fecha.
  4. months: Número entero (positivo para futuro, negativo para pasado). Indica cuántos meses sumar o restar desde start_date antes de devolver el último día del mes resultante.

Cómo usar EOMONTH: paso a paso con ejemplo

Ejemplo sencillo de EOMONTH.jpg?q=50&fit=crop&w=825&dpr=1.5)

Ejemplo: en A2 tienes la fecha 12/03/2022 (formato dd/mm/aaaa) y en B2 el número de meses 1. Para obtener el último día del mes resultante:

  1. Selecciona la celda donde quieres el resultado (por ejemplo C2).
  2. Escribe la fórmula: =EOMONTH(A2, B2)
  3. Pulsa Enter. El valor en C2 será 31/03/2022 si B2 = 0, o 30/04/2022 si B2 = 1, etc.

Ejemplos prácticos rápidos:

  • Último día del mes actual: =EOMONTH(TODAY(), 0)
  • Último día del mes siguiente: =EOMONTH(TODAY(), 1)
  • Último día tres meses atrás: =EOMONTH(A2, -3)
  • Caducidad de suscripción de 6 meses a partir de la fecha de inicio: =EOMONTH(start_date, 6)

Ejemplos avanzados y combinaciones útiles

  1. Fecha límite de pago siempre al final del mes siguiente a la factura:
=EOMONTH(invoice_date, 1)
  1. Programar recordatorios X días antes del fin de mes (restar días):
=EOMONTH(start_date, 0) - X
  1. Generar la fecha del primer día del mes resultante (suma 1 día al EOMONTH anterior):
=EOMONTH(start_date, n) + 1
  1. Comparar periodos entre facturación mensual: días entre dos EOMONTH consecutivos:
=EOMONTH(start_date, n) - EOMONTH(start_date, n-1)
  1. Usar con DATE para construir fechas seguras a partir de componentes numéricos:
=EOMONTH(DATE(2025, 2, 10), 0)

Contraejemplos y cuándo EOMONTH no es la mejor opción

  • Si necesitas el último día hábil (sin fines de semana ni festivos), EOMONTH no valdrá por sí sola; combina con WORKDAY o NETWORKDAYS y tablas de festivos.
  • Si la lógica depende del «último día hábil del mes», hay que ajustar restando días según el calendario laboral.
  • Para periodos con reglas avanzadas de facturación (por ejemplo, prorrateos por días naturales), puede ser mejor calcular con DAY(), DATE(), y lógica personalizada.
  • Si start_date no es reconocida como fecha (texto mal formateado), EOMONTH devolverá error; normaliza entradas con DATEVALUE() o valida el formato antes.

Mini metodología: automatizar vencimientos mensuales con EOMONTH

  1. Normaliza la columna de fechas de documento (usar validación de datos).
  2. Mantén en la hoja una columna “meses de plazo” configurable.
  3. Calcula la fecha objetivo con =EOMONTH(start_date, meses).
  4. Añade columnas de estado (Pendiente / Vencido) comparando con TODAY().
  5. Crea alertas condicionales o filtros para los que estén próximos a vencer.

Esta metodología permite revisar automáticamente vencimientos y generar reportes periódicos.

Hoja de trucos (cheat sheet)

ObjetivoFórmula de ejemplo
Último día del mes actual=EOMONTH(TODAY(), 0)
Último día mes siguiente=EOMONTH(TODAY(), 1)
Primer día del próximo mes=EOMONTH(TODAY(), 0) + 1
Último día n meses atrás=EOMONTH(A2, -n)
Restar X días al fin de mes=EOMONTH(A2, n) - X

Criterios de aceptación (pruebas rápidas)

  • Dado start_date = 15/02/2024 y months = 0 → devuelve 29/02/2024 (bisiesto).
  • Dado start_date = 31/01/2023 y months = 1 → devuelve 28/02/2023.
  • Dado start_date = “texto inválido” → fórmula devuelve error; la validación debe atrapar la entrada.

Lista de comprobación por rol

Contable / Finanzas:

  • Validar formato de fecha de origen.
  • Mantener columna “meses de plazo” con valores enteros.
  • Revisar resultados en años bisiestos o cambios de divisa si aplican a periodos fiscales.

Operaciones / Producto:

  • Probar casos borde: finales de mes, 29 feb, formatos de importación.
  • Documentar reglas de negocio para prorrateos y días hábiles.

Desarrollador / Automatización:

  • Añadir comprobaciones para valores nulos o tipos erróneos.
  • Considerar scripts que rellenen fechas con la fórmula si la hoja se importa.

Compatibilidad y notas de localización

EOMONTH funciona en Google Sheets y en hojas de cálculo modernas (incluida Microsoft Excel en versiones recientes). Ten en cuenta el formato de fecha local (dd/mm/aaaa vs mm/dd/aaaa): utiliza validación y DATE() para evitar ambigüedades al importar datos entre regiones.

Importante: no cambies manualmente el formato de presentación de la celda si la lógica depende de comparaciones; cambia sólo la visualización, no el valor interno.

Buenas prácticas y heurística mental

  • Mental model: imagina que mueves el calendario m meses adelante/atrás y luego subes hasta el último día visible de ese mes.
  • Siempre usa referencias de celda en vez de cadenas de texto en fórmulas compartidas para facilitar la auditoría.
  • Mantén una columna de “comentarios” con la regla de negocio aplicada (p. ej. 30 días naturales vs último día del mes).

Ejemplos de plantillas y snippets rápidos

Fórmula para generar una columna “Fin del mes objetivo” en C2 cuando A2 es la fecha y B2 los meses:

=EOMONTH(A2, B2)

Macro/Script conceptual (pseudo-paso): recorrer filas, validar fecha, escribir EOMONTH(start, months) en la columna resultado.

Resumen

EOMONTH es una función pequeña pero muy práctica para manejar fechas de fin de mes en planes de facturación, vencimientos y caducidades. Funciona bien junto a TODAY(), DATE() y otras funciones de fecha, pero no sustituye reglas de negocio sobre días hábiles o prorrateos. Valida entradas y documenta la lógica para evitar errores por formatos regionales.

Importante: valida entradas de fecha, prueba casos con finales de mes y años bisiestos, y usa combinaciones (WORKDAY, NETWORKDAYS, DATE) cuando necesites excluir fines de semana o festivos.

Notas finales:

  • EOMONTH es ideal para cálculos sobre el “último día del mes”.
  • Combínalo con otras funciones para cubrir casos de negocio más complejos.
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