Excel: количество лет и месяцев до даты или от неё с правильным склонением слов
Задача состояла в том, чтобы по входной дате из одной ячейки выводить в другой сообщение вида "в этом месяце", "остался один месяц", "прошло 13 лет 5 месяцев" и т.п., с правильным склонением слов. Дни не учитываются, даже если вчера было 31-е, а сегодня 1-е.
Также требовалось экономичным способом проверить корректность ввода даты в исходной ячейке.
Если исходная дата находится в ячейке A2, формула для проверки получилась такой:
=ЕСЛИ(ЕОШИБКА(СЕГОДНЯ()-A2)=ЛОЖЬ;"дата верна";"ошибка!")
Формула для отображения периодов
=ЕСЛИ(И(C2=0;D2=0);"в этом месяце"; СЦЕПИТЬ(G2;ЕСЛИ(C2=0;"";СЦЕПИТЬ(" ";ABS(C2);" ";E2)); ЕСЛИ(D2=0;"";СЦЕПИТЬ(" ";ABS(D2);" ";F2))))
построена через несколько промежуточных, находящихся в ячейках B2:G2 (соответствующим столбцам дана нулевая ширина, документ не защищён).
Думаю, проще всего сначала в такой задаче вычислять количество полных месяцев, прошедших начиная с даты
=ГОД(СЕГОДНЯ())*12+МЕСЯЦ(СЕГОДНЯ())-(ГОД(A2)*12+МЕСЯЦ(A2))
Если оно будет отрицательным, то дата ещё не наступила, ноль - текущий месяц.
Excel, по крайней мере, в версиях 2007 - 2016, обрабатывает даты от 01.01.1900 до 31.12.9999 включительно.
Скачать этот документ Excel 2007 и выше в архиве .zip (8 Кб)
20.11.2021, 08:48 [646 просмотров]