Колко години, месеци, дни са изминали от определена дата в MS EXCEL
Нека определим колко години, месеци и дни са изминали от определена дата и също така да решим обратната задача.
За да изчислите продължителността на интервалите от дати, най-удобно е да използвате недокументираната функция RAZDAT(). Тази функция не е в помощта на EXCEL2007 и в съветника за функции (SHIFT+F3 ), но работи (с някои недостатъци).
Ако клеткаB2 съдържа днешната дата, аA2 съдържа началната дата (например рожден ден), тогава формулата: =RAZDAT(A2;B2;"y")&" RAZDAT(A2;B2;"ym")&"месец"& RATEDAT(A2;B2;"md")&" дни."
изчислява колко години, месеци, дни са изминали от определена дата и връща резултата под формата на 37 години 5 месеца. 1 ден
Както е показано в статията за функцията RAZDAT(), по-добре е да избягвате използването на тази функция с аргумента "md", тъй като може да даде неправилни резултати. Следователно е по-добре да замените частта от формулата RAZNDAT(A2;B2;"md") с нейния еквивалент: =IF(DAY(A2)>DAY(B2);DAY(EOMONTH(DATE(B2;-1);0))-DAY(A2)+DAY(B2);DAY(B2)-DAY(A2))
Крайната формула е дадена в примерния файл:
Посочете деклинациите: година/години, месеци/месеци, дни/дни
Ако се получи цяло число години, тогава формулата ще върне резултата под формата на 37 години 0 месеца. 0 дни, което не е много хубаво.
Използвайки идеите, предложени от нашия потребител на MCH, ние също ще отхвърлим месеци / месеци и дни / дни
=IF(DIFFERENT(A2;B2;"y");DISTRATE(A2;B2;"y")&" "&TEXT(MOD(MAX(MINUT(DIFFERENT(A2;B2;"y")-11;100);9);10);"[ DIFFERENT() с параметри md и ym ще изчисли, че разликата е 1 месец и 14 дни.

Оказва се, че функцията RAZDAT () може да се използва само за изчисляване на пълни години и месеци, но без дни. Горните формули основно ще се върнатправилния резултат (понякога, разбира се, ще има грешка от 1-2 дни надолу), но често удобството при използване на тази функция надвишава изискванията за точност. Този подход със сигурност не е подходящ за изчисляване на осигурителния стаж за определяне на размера на обезщетенията за временна неработоспособност (за това вижте статията Изчисляване на осигурителен (трудов) стаж в MS EXCEL).
Обратна задача
Сега нека решим обратната задача: като зададем броя на годините, месеците и дните, изчисляваме крайната дата.

Ще изчислим крайната дата по два начина: чрез функциите ДАТА () и ДАТИ ().
След като изчислите крайната дата, изчислете разликата между тях с помощта на RAZDAT () (трябва да бъде същата като дадената). И накрая, от крайната дата получаваме началната дата, като извадим дадения брой години, месеци и дни, използвайки формулите:
Както вече знаем от статията функция DATE() в MS EXCEL, функциите DATE() и DATE() не са еквивалентни при добавяне на месеци:
Изчислението с помощта на DATES() изглежда по-логично, въпреки че функцията RAZDAT() не е съгласна с това: тя връща разликата, която съвпада с дадената само за варианта с функцията DATE().