Cálculo de meses entre dos fechas

Necesito de su grandísima ayuda para hacer el calculo de los meses que han transcurrido entre 2 fechas tomando en cuenta incluso el mes inicial y el mes final sin tomar en cuenta los días, por ejemplo de 20/05/2015 al 19/04/2020 me debe de dar 60, necesito el numero por que requiero usar ese dato paro otros cálculos, da igual si es con macro o con fórmula.

Respuesta
1

[Hola

Usa SiFecha y su argumento para meses, aquí algo al respecto:

https://abrahamexcel.blogspot.com/2019/03/calculos-con-fechas-el-uso-de-sifecha.html?m=1 

Saludos]

Abraham Valencia

Es lo que he intentado pero no me da el resultado esperado con el ejemplo anterior me da 58, en el enlace que me diste intente con "ym" y me da 10, si incremento en el resultado anterior +2 funciona con ese ejemplo pero en otros casos no funciona, (por ejemplo de 04/07/1990 a 17/06/1995) y no se si en otros casos tampoco me salga el calculo esperado.

Vamos a complicarnos la vida, jajaja. Prueba así:

=SIFECHA(TEXTO("01"&"/"&MES(E6) &"/" &AÑO(E6);"dd/mm/yyyy");TEXTO("30"&"/"&MES(F6) &"/" &AÑO(F6);"dd/mm/yyyy");"M")+1

Ojo, en el ejemplo en E6 está la fecha inicial, en F6 la fecha final y yo uso punto y coma (;) como separador de argumentos, si usas coma (,) solo reemplaza.

Abraham Valencia

Gracias la pruebo y te aviso.

Perdón me da error:

Estaré haciendo algo mal?

No envíes imagen, envía tu fórmula como texto para así poder ver el dilema.

Abraham Valencia

2 respuestas más de otros expertos

Respuesta
1

Usando la función (no documentada) SIFECHA

Pero te comento que esa cuenta que planteás da 59, no 60

Gracias por responder.
Te comento que es para pagos que hay que hacer mensuales por lo que el mes inicial y el mes final también cuentan independientemente del día del mes.
de mayo de 2015 al final de año son 8 meses
2016 = 12 meses
2017 = 12 meses
2018 = 12 meses
2019 = 12 meses
2020 = 4 meses
por lo que 8 + 12 + 12 + 12 + 12 + 4 = 60

Ok, si es así entonces directamente deberías hacer la fórmula que puse yo " + 1", o sea que la función debería quedar:

=SIFECHA(FIN.MES(A1;0);FIN.MES(B1;0)+1;"m")+1

Asumiendo que las fechas están en A1 y en B1, ajusta eso a tu necesidad (puede que tengas que cambiar el punto y coma, por coma

Salu2

Respuesta
1

A mi me gusta mucho la función DateDiff() de VBA. Si lo quieres usar solo copia y pega en un modulo estabdar. Luego llama en las celdas como a cualquier fórmula.

Public Function DIFMESES(fInicial As Range, fFinal As Range) As Integer
Application.Volatile
DIFMESES = DateDiff("m", fInicial.Value, fFinal.Value)
End Function
Public Function DIFDIAS(fInicial As Range, fFinal As Range) As Integer
Application.Volatile
DIFDIAS = DateDiff("d", fInicial.Value, fFinal.Value)
End Function
Public Function DIFAÑOS(fInicial As Range, fFinal As Range) As Integer
Application.Volatile
DIFAÑOS = DateDiff("yyyy", fInicial.Value, fFinal.Value)
End Function

No solo te puse para los meses, de paso te puse para saber los dias, los años, y hay muchos mas como semanas, dias entre semanas, fines de semana, quincenas, etc etc. Solo hay que cambiar el intervalo en el primer argumento.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas