32

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 32 comentarios
Danilo efren

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

Responder
alfonso

338.00 son dias quiero convertir a meses redondeando

Responder
Sergio

Alfonso, utiliza esta fórmula:

=ENTERO(338/30)

Saludos

Responder
Germán González

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

    Aquí que es B1?

    Responder
      Sergio

      ¿A qué te refieres, Jordi?

      Responder
Juan Francisco

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

    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

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

    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

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

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

    Responder
Antonella

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

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

Responder
    Sergio

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

    Responder
Ana M

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

    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

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

    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

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

Responder
JOSE

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

    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
Theo Molina

Hola Sergio,
Gracias por estas fórmulas, han sido de gran ayuda.
Éxitos…

Responder
Demelsa

Hola,
Intento usar la fórmula =SIFECHA tal y como lo explicais para encontrar cuantos meses hay entre dos fechas y no lo consigo. No tengo mucho conocimiento de Excel y algo debo hacer mal. Tengo una versión de Excel 2010 en catalán.
No se si es importante el formato de las celdas. Tiene que estar en formato fecha, las fechas y el resultado de los meses en formato número?
Gracias por adelantado

Responder
    Sergio

    Demelsa, si tu versión es en catalán, tienes que traducir las funciones. Utiliza DIFDATA, a ver si te sirve.

    Responder
José Durand

Muchas gracias. Hoy lo usé para los cálculos de beneficios laborales de los operarios y necesitaba saber los meses y días entre su fecha de ingreso y la fecha del cierre del periodo. Con una condicional SI pude tener el cálculo perfecto. Se agradece el aporte.

Responder
Javier

Buen aporte.
Tengo 2 fechas (a1) (a2) y utilizo la formula SIFECHA para la diferencia. ¿como puede hacer para cuando la fechas son iguales me de 1 y no 0
Gracias.

Responder
    Sergio

    ¡Hola Javier!
    Yo lo haría utilizando la siguiente fórmula:
    =SI(A1=A2;1;SIFECHA(A1;A2;”d”))

    Responder
Enzo

Hola, hace unos días, pregunté como calcular cuantos días “caen por mes” al tener por ejemplo.

Fecha inicial: 02-04-2019
Días: 84
Fecha final: 24-04-2019

La formula que utilice para este calculo es la siguiente:

=SI(Mxxx>$T$1;””;SI(Oxxxx>$T$1;DIAS($T$1;Mxxxx)-SUMA(Qxxxx:Sxxxx);DIAS(Oxxxx;Mxxx)-(SUMA(Qxxxx:Sxxxx))))

Considerando que
M: Fecha Inicial.
O: último día de cada mes
T: Fecha final de ausentismo

La suma que resta a cada cálculo corresponde a la suma de los días que ya rebajé del total de días a contar.

la condición del =Si, es para que solo se realice el ejercicio si la fecha inicial es mayor al último día del mes que estoy contando.

Espero le sirva a alguien,
Saludos y gracias por los aportes.

Responder
Francisco

Gracias

Responder
RAFAEL FERNANDEZ

si quisiera calcular el numero de quincenas exactas entre dos fechas si:
A1=01/09/2019
A2=16/08/2023

Responder
    Sergio

    Hola Rafael!

    Yo utilizaría la siguiente fórmula:
    =REDONDEAR.MENOS((A2-A1)/15;0)
    Así te darán quincenas completas.

    Responder
Juleidy Revette

Gracias Sergio muy útil la información

Responder

Escribe una respuesta:

Esta web usa cookies propias y de terceros para mejorar tu experiencia de navegación, elaborar información estadística y analizar tus hábitos de navegación. Si no estuvieras conforme puedes eliminarlos. Al hacer clic en "Aceptar" o si continúas navegando, aceptas su uso. Puedes revocar tu consentimiento en cualquier momento. Leer más

Los ajustes de cookies de esta web están configurados para «permitir cookies» y así ofrecerte la mejor experiencia de navegación posible. Si sigues utilizando esta web sin cambiar tus ajustes de cookies o haces clic en «Aceptar» estarás dando tu consentimiento a esto.

Cerrar