Главная

Friday, 18 August 2017

Секретная функция в Excel.

Всем привет.

Есть в Microsoft Excel пасхальное яйцо в виде функции. Эта функция вычисляет разность между двумя датами.

Синтаксис: 
=РАЗНДАТ(нач_дата;кон_дата;код)
или
=DATEDIF(нач_дата;кон_дата;код)

Аргументы: 
1. нач_дата - начальная дата. 
2. кон_дата - конечная дата.
3. код - текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.
    
Список допустимых значений аргумента:
"y" - число полных лет в заданном промежутке
"m"- число полных месяцев в заданном промежутке
"d" - число дней в заданном промежутке
"md"- разность между номером дня в дате аргумента кон_дата и номером дня в дате аргумента нач_дата, при этом значения месяца и года в заданных датах игнорируются
"ym" - разность между номером месяца в дате аргумента кон_дата и номером дня в дате аргумента нач_дата, при этом значения номеров дня и года в заданных датах игнорируются
"yd" - разность в днях между датами аргументов кон_дата и нач_дата, при этом значения года в заданных датах игнорируются.



Ограничения: 
Если аргумент кон_дата соответствует более ранней дате чем аргумент нач_дата функция вернёт значение ошибки #ЧИСЛО.

Если какой-либо из аргументов нач_дата или кон_дата не являются допустимой датой, то функция вернёт значение ошибки #ЗНАЧ.

Пример:



Почему же она как пасхальное яйцо? Потому что самой функции РАЗНДАТ нет в справке Excel. Более того нет её и в мастере функций. И при наборе вручную первых букв названия функции Excel тоже не покажет подсказку в выпадающем списке. Но объясняется это довольно просто. Эта функция изначально не являлась функцией Excel. Она всего лишь поддерживается Excel для совместимости с другими системами электронных таблиц.  В Excel эта функция попала из электронных таблиц Lotus 1-2-3.

Но эта функция работает до сих пор, и  в Excel 2016.)

2 comments:

  1. В 2019 году в таблице Excel-2010 применил функцию РАЗНДАТ(). Она прекрасно считала мне дни изначально и считает до сих пор (февраль 2020 г.).
    Но вот понадобилось создать другую таблицу сегодня и при вводе этой же функции, мой Excel-2010 сообщает об ошибке. В чём дело, не могу понять :(

    ReplyDelete
  2. Что пишет ваш Excel ?

    ReplyDelete

А что вы думаете по этому поводу?