Функция DATEDIF

Изчислява броя на дните, месеците или годините между две дати.

Предупреждение

  • Excel предоставя функцията DATEDIF, за да осигури поддръжка за по-стари работни книги от Lotus 1-2-3. Функцията DATEDIF може да изчисли грешни резултати при определени условия. Вижте раздела с известни проблеми в тази статия за повече подробности.
  • Съвет: Ако искате да намерите броя дни между две дати, просто извадете по-късната дата от по-ранната. Това работи, защото датите се съхраняват като числа в Excel.

Синтаксис

DATEDIF(начална_дата;крайна_дата;единица)

Аргумент Описание
start_date
Задължителен
Дата, представяща първата, или началната дата, на даден период. Датите могат да се въвеждат като текстов низ в кавички (например "30.1.2001"), като поредни номера (например 36921, което представя 30 януари 2001 г., ако използвате системата на датиране от 1900 г.) или като резултати от други формули или функции (например DATEVALUE("30.1.2001")).
end_date
Задължителен
Дата, представяща последната, или крайната, дата на периода.
Единица Типът на информацията, която искате да се върне, къде:Единица****Връща"Y"Броят на пълните години в периода." M"Броят на пълните месеци в периода." D"Броят на дните в периода." MD: "Разликата между дните в start_date и end_date. Месеците и годините в датите се игнорират.
Важно: Не препоръчваме да използвате аргумента "MD", тъй като има известни ограничения с него. Вижте раздела с известни проблеми по-долу." YM"Разликата в месеците в start_date и end_date. Дните и годините в датите се игнорират"YD"Разликата в дните на start_date и end_date. Годините в датите се игнорират.

Забележки

  • Датите се съхраняват като поредни номера, така че да могат да се използват в изчисления. По подразбиране 1 януари 1900 г. е номер 1, а 1 януари 2008 г. е номер 39448, защото е 39 447 дни след 1 януари 1900 г.
  • Функцията DATEDIF е полезна във формули, където трябва да изчислите възраст.
  • Ако start_date е по-голямо от end_date, резултатът ще бъде #NUM!.

Примери

Начална_дата Крайна_дата Формула Описание (резултат)
1.1.2001 1.1.2003 =DATEDIF(начална_дата;крайна_дата;"Y") Две пълни години в периода (2)
1.6.2001 15.8.2002 =DATEDIF(начална_дата;крайна_дата;"D") 440 дни между 1 юни 2001 г. и 15 август 2002 г. (440)
1.6.2001 15.8.2002 =DATEDIF(начална_дата;крайна_дата;"YD") 75 дни между 1 и 15 август – игнорират се годините на датите (75)

Известни проблеми

Аргументът "MD" може да доведе до отрицателно число, нула или грешен резултат. Ако се опитвате да изчислите оставащите дни след последния завършен месец, ето едно заобиколно решение:

=DATEDIF(D17;E17;мд) и резултат: 5 Тази формула изважда първия ден на завършващия месец (1.5.2016 г.) от първоначалната крайна дата в клетка E17 (6.5.2016 г.). Ето как става това: Първо, функцията DATE създава дата – 1.5.2016 г. Функцията създава датата чрез годината в клетка E17 и месеца в клетка E17. Тогава 1 представлява първия ден на същия месец. Резултатът от функцията DATE е 1.5.2016 г. После изваждаме това от първоначалната крайна дата в клетка E17, което е 6.5.2016 г. А 6.5.2016 г. минус 1.5.2016 г. е 5 дни.

Имате нужда от още помощ?

Винаги можете да попитате експерт в техническата общност за Excel или да получите поддръжка в общностите.