Рассчитать количество месяцев между двумя датами по формуле Excel

Мне нужно рассчитать количество месяцев между двумя датами в Excel.

Если день начальной даты меньше 2, то этот месяц считается за 1. Если число начальной даты больше или равно 2, то этот месяц не засчитывается.

Датой начала является любая дата, указанная пользователем. Дата окончания всегда 31.12.2023.

Если дата начала 01.05.2023, то номер месяца равен 8 (потому что 1 мая меньше 2) Если дата начала 02.08.2023, то номер месяца равен 4 (поскольку 2 августа больше (или равно) 2).

Формула:

=IF(DAY(A1)<2;  (IF(DAY("31.12.2023") >= DAY(A1); (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1) + 1; (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1))); IF(DAY("31.12.2023") >= DAY(A1); (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1) + 1; (YEAR("31.12.2023") - YEAR(A1)) * 12 + MONTH("31.12.2023") - MONTH(A1))-1)

Это работает, но это довольно огромная формула. Можно ли упростить или использовать более эффективный способ? (Я не могу использовать DateDif, поскольку наши версии Office не поддерживают эту функцию. Я не могу использовать макросы VBA.

=(2023-YEAR(A1-1))*12 + 12-MONTH(A1-1)
Scott Craner 09.04.2024 19:25

Я сомневаюсь, что DATEDIF не поддерживается вашей версией Excel. Он работает в Excel 2013 и более поздних версиях, однако помощник по формулам не отображается. Вам необходимо ввести формулу вручную.

P.b 10.04.2024 07:57

Спасибо. Да не было никакого намека и я думал что оно не поддерживается.

Erba Aitbayev 10.04.2024 11:03

@ScottCraner - какова ситуация, если комментарий является правильным решением (должен ли он когда-либо быть опубликован как соль или оставлен в формате комментария)? Ты прав - и я не могу придумать никакого улучшения, учитывая экономность... опубликуй это, приятель.

JB-007 10.04.2024 12:33

@ JB-007, если я комментирую, это обычно означает, что у меня нет времени на формальный ответ, и у меня нет проблем, если кто-то захочет превратить это в формальный ответ. Под формальным ответом я подразумеваю объяснение того, что делает формула, и другую необходимую информацию.

Scott Craner 10.04.2024 16:18

@ScottCraner круто, но, думаю, я пытаюсь выяснить: каково должно быть соглашение в таких случаях? т. е. другие не могут воспроизвести ваше решение в блоке ответов, это просто отстой - так можно ли просто оставить ответьте в разделе комментариев (таким образом оставляя вопрос «без ответа» в фильтрах и т. д. и не позволяя другим пользователям легко определить, какое решение лучше всего, если у них есть аналогичный запрос? Мне просто кажется, что если вы ввели именно то, что ввели в разделе комментариев, но в блоке ответов - этого будет достаточно, приятель, пожалуйста, не поймите меня неправильно - я не критикую, просто комментирую.

JB-007 22.04.2024 01:48
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
0
6
117
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Оказалось, что DateDif поддерживается большинством версий Excel. Просто подсказка не отображается.

С помощью DateDif:

=IF(DAY(A1)<2; DATEDIF(A1; $E$1; "m")+1; DATEDIF(A1; $E$1; "m"))

Где $E$1 настроен на «31.12.2023» или любую другую дату.

Другие вопросы по теме