Por que o DATEDIF retorna resultados diferentes para esses valores?

0

A função DATEDIF do Excel (com a opção de retornar o número de meses) retorna valores diferentes para dois pares de valores de data, mesmo que as datas estejam nos mesmos meses. Na coluna C, eu uso =IF(A1="","-",DATEDIF($A1,$B1,"m")) + 1

    A            B         C
10-Nov-17    9-May-21     42
10-Nov-17   10-May-21     43

Minha pergunta:
Como fazer o C2 retornar 42 ?
Como fazer a coluna C retornar 42 sem usar +1 no final da fórmula?

    
por Vahn 14.12.2017 / 02:55

3 respostas

0

De acordo com este site , devo alterar minha fórmula para =IF(A1="","-",DATEDIF($A1,$B1+15,"m"))

Rounding results up or down

  1. The DATEDIF() function always rounds down (by default) to the nearest >whole month or year.

  2. If you want to calculate months or years rounded up, add half a month or >half a year to the formula like this: =DATEDIF(A19,B19+15,”m”) for half a >month (or 15 days) or =DATEDIF(A21,B21+183,”y”) for half a year (or 183 >days). The result is now rounded up to the nearest month or year.

    
por 15.12.2017 / 03:36
3

Se as duas células de data forem a mesma data, o resultado será 1. O resultado passa para 2 no mesmo dia do mês seguinte. Assim, 10-nov a 9-dec retorna 1, 10-nov a 10-dec retorna 2, não 1. O mesmo princípio se aplica a seus dados de amostra.

A linha 1 é do 10º ao 9º e retorna 42, mas a linha 2 é do 10º ao 10º, então passa para o próximo número, que é 43.

É assim que o DateDiff funciona.

Se você quiser alterar o valor retornado, será necessário ajustar a fórmula às suas regras pessoais, como você adicionou 1.

    
por 14.12.2017 / 04:45
2

Se o que você deseja fazer é contar o calendário meses entre as duas datas, você pode fazer isso alterando cada data para o primeiro dia do respectivo mês. Para fazer isso, subtraia o dia do mês da data e adicione 1.

Então a fórmula se torna

=IF($A1="","-",DATEDIF($A1-DAY($A1)+1,$B1-DAY($B1)+1,"m"))
    
por 14.12.2017 / 04:45