Problema con la función DATEDIF

Resuelto
Lili03100 Mensajes publicados 157 Estado Miembro -  
Raymond PENTIER Mensajes publicados 58211 Fecha de registro   Estado Colaborador Última intervención   -
Hola,

Tengo un problema con la función DATEDIF: cuando intento calcular en meses la diferencia entre el 1 de enero de 2021 y el 31 de diciembre de 2021, es decir, en la celda B1 la siguiente función =DATEDIF(A1;A2;"m"), el resultado obtenido da 11 meses en lugar de 12 meses.

¿Sabes cómo puedo resolver esto?

Configuración: Windows / Chrome 92.0.4515.131

3 respuestas

  1. Raymond PENTIER Mensajes publicados 58211 Fecha de registro   Estado Colaborador Última intervención   17 480
     
    Hola Lili.

    En su lógica, la función DATEDIF cuenta bien 11 meses al hacer diciembre-enero, es decir, 12-1.
    Pon más bien como fórmula =DATEDIF(A1;A2;"j")/12

    --
    ¡Está bien, la jubilación! Sobre todo en las Antillas...
    Raymond (INSA, AFPA)
    1
    1. brucine Mensajes publicados 24759 Fecha de registro   Estado Miembro Última intervención   4 155
       
      Hola,

      No, porque DATEDIF está en formato anglosajón: D y no J, y es necesario (formato número sin decimales) dividir no por 12 sino por 30.
      0
    2. Raymond PENTIER Mensajes publicados 58211 Fecha de registro   Estado Colaborador Última intervención   17 480
       
      Por favor, perdónenme: brucina corrigió mi error de atención.
      0
  2. via55 Mensajes publicados 14391 Fecha de registro   Estado Miembro Última intervención   2 759
     
    Buenas noches

    =DATEDIF(A1;A2+1;"m")

    Saludos
    Vía

    --
    "La imaginación es más importante que el conocimiento."    A. Einstein
    0
  3. Lili03100 Mensajes publicados 157 Estado Miembro 1
     
    Gracias infinitas Via55, pero no funciona si, por ejemplo, pongo el 28/01/2021 y el 31/12/2021, muestra 11 meses.
    0
    1. brucine Mensajes publicados 24759 Fecha de registro   Estado Miembro Última intervención   4 155
       
      Buenas tardes,

      Via55 tiene razón: DATEDIF no incluye la fecha "no terminada" (la última fecha) en el cálculo; para hacerlo a partir del 1 de enero, hay que añadir 1 a la fecha de salida, o no ponerla el 31 de diciembre, sino el 1 de enero del año siguiente.

      Si ahora parto del 28 de enero, contradigo este comportamiento, ya que, elija +1 o manualmente 01/01/22 o 31/12/21, el resultado es el mismo, 11 meses y correcto, mostrando que esta vez se tiene en cuenta la "fecha no terminada".

      Microsoft mismo advierte sobre el comportamiento errático de DATEDIF que solo existe por retrocompatibilidad con Lotus.

      Por lo tanto, parece más saludable usar:

      =MAX(0;(AÑO(B2+1)-AÑO(A2-1))*12+MES(B2+1)-MES(A2-1)-1)

      que produce un resultado coherente en ambos casos.
      0
      1. Lili03100 Mensajes publicados 157 Estado Miembro 1 > brucine Mensajes publicados 24759 Fecha de registro   Estado Miembro Última intervención  
         
        Gracias brucine por esta precisión.
        0