Fechas y horas

Función FIN.MES en Excel: encontrar el último día de un mes

Devuelve el último día del mes, a un número dado de meses antes o después de una fecha.

FIN.MES devuelve el último día de un mes, lo que suena limitado hasta que has intentado calcularlo a mano. Los meses tienen 28, 29, 30 o 31 días y febrero cambia de opinión cada cuatro años, así que cualquier fórmula que montes tú fallará de vez en cuando. FIN.MES acierta siempre.

El segundo argumento es cuántos meses moverse primero: 0 para este mes, 1 para el siguiente, -1 para el anterior, -12 para el mismo mes del año pasado. Eso la convierte en una función de planificación y no de consulta: condiciones de pago, periodos de informe y ventanas móviles de doce meses salen todos de ahí.

El truco más conocido es que sumar 1 al resultado da el primer día del mes siguiente, que de otro modo es sorprendentemente incómodo de expresar.

Sintaxis

=FIN.MES(fecha_inicial; meses)

Argumentos

fecha_inicial
Obligatorio
La fecha de partida.
meses
Obligatorio
Cuántos meses moverse antes de tomar el fin de mes. 0 es el mes actual; los negativos van hacia atrás. Es obligatorio, no opcional.

Los datos de ejemplo

Encabezados en la fila 1, datos en A2:C5. Las columnas B y C contienen fechas reales.

ABC
1ProyectoInicioVencimiento
2Traslado de almacén15/01/202430/04/2024
3Estudio del terreno01/02/202414/02/2024
4Acondicionamiento11/03/202401/09/2024
5Entrega19/08/202407/10/2024

Ejemplos resueltos

=FIN.MES(B2; 0)

Resultado: 31/01/2024

El final del mes en el que cae la fecha de inicio.

=FIN.MES(B2; 1)

Resultado: 29/02/2024

Un mes después. 2024 es bisiesto, y FIN.MES lo sabe sin que se lo digan.

=FIN.MES(B2; 0) + 1

Resultado: 01/02/2024

El día 1 del mes siguiente: la forma estándar de obtenerlo.

=FIN.MES(B2; -1) + 1

Resultado: 01/01/2024

Y el día 1 del mes *actual*: retrocede un fin de mes y avanza un día.

Ahora practícala

Leer sobre una fórmula no es lo mismo que escribirla. Abre el ejercicio de esta función y escríbela en una hoja real: recibirás comentarios inmediatos sobre qué celda está mal y por qué.

Abrir el ejercicio: Función FIN.MES

Errores habituales y cómo resolverlos

El resultado sale como 45322

Por qué ocurre: FIN.MES devuelve un número de serie de fecha y la celda tiene formato General en lugar de fecha.

Cómo resolverlo: Da formato de fecha a la celda. El valor ya es correcto.

#¡NUM!

Por qué ocurre: La fecha calculada cae fuera del rango admitido por Excel, o fecha_inicial no es una fecha válida.

Cómo resolverlo: Comprueba que la fecha de partida es real y que el desplazamiento de meses no es desmesurado.

#¡VALOR!

Por qué ocurre: fecha_inicial es texto que Excel no reconoce como fecha.

Cómo resolverlo: Conviértela con FECHANUMERO, o arregla la columna: las fechas en texto suelen venir de una importación.

Falta el argumento de meses

Por qué ocurre: A diferencia de muchos argumentos que parecen opcionales, meses es obligatorio.

Cómo resolverlo: Pasa un 0 explícito para el mes actual.

Consejos que conviene saber

  • FIN.MES(fecha; 0) + 1 es el día 1 del mes siguiente; FIN.MES(fecha; -1) + 1 es el día 1 de este mes.
  • Unas condiciones de pago a fin de mes más 30 días son FIN.MES(factura; 0) + 30, no factura + 30.
  • Combínala con SUMAR.SI.CONJUNTO para un total mensual: criterios ">="&FIN.MES(d;-1)+1 y "<="&FIN.MES(d;0).
  • FECHA.MES es la hermana que conserva el día del mes en vez de saltar al final: úsala para aniversarios.

Preguntas frecuentes

¿Cómo obtengo el primer día del mes?

=FIN.MES(A2; -1) + 1. Retrocede al fin de mes anterior y avanza un día. =FECHA(AÑO(A2); MES(A2); 1) hace lo mismo y podría decirse que es más claro.

¿Por qué FIN.MES devuelve un número en lugar de una fecha?

Excel guarda todas las fechas como números de serie y depende del formato de celda para mostrarlas. El resultado es correcto; da formato de fecha a la celda y se verá como tal.

¿Qué diferencia hay entre FIN.MES y FECHA.MES?

Ambas mueven una fecha un número de meses. FECHA.MES conserva el mismo día del mes, así que el 15 de enero más un mes es el 15 de febrero. FIN.MES cae siempre en el último día del mes de destino, empezara donde empezara.

Funciones relacionadas

Guías que la usan

Lecturas más largas donde esta función hace trabajo real en una hoja real.