У меня есть два столбца, один для даты начала и один для даты окончания. Я пытаюсь автоматический расчет месяцев между датами. Однако, если дата начала 15-го числа или после, он считается следующим месяцем (например, 15.01.16 будет считаться февралем).

Я думал, если формула, если дата начала дней 1:14, чем

IF(D6 <14,(год (e6) лет (d6)) * 12+ месяц (e6) -месяц (d6),(год (e6) лет (d6)) * 12+ месяц (e6) -месяц (d6): +1). но я не могу заставить его работать.

Любые другие предложения?

2 ответа2

2

Для этого вы можете использовать функцию DATEDIF внутри оператора `IF.

В F6 используйте оператор IF чтобы проверить, является ли « дата начала 15-го или после », что в результате изменит расчет DATEDIF .

=IF(DAY(D6)>=15, DATEDIF(D6,E6, "m")-1, DATEDIF(D6,E6, "m"))

Это проверяет, если Дата начала, чтобы увидеть, если день больше 15. Если это так, он использует функцию DATEDIF для вычисления месяцев, минус 1 месяц.

Если день не больше 15, он использует стандартный расчет DATEDIF .

Примечание: мои изображения используют разные ячейки.

1

Есть очень простой способ:

=(E6-D6)/30.4375

Результат скажет вам, сколько месяцев прошло между двумя датами. Число, на которое он делится, представляет собой среднее число дней в году за 4 года (включая 1 високосный год).

Это работает из-за того, как Excel хранит даты. На самом деле он хранится как количество дней, прошедших с 01.01.1900, так что арифметические операции работают.

Обратите внимание, что если вы установите тип числа так, чтобы он не показывал десятичные дроби, он округлял бы 16 дней до полного месяца. Если вы хотите избежать этого, просто округлите его, и тогда результатом будет количество прошедших полных месяцев:

=INT((E6-D6)/30.4375)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .