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?

 

Cómo llegar a fin de mes con menos estrés gracias a Excel

Antes del día 15 puedes tener todos los objetivos mensuales completados. Y los que no, dejarlos programados para que se cumplan sin requerir de tu tiempo.

He preparado 7 de mis mejores trucos explicándote cómo lo hago. Deja tu correo abajo y te enviaré el primero de ellos.

44 comentarios en “Diferencia en meses entre dos fechas”

  1. 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)

  2. 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

    1. 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.

  3. 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.

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

  4. 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.

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

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

  6. 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

    1. 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.

  7. 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

    1. Ana M, prueba a utilizar esta fórmula:

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

      Sustituye los punto y coma por comas....

  8. 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.

    1. 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")

  9. 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

  10. 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.

  11. 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.

  12. 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.

    1. Hola Rafael!

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

  13. Quisiera que me ayuden tengo dos fechas por ejemplo 05/09/2019 y 31/12/2019 quiero saber cuantos meses, pero no solo meses completo sino también la cantidad de días expresado en meses, en pocas palabras el resultado tendría que salir en decimales.

    1. María, espero haber entendido bien la pregunta. Suponiendo que el 31/12/19 se encuentre en la celda A2 y el 5/9/19 en A1, utilizaría la siguiente fórmula:
      =(A2-A1)/30

  14. Muchas gracias por los ejemplos. Pero tengo una duda con la función SIFECHA. Yo estoy haciendo un formulario y debo calcular la edad a partir de la fecha de nacimiento, cuando la hago en mi computador funciona normal, pero cuando comparto el archivo y lo abren en otro computador, no hace el cálculo, como si no habilitara esa fórmula. Qué se puede hacer?

    1. Hola Andrés. Quizá estás abriendo el archivo con una versión antigua. SIFECHA sólo funciona a partir de la versión 2010.

    1. ¡Hola María!
      He supuesto que los dos valores se componen del año y el mes. En ese caso y suponiendo también que la primera fecha se encuentra en la celda A1 y la segunda en la celda B1, puedes utilizar esta fórmula, que devuelve 10 como resultado:

      =SIFECHA(FECHA(IZQUIERDA(A1;4);DERECHA(A1;2);1);FECHA(IZQUIERDA(B1;4);DERECHA(B1;2);1);"m")

      Espero que te ayude.

  15. Felipe Cantero

    Simplemente comentar que todas estas funciones las pueden usar gratuitamente con software libre como LibreOffice, sin ayudar a crear monopolios de software privativo que son dañinos para los consumidores, ya sea porque te ves obligado a pagar licencias con importes excesivos o porque suelen dejar de mejorar sus productos aunque cobren por ellos, solamente el software libre permite la competencia aunque haya un producto base. Por no comentar la ingeniería fiscal de Microsoft para no pagar prácticamente impuestos, detrayendo ese dinero de la sociedad para concentrarlo en menos manos.

    1. Ciertamente existen alternativas gratuitas a Microsoft Office (Open Office, Google Docs, Libre Office, Zoho, Thinkfree...). La mayoría de las personas siguen prefiriendo la suite de Microsoft aunque sea de pago, incluso prefieren piratearla antes que tener el software libre. ¿Por qué crees que es? La respuesta es OneDrive, Power Query, Power Pivot, Macros y VBA... muchas de las aplicaciones gratuitas se quedan cortas en este sentido.

  16. Oscar Hernandez

    Hola, agradezco los ejemplos pero por algun motivo no me funciona utilizar la formula sustituyendo los valores, quiero calcular la cantidad de meses entre 01/03/1992 y 01/03/1997, cual es la formula si tengo Office Professional Plus 2016? Gracias!

    1. Hola Óscar, ¿qué fórmula has utilizado? ¿te aparece algún error? Si me das más detalle quizá pueda decirte por qué no te muestra el resultado.

  17. Buen dia,

    Quiero saber cuales dias son los de la diferencia son entre dos fecha.
    Por ejemplo si la fecha incial es 7/9/2022 y ala final es el 10/9/2022 que la respuesta que me de es que los dias entre estos dos es 8/9/2022 y 9/9/2022.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Sergio

Sergio

Experto formador en Excel y Power BI con más de dos décadas de experiencia. Capacito a profesionales para optimizar su trabajo y ser más eficientes. Con un enfoque práctico y cercano, mi objetivo es ayudarte a dominar estas herramientas esenciales. Descubre mis formaciones.MVP de Microsoft 5 años consecutivos.

Cómo llegar a fin de mes con menos estrés gracias a Excel

Antes del día 15 puedes tener todos los objetivos mensuales completados. Y los que no, dejarlos programados para que se cumplan sin requerir de tu tiempo.

He preparado 7 de mis mejores trucos explicándote cómo lo hago. Deja tu correo abajo y te enviaré el primero de ellos.

Buscar

Últimos posts

¿De qué hablo aquí?

Cómo llegar a fin de mes con menos estrés gracias a Excel

Antes del día 15 puedes tener todos los objetivos mensuales completados. Y los que no, dejarlos programados para que se cumplan sin requerir de tu tiempo.

He preparado 7 de mis mejores trucos explicándote cómo lo hago. Deja tu correo abajo y te enviaré el primero de ellos.