arturhome, попробуем так. Пусть в ячейке A1 начальная дата, в A2 - конечная, и дата в A2 больше, чем в A1. Тогда количество полных лет рассчитывается по формуле:
=ЦЕЛОЕ(ГОД(A2)-ГОД(A1)-ЕСЛИ(ДАТА(ГОД(A1);МЕСЯЦ(A2);ДЕНЬ(A2))<A1;1;0))
(т.е. если день, который был в первой дате, еще не наступил во второй, то из числа полных лет нужно вычесть 1; ЦЕЛОЕ() использовано, чтобы формат ячейки не менялся на дату).
Количество месяцев:
=ЦЕЛОЕ(МЕСЯЦ(A2)-МЕСЯЦ(A1)-ЕСЛИ(ДЕНЬ(A2)<ДЕНЬ(A1);1;0)+ЕСЛИ(ДАТА(ГОД(A1);МЕСЯЦ(A2);ДЕНЬ(A2))<A1;12;0))
(если не прошло полного месяца, уменьшаем на 1; если количество лет уже уменьшено на 1, добавляем 12).
Количество дней (без выделения недель):
=ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(A1);ДЕНЬ(A2)-ДЕНЬ(A1);ЦЕЛОЕ(A2-ДАТА(ГОД(A2)-ЕСЛИ(МЕСЯЦ(A2)=1;1;0);ЕСЛИ(МЕСЯЦ(A2)=1;12;МЕСЯЦ(A2)-1);ДЕНЬ(A1))))
(если день во воторй дате больше, чем в первой, берем разницу; если меньше, то делаем промежуточную дату - день месяца, предшествующего второй дате, но число из первой; разница между этой датой и конечной и есть количество дней).
Количество недель и дней можно сосчитать, поделив последнее число на 7 с остатком. (функции =ЦЕЛОЕ() и =ОСТАТ()))
--------------------
Я долго учился на чужих ошибках, и теперь мои собственные ошибки не хуже, чем у других.
|