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.
=FIN.MES(fecha_inicial; meses)fecha_inicialmesesEncabezados en la fila 1, datos en A2:C5. Las columnas B y C contienen fechas reales.
| A | B | C | |
|---|---|---|---|
| 1 | Proyecto | Inicio | Vencimiento |
| 2 | Traslado de almacén | 15/01/2024 | 30/04/2024 |
| 3 | Estudio del terreno | 01/02/2024 | 14/02/2024 |
| 4 | Acondicionamiento | 11/03/2024 | 01/09/2024 |
| 5 | Entrega | 19/08/2024 | 07/10/2024 |
=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) + 1Resultado: 01/02/2024
El día 1 del mes siguiente: la forma estándar de obtenerlo.
=FIN.MES(B2; -1) + 1Resultado: 01/01/2024
Y el día 1 del mes *actual*: retrocede un fin de mes y avanza un día.
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é.
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.
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.
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.
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.
=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.
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.
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.
Lecturas más largas donde esta función hace trabajo real en una hoja real.