21

Diferencia en meses entre dos fechas

Frecuentemente leo post en el foro de Ayuda Excel preguntando sobre la forma más rápida de convertir la diferencia entre dos fecha en meses. Yo siempre utilizo la misma fórmula, aunque existen otras fórmulas e incluso otros métodos para conseguirlo (incluso más sencillos).

Al convertir la diferencia de fechas en meses, tienes dos opciones: incluir el día del mes en el cálculo (redondear hacia abajo), o no incluirlo (redondear hacia arriba).

Redondear hacia abajo

Esta fórmula utiliza días numéricos en el cálculo y redondea hacia abajo el número más cercano de meses enteros. Por ejemplo, si la fecha inicial es 30/10/13 y la fecha final 30/11/13, la fórmula devolverá 1 como resultado. Si la fecha final es 29/11/13, el resultado será 0.

=SI(DIA(ultima_fecha)>=DIA(primera_fecha);0;-1)+(AÑO(ultima_fecha)-AÑO(primera_fecha))*12+MES(ultima_fecha)-MES(primera_fecha)

Redondear hacia arriba

En otros casos puede que necesites excluir los días del mes del cálculo.

Ejemplo:

Para averiguar el número de meses transcurridos desde una fecha hasta hoy, sigue estos pasos:

  1. Escribe la fecha desde la que se van a contar los meses, en la celda A1.
  2. Escribe la siguiente fórmula en la celda A2:

=(AÑO(AHORA())-AÑO(A1))*12+MES(AHORA())-MES(A1)

 

Otra forma más sencilla

Además de utilizar uno de los métodos anteriores, tienes la posibilidad de utilizar la función SIFECHA.

No, no busques información sobre esta función en la Ayuda de Excel porque no la vas a encontrar. Se trata de una función secreta que, según parece, Microsoft quiere eliminar por ser originaria de Lotus.

La sintaxis de la función  es:

=SIFECHA(primera_fecha;ultima_fecha;intervalo)

El argumento intervalo se refiere a la unidad en la que deseas que se devuelva el resultado:

  • “d” Días entre las dos fechas.
  • “m” Meses entre las dos fechas.
  • “y” Años entre las dos fechas.
  • “yd” Días entre las fechas, tomando las fechas como si estuviesen ubicadas en un mismo año.
  • “ym” Meses entre las fechas, tomando las fechas como si estuviesen ubicadas en un mismo año.
  • “md” Días entre las dos fechas, tomando las fechas como si estuviesen ubicadas en un mismo año y mes.
[box type=”info”] Nota: Recuerda que cuando introduces una fecha de forma manual, debes hacerlo como si fuese un valor de texto, es decir, entre comillas.[/box]

Por ejemplo, si quisieras calcular los meses que hay desde el 1 de enero de 2013 hasta el 31 de diciembre de 2013, debes utilizar la siguiente fórmula:

=SIFECHA(“01/01/13″;”31/12/13″;”m”)

¿Cuál de estas fórmulas te parece más sencilla?

 

¡Compartir es vivir!
Sergio
 

La destreza y el perfeccionismo quizá sean las dos virtudes que me permiten ayudar a mis clientes a facilitar las tareas administrativas de sus negocios.

Haz clic aquí para dejar un comentario 21 comentarios
Danilo efren - 25/03/2014

Excelente ejemplo.
Gracias por compartir tus conocimiento
Saludos!!!
Danilo

Responder
alfonso - 02/06/2014

338.00 son dias quiero convertir a meses redondeando

Responder
Manuel jimeno - 03/06/2014

Alfonso, utiliza esta fórmula:

=ENTERO(338/30)

Saludos

Responder
Germán González - 22/09/2016

Una forma de calcular de forma exacta los meses entre dos fechas tomando en cuenta el dia final del mes de fechafinal

A1 -> fechainicial
A2 -> Fechafinal

=SI(DIA(B1)>=DIA(A1);0;SI(MES(B1+1)>MES(B1);0;-1))+(AÑO(B1)-AÑO(A1))*12+MES(B1)-MES(A1)

Responder
    Jordi - 30/06/2018

    Aquí que es B1?

    Responder
      Sergio - 30/06/2018

      ¿A qué te refieres, Jordi?

      Responder
Juan Francisco - 12/05/2017

Hola, buenas tardes. Y si deseo saber el numero de días por mes, es decir:

3 de mayo al 22 de junio, cuantos días son de mayo y cuantos de Junio???.

Muchas gracias

