Колко години, месеци, дни са изминали от определена дата в 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().