Responder
    Sergio - 12/05/2017

    Juan Francisco, suponiendo que la fecha de comienzo se encuentre en la celda A1 y la fecha de finalización, en la celda A2, he creado esta fórmula que concatena los días restantes del primer mes con los días correspondientes al segundo:

    =SI(O($A1="";$A2="");"";MAX(;1+MIN($A2;FIN.MES(A1;0))-MAX($A1;A1)))&" - "&A2-FECHA(AÑO(A2);MES(A2);1)

    Saludos.

    Responder
karen belen - 27/10/2017

Buenas tardes,

una consulta, estoy confeccionando una planilla de control de meses para una inmobiliaria. Cuando ingreso la función para que me cuente por ejemplo del 01/01/2016 al 01/01/2017: me da como resultado 12 meses cuando en realidad el 01/12/2017 para nosotras es el mes 13. Como puedo generar una formula para que cuente los meses transcurridos? muchas gracias.

Responder
    Sergio - 28/10/2017

    Karen, busca información sobre la función FECHANUMERO, con la que conseguirás expresar las fechas en las unidades que deseas.

    Responder
Jordi Corominas - 30/06/2018

Y qué pasa si comparamos un mes largo con otro más corto.
Por ejemplo del 30/1/2017 al 28/2/2017 ha pasado más de un mes pero al ser 30>28 funcionará.
Podemos hacer que funcione com cualquier mes?
Gracias.

Responder
    Sergio - 30/06/2018

    Las fórmulas devuelven el número de meses, así que los días que contengan no tienen importancia.

    Responder
Antonella - 09/07/2018

Buenos días Sergio
Una consulta quiero saber la fecha de hoy mas 6 mes: ejemplo

09/07/18 + 6 meses = fecha?????

Responder
    Sergio - 17/07/2018

    Antonella, prueba a utilizar la fórmula =FECHA.MES(HOY();6).
    Saludos.

    Responder
Ana M - 23/10/2018

Hola Sergio, si puedes utilizar la formula de sifecha y una condicionante en la misma formula; como puedo hacerle? Ejemplo: Columna “A” tengo un valor de meses definitivo; al calcular en la columna “B”, la formula “sifecha”(“m”), quisiera indicarle esa formula mas la condicionante que indique que si mi columna “A” es menor o mayor me devuelva el valor de la “A”, en lugar del resultado de la formula “sifecha”
Espero haberme explicado.

Gracias de antemano
Ana

Responder
    Sergio - 23/10/2018

    Ana, para hacer eso te recomiendo que utilices SI además de SIFECHA. Si puedes ser más específica en la explicación, puedo echarte una mano.

    Responder
Ana M - 23/10/2018

Buen día Sergio, Ya he intentado con la condicionante , pero algo esta mal en mi sintaxis, o tal vez no puedo hacer la formula en la misma celda, y utilizar otra celda, para poder obtener el resultado deseado.
.
La sintaxis que he realizado es:
=si.((SIFECHA(D21,$BJ$17,”M”)>BI21),BI21), en mi ejemplo:
En donde D21 Es la fecha 17/06/2008 y BJ17 es la Fecha 31/12/2016, por lo tanto el resultado de la fórmula SIFECHA en meses, da como resultado 102 meses, sin embargo en la celda BI21 el número de meses que tengo como máximo 48 meses, por lo tanto quiero que en la celda en la que hago la fórmula me ponga el resultado de la formula si este es menor a los meses máximos, si es mayor.
Espero haber podido explicarme.

Gracias
Ana M

Responder
    Sergio - 24/10/2018

    Ana M, prueba a utilizar esta fórmula:

    =SI((SIFECHA(D21;$BJ$17;”M”)>BI21);BI21)

    Sustituye los punto y coma por comas….

    Responder
Tatiana - 15/11/2018

Gracias por este post, me resolvieron esta gran duda, saludos.

Responder
JOSE - 28/01/2019

Sergio, necesito una fórmula en excel que me permita visualizar cuándo se cumplen tres años entre dos fechas (las fechas son: la primera la consigno yo y la segunda debe ser la fecha actual). Gracias por tu ayuda.

Responder
    Sergio - 29/01/2019

    Hola, Jose!

    Suponiendo que la fecha que quieres comparar se encuentra en la celda A1, puedes utilizar la siguiente fórmula:

    =SI(A1< FECHA(AÑO(HOY())-3;MES(HOY());DIA(HOY()));"Más de tres años";"Menos de tres años")

    Responder

Escribe una respuesta:

Powered by WishList Member - Membership Software