Excel datediff по русски

Содержание

  1. Функция DateDiff
  2. Примеры запросов DateDiff
  3. Пример выражения
  4. Пример VBA
  5. Excel datediff по русски
  6. Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?
  7. Что возвращает функция
  8. Синтаксис
  9. Аргументы функции
  10. Дополнительная информация
  11. Примеры использования функции РАЗНДАТ в Excel
  12. Пример №1. Подсчет количества лет между двумя датами
  13. Пример №2. Подсчет количества месяцев между двумя датами
  14. Пример №3. Подсчет количества дней между двумя датами

Функция DateDiff

Возвращает значение типа Variant ( Long), указывающее на количество интервалов времени между двумя указанными датами.

DateDiff ( интервал, дата1, дата2 [ , первый_день_недели[ , первая_неделя_года] ] )

Функция DateDiff имеет следующие аргументы:

Совет: В Access 2010 построитель выражений включает функцию IntelliSense, которая указывает требуемые аргументы.

Обязательный аргумент. Строковое выражение, которое обозначает интервал времени, используемый для вычисления разницы значений дата1 и дата2.

— обязательный аргумент. Variant (Date). Две даты, которые вы хотите использовать в вычислениях.

Необязательный аргумент. Константа, задающая первый день недели. Если не указано, предполагается воскресенье.

Необязательный аргумент. Константа, задающая первую неделю года. Если не указано, первой считается неделя, на которую вы хотите 1 января.

Аргумент интерваларгумент имеет следующие значения:

Аргумент первый_день_недели может принимать следующие значения:

Используются параметры API NLS.

Воскресенье (по умолчанию)

Используются параметры API NLS.

Начинается с недели, на которую приходится 1 января (по умолчанию).

Первой неделей считается та, которая содержит хотя бы четыре дня нового года.

Первой неделей считается первая полная неделя года.

Функция DateDiff используется для определения числа интервалов времени между двумя датами. Например, DateDiff можно использовать для вычисления числа дней между двумя датами или числа недель между сегодняшним днем и концом года.

Для вычисления числа дней между аргументами дата1 и дата2 используется значение «День года» («y») или «День» («d»). Если интервал задан как «День недели» («w»), DateDiff возвращает число недель между двумя датами. Если день дата1 приходится на понедельник, DateDiff считает число понедельников до дня дата2. День, соответствующий значению аргумента дата2, учитывается, а дата1 — нет. Однако если интервал задан как «Неделя» («ww»), функция DateDiff возвращает число календарных недель между двумя датами. Для этого рассчитывается число воскресений между днями дата1 и дата2. DateDiff учитывает день дата2, если он приходится на воскресенье; день дата1 не учитывается, даже если он приходится на воскресенье.

Если значение дата1 соответствует более поздней дате, чем значение дата2, функция DateDiff возвращает отрицательное число.

Аргумент первый_день_недели влияет на вычисления, если заданы значения «w» и «ww».

Если аргумент дата1 или дата2 содержит литерал даты, указанный год становится постоянной частью этой даты. Однако если аргумент дата1 или дата2 заключен в двойные прямые кавычки (» «), а год опущен, при каждой оценке выражения дата1 или дата2 в код подставляется текущий год. Это позволяет писать код, который можно использовать для разных лет.

Если при сравнении 31 декабря с 1 января следующего года указано значение «Год» («yyyy»), функция DateDiff возвращает 1, хотя прошел всего один день.

Примечание: Если в свойстве Calendar задан григорианский календарь, аргументы дата1 и дата2 следует указывать соответствующим образом. Если используется календарь Хиджра, дата должна соответствовать ему.

Примеры запросов DateDiff

SELECT DateDiff(«yyyy»,#01/01.2010#,[DateofSale]) AS Expr1 FROM ProductSales;

Возвращает разницу между датами «Дата2» и «Дата1» (считают дату1 самой старой, а «Дата2» — как новую) числом «Годы». Результат. Разница между значениями в поле «Датапродажи» и датой «01.01.2010» как количество лет.

SELECT DateDiff(«q»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Кварталы» (на основе года) и отображает в столбце «DaysSinceSale». возвращает разницу между системной датой и значением DateofSale как число месяцев и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«y»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Дни» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«d»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Дни» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«w»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число рабочих дней и отображает в столбце «DaysSinceSale». Если «DateofSale» приходится на понедельник, DateDiff считает количество понедельников до системной даты. При подсчете учитываются системные даты, но не значение в «DateofSale».

SELECT DateDiff(«ww»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Недели календера» и отображает в столбце «DaysSinceSale». Количество воскресеньей между датами «ДатаofSale» и «системная дата». Системная дата учитывается, если она приходится на воскресенье; но он не учитывается как «DateofSale», даже если он выпадет на воскресенье.

SELECT DateDiff(«h»,[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением даты и времени как число «Часы» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«n»;[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением даты и времени как число «Минуты» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«s»;[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением даты и времени как число «секунд» и отображает в столбце «DaysSinceSale».

Пример выражения

Использование функции DateDiff в выражении Функцию DateDiff можно использовать везде, где можно использовать выражения. Предположим, у вас есть форма, используемая для выполнения заказов клиентов. В таблице «Заказы» есть поле ReceiveBefore, в котором указана дата получения заказа клиентом. Функцию DateDiff можно использовать вместе с текстовым полем в форме, чтобы отобразить количество дней до даты, до того как заказ должен отгрузываться.

Если предположить, что отгрузка любого заказа занимает десять дней, можно задать для свойства Данные текстового поля следующее значение:

=DateDiff(«d», Now(), [Заказы].[Срок])-10

Если открыть форму в режиме формы, то в текстовом поле отобразится количество дней, оставшихся до даты, когда необходимо отгрузить заказ. Если до даты, к которой клиенту необходимо получить заказ, осталось менее 10 дней, в текстовом поле отображается отрицательное число, указывающее, на сколько дней задержится доставка товара при условии немедленной отгрузки.

Пример VBA

Использование функции DateDiff в коде VBA

В данном примере функция DateDiff отображает число дней между указанной датой и сегодняшним днем.

Источник

Excel datediff по русски

Информация о сайте

Инструменты и настройки

Excel Windows
и
Excel Macintosh

Вопросы и решения

Работа и общение

Работа форума и сайта

Функции листа Excel

= Мир MS Excel/Статьи об Excel

Функции листа. Функции баз данных [1]
Функции листа. Функции даты и времени [5]
Функции листа. Функции инженерные [1]
Функции листа. Функции информационные [2]
Функции листа. Функции логические [10]
Функции листа. Функции математические [4]
Функции листа. Функции статистические [1]
Функции листа. Функции текстовые [1]
Функции листа. Функции финансовые [1]
Функции листа. Функции ссылок и массивов [2]
Функции листа. Функции аналитические [1]
Функции листа. Функции определённые пользователем [1]
Функция диаграмм [1]
Макрофункции [37]

СИНТАКСИС:
=РАЗНДАТ( нач_дата ; кон_дата ; код )

АРГУМЕНТЫ:
1. нач_дата — начальная дата.
2. кон_дата — конечная дата .
3. код — текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.

Источник

Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?

Функция DATEDIF (РАЗНДАТ) в Excel используется для подсчета количества лет, месяцев или дней между двумя датами. Хороший пример — подсчет возраста.

Что возвращает функция

Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.

Синтаксис

=DATEDIF(start_date,end_date,unit) — английская версия

= РАЗНДАТ( нач_дата ; кон_дата ; единица) — русская версия

Аргументы функции

  • start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
  • end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
  • unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
  • “Y” — возвращает данные в количестве лет между двумя датами;
  • “M” — возвращает данные в количестве месяцев между двумя датами;
  • “D” — возвращает данные в количестве дней между двумя данными;
  • “MD” — возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
  • “YM” — возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
  • “YD” — возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.

Дополнительная информация

  • При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
  • Данные даты в функции могут быть введены как:
    — дата указанная в виде текста в кавычках;
    — число;
    — как результат вычисления, формулы, функции.

Примеры использования функции РАЗНДАТ в Excel

Пример №1. Подсчет количества лет между двумя датами

На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.

Пример №2. Подсчет количества месяцев между двумя датами

На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество полных месяцев между двумя датами — 19 июня 1989 года и 26 марта 2017 года.

Функция возвращает значение “333”, что является количеством полных месяцев между датами указанными выше.

Пример №3. Подсчет количества дней между двумя датами

На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество дней между двумя датами. Например, функция возвращает значение “10142” дня между двумя датами — 19 июня 1989 года и 26 марта 2017 года.

Если вы хотите посчитать количество дней между двумя датами, исключая количество лет, которые уже завершены, вам нужно использовать аргумент “YD” в качестве третьего (пример на рисунке ниже):

В приведенном выше примере он возвращает значение “280”, то есть число дней между днями, исключая 27 полных лет.

Если вы хотите посчитать количество дней между двумя датами, исключая количество полных лет и месяцев, используйте атрибут “MD” в качестве третьего аргумента (как показано на рис. ниже):

На примере выше функция возвращает значение “7” означающие количество дней между двумя днями «19» и «26» число, исключая значения лет и месяцев.

Источник

Функция DATEDIF (РАЗНДАТ) в Excel используется для подсчета количества лет, месяцев или дней между двумя датами. Хороший пример — подсчет возраста.

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Дополнительная информация
  5. Примеры использования функции РАЗНДАТ в Excel
  6. Пример №1. Подсчет количества лет между двумя датами
  7. Пример №2. Подсчет количества месяцев между двумя датами
  8. Пример №3. Подсчет количества дней между двумя датами

Что возвращает функция

Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.

Синтаксис

=DATEDIF(start_date,end_date,unit) — английская версия

=РАЗНДАТ(нач_дата;кон_дата;единица) — русская версия

Аргументы функции

  • start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
  • end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
  • unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
  • “Y” — возвращает данные в количестве лет между двумя датами;
  • “M” — возвращает данные в количестве месяцев между двумя датами;
  • “D” — возвращает данные в количестве дней между двумя данными;
  • “MD” — возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
  • “YM” — возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
  • “YD” — возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.

Дополнительная информация

  • При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
  • Данные даты в функции могут быть введены как:
    — дата указанная в виде текста в кавычках;
    — число;
    — как результат вычисления, формулы, функции.

Примеры использования функции РАЗНДАТ в Excel

Пример №1. Подсчет количества лет между двумя датами

DATEDIF (РАЗНДАТ) в Excel

На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.

Пример №2. Подсчет количества месяцев между двумя датами

DATEDIF (РАЗНДАТ) полных месяцев в Excel

На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество полных месяцев между двумя датами — 19 июня 1989 года и 26 марта 2017 года.

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

Функция возвращает значение “333”, что является количеством полных месяцев между датами указанными выше.

Пример №3. Подсчет количества дней между двумя датами

Функция DATEDIF (РАЗНДАТ) в Excel. Количество дней между датами

На примере выше, функция DATEDIF (РАЗНДАТ) в Excel возвращает количество дней между двумя датами. Например, функция возвращает значение “10142” дня между двумя датами — 19 июня 1989 года и 26 марта 2017 года.

Если вы хотите посчитать количество дней между двумя датами, исключая количество лет, которые уже завершены, вам нужно использовать аргумент “YD” в качестве третьего (пример на рисунке ниже):

Функция DATEDIF (РАЗНДАТ) в Excel. Количество дней между двумя датами исключая годы

В приведенном выше примере он возвращает значение “280”, то есть число дней между днями, исключая 27 полных лет.

Если вы хотите посчитать количество дней между двумя датами, исключая количество полных лет и месяцев, используйте атрибут “MD” в качестве третьего аргумента (как показано на рис. ниже):

Функция DATEDIF (РАЗНДАТ) в Excel - количество дней между датами исключая годы и месяцы

На примере выше функция возвращает значение “7” означающие количество дней между двумя днями «19» и «26» число, исключая значения лет и месяцев.

Содержание

  • 1 Что возвращает функция
  • 2 Синтаксис
  • 3 Аргументы функции
  • 4 Дополнительная информация
  • 5 2 популярных способа сравнения 2 дат в Excel
    • 5.1 Первая дата больше второй, или нет
    • 5.2 Функция ЕСЛИ, значение ИСТИНА или ЛОЖЬ
  • 6 Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах
    • 6.1 Пример №1. Подсчет количества лет между двумя датами
    • 6.2 Разница дат в полных месяцах
    • 6.3 Разница в днях без учета лет
    • 6.4 Количество рабочих дней между двумя датами
    • 6.5 Сдвиг даты на заданное количество дней
    • 6.6 Сдвиг даты на заданное количество рабочих дней
    • 6.7 Вычисление дня недели
    • 6.8 Вычисление временных интервалов
  • 7 Еще раз о кривизне РАЗНДАТ()
  • 8 Формула разница дат в Excel

Что возвращает функция

Число, обозначающее количество лет/месяцев/дней между двумя датами. Какие значения будут отображаться (год, месяц или дни) зависит от того, что будет указано вами в атрибутах функции.

Синтаксис

=DATEDIF(start_date,end_date,unit) – английская версия

=РАЗНДАТ(нач_дата;кон_дата;единица) – русская версия

Аргументы функции

  • start_date (нач_дата): дата, с которой начинается вычисление разницы во времени между двумя датами. Дата может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления (например в функции ДАТА());
  • end_date (кон_дата): дата, на которой вычисление разницы во времени между двумя датами будет окончено. Она, также, может быть указана как текст в кавычках, числовое значение, или результат какого-либо вычисления;
  • unit (единица): Этот аргумент определяет в каком измерении будет отображена разница между двумя датами (год, месяц, день). Существует 6 различных типов отражения данных:
  • “Y” – возвращает данные в количестве лет между двумя датами;
  • “M” – возвращает данные в количестве месяцев между двумя датами;
  • “D” – возвращает данные в количестве дней между двумя данными;
  • “MD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, месяца, которые уже прошли при расчете данных. Например, если вы рассчитываете количество дней между двумя датами: 1 Января 2017 и 3 Марта 2017, функция выдаст значение “2”, так как не будет учитывать два прошедших полных месяцев (Январь, Февраль);
  • “YM” – возвращает данные в количестве месяцев между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными данными;
  • “YD” – возвращает данные в количестве дней между двумя датами, но не учитывает целые годы, которые уже прошли между двумя расчетными датами.

Дополнительная информация

  • При вводе функции в ячейку, она не отображается в быстром меню выбора функций. Тем не менее функция работает во всех версиях Excel. Важно знать аргументы функции и как ими пользоваться;
  • Данные даты в функции могут быть введены как:
    – дата указанная в виде текста в кавычках;
    – число;
    – как результат вычисления, формулы, функции.

2 популярных способа сравнения 2 дат в Excel

Итак, если нам требуется сравнить две даты между собой, это можно сделать двумя основными методами в зависимости от поставленной задачи. Давайте узнаем, какие они. В этом нет ничего сложного, формулы довольно простые и почти не отличаются от тех, которые применяются для работы с числами. Не забываем о том, что дата воспринимается электронной таблицей, как число, и обрабатывается аналогичным образом. 

Первая дата больше второй, или нет

В этом случае нужно использовать аналогичную формулу, которая используется для проверки чисел: =A1>A2. Если эта проверка подтверждается, то в ячейку, куда была записана эта формула, возвращается значение “ИСТИНА”. Если же первое число меньше второго, то тогда будет записано “ЛОЖЬ”. Аналогично, только зеркально противоположно с формулой =A1

Функция ЕСЛИ, значение ИСТИНА или ЛОЖЬ

Это уже более сложный вариант, который дает возможность не только говорить, действительно ли одна дата больше другой, но и указывать, на какое количество дней. Чтобы это сделать, необходимо нажать по ячейке и записать туда формулу =ЕСЛИ(A2>B2;»Первая дата больше второй на»&» «&A2-B2&» «&»дней»;»Первая дата меньше второй на»&» «&B2-A2&» «&»дней»)

Как в Excel сравнить 2 даты между собой - простая инструкция
1

Здесь мы осуществляем проверку двух дат, и исходя из того, что у нас получилось в итоге, выводим результат, на сколько дней первая дата больше, чем вторая. Чтобы это сделать, нами был использовал оператор &, который объединяет две строки текста между собой и объединенный результат возвращает в ячейку. Далее получившийся текст можно использовать сам по себе или в других формулах.

Функция РАЗНДАТ – разность двух дат в днях, месяцах и годах

Предположим, вы работаете в пенсионном фонде и хотите определить трудовой стаж в количестве лет, дней, месяцев и так далее. Это можно сделать с помощью функции РАЗНДАТ.

Ее синтаксис элементарный.

РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Единственный из этих аргументов, который действительно может вызвать вопросы у неподготовленного читателя – это способ измерения. С его помощью мы задаем, в каких единицах будет измеряться разница между датами. Это может быть количество месяцев, лет или количество месяцев без учета лет. Еще один вариант – это количество дней без учета месяцев и лет. 

Важно учесть, что в некоторых случаях эта функция может вернуть неправильное значение. Это бывает, когда день первой даты больше, чем день второй. Такая ситуация может быть, например, когда нужно рассчитать количество дней между двумя датами, первая из которых происходила в конце месяца, а другая – в начале следующего.

Пример №1. Подсчет количества лет между двумя датами

DATEDIF (РАЗНДАТ) в Excel

На примере выше, формула возвращает количество лет между двумя датами. Например, функция вернет значение “27” если вы захотите посчитать количество полных лет между двумя датами 19 июня 1989 года и 26 марта 2017 года. Система подсчитывает количество полных лет и игнорирует количество месяцев и дней между датами.

Разница дат в полных месяцах

Чтобы определить количество полных месяцев, которое прошло с одной даты до другой, необходимо воспользоваться такой же самой формулой, которая была приведена выше, только третий аргумент должен содержать аргумент m.

То есть, формула следующая.

=РАЗНДАТ(A2;B2;”m”)

Эта формула также может давать несколько неточные данные. Поэтому всегда нужно перепроверять значения самостоятельно. 

Разница в днях без учета лет

Эта формула также может использоваться для определения количества дней между двумя датами, но при этом не учитывать количество лет, которое прошло между этими двумя временными точками. Эта возможность есть, но пользоваться ею настоятельно не рекомендуется, потому что искажений в этом случае может быть еще больше.

Как в Excel сравнить 2 даты между собой - простая инструкция
1

Эта формула вернет правильный результат только тогда, когда в компьютере показано правильное время. Конечно, в большинстве современных операционных системах дата и время определяется автоматически, но иногда случаются сбои. Поэтому перед тем, как подсчитывать разницу в днях без учета лет, нужно убедиться, что на компьютере установлена правильная дата и время. Особенно если электронная таблица пересылалась другому человеку. 

Количество рабочих дней между двумя датами

Здесь ситуация чуть сложнее. Необходимо не учитывать субботы с воскресеньями и праздники. Для такого расчета лучше воспользоваться функцией ЧИСТРАБДНИ (NETWORKDAYS) из категории Дата и время. В качестве аргументов этой функции необходимо указать начальную и конечную даты и ячейки с датами выходных (государственных праздников, больничных дней, отпусков, отгулов и т.д.):

как сделать сравнение дат в excel

Примечание: Эта функция появилась в стандартном наборе функций Excel начиная с 2007 версии. В более древних версиях сначала необходимо подключить надстройку Пакета анализа. Для этого идем в меню Сервис — Надстройки (Tools — Add-Ins) и ставим галочку напротив Пакет анализа (Analisys Toolpak). После этого в Мастере функций в категории Дата и время появится необходимая нам функция ЧИСТРАБДНИ (NETWORKDAYS).

Сдвиг даты на заданное количество дней

Поскольку одни сутки в системе отсчета даты Excel принимаются за единицу (см.выше), то для вычисления даты, отстоящей от заданной на, допустим, 20 дней, достаточно прибавить к дате это число.

Сдвиг даты на заданное количество рабочих дней

Эту операцию осуществляет функция РАБДЕНЬ (WORKDAY). Она позволяет вычислить дату, отстоящую вперед или назад относительно начальной даты на нужное количество рабочих дней (с учетом выходных суббот и воскресений и государственных праздинков). Использование этой функции полностью аналогично применению функции ЧИСТРАБДНИ(NETWORKDAYS) описанной выше.

Вычисление дня недели

Вас не в понедельник родили? Нет? Уверены? Можно легко проверить при помощи функции ДЕНЬНЕД (WEEKDAY) из категории Дата и время.

как сделать сравнение дат в excel

Первый аргумент этой функции — ячейка с датой, второй — тип отсчета дней недели (самый удобный — 2).  

Вычисление временных интервалов

Поскольку время в Excel, как было сказано выше, такое же число, как дата, но только дробная его часть, то с временем также возможны любые математические операции, как и с датой — сложение, вычитание и т.д.

Нюанс здесь только один. Если при сложении нескольких временных интервалов сумма получилась больше 24 часов, то Excel обнулит ее и начнет суммировать опять с нуля. Чтобы этого не происходило, нужно применить к итоговой ячейке формат 37:30:55:

как сделать сравнение дат в excel

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Вычисление разности дат в Microsoft Excel. Функция DATEDIF (РАЗНДАТ) в Excel. Как использовать?

Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты.

Формула возвращает разницу дат между сегодняшней и установленной планом в днях. Для решения данной задачи используется функция РАЗНДАТ в Excel: где найти эту формулу?

Данную функцию вы не найдете в мастере функций и даже на панели «ФОРМУЛЫ». Ее всегда нужно вводить вручную. Первым аргументом функции всегда должна быть новейшая дата, а вторым всегда – старшая дата. Третий аргумент функции определяет единицу измерения количества, которое возвращает функция =РАЗНДАТ(). В данном случае это символ «d» – дней. Это значит, что функция возвращает количество дней. Дальше следует оператор <7. То есть формула проверяет, если функция возвращает число меньше чем 7, то формула возвращает значение ИСТИНА и к текущей ячейке применяется условное форматирование. Ссылки на ячейки в первом аргумент абсолютная (значение неизменяемое), а во втором аргументе – относительная, так как проверятся будут несколько ячеек в столбце C.

При необходимости можно к данному диапазону добавить новое правило условного форматирования, которое будет предупреждать нас об окончании сроков за 2 недели.

Цвет форматирования для второго правила можно задать желтый. К одному и тому же диапазону должно быть применено 2 правила условного форматирования. Чтобы проверить выберите инструмент: «ГЛАВНАЯ»-«Стили»-«Условное форматирование»-«Управление правилами». Так как у нас сначала выполняется верхнее правило следует изменить их порядок в появившемся окне: «Диспетчер правил условного форматирования». Иначе все выделенные задачи будут иметь желтую заливку ячеек.

Полезный совет! Если к одному и тому же диапазону присвоено много правил – соблюдайте иерархию приоритетов порядка их выполнения в диспетчере управления правилами. Чем выше правило, тем выше его приоритет выполнения по отношению к другим расположенных ниже под ним.

Источники

  • https://excelhack.ru/funkciya-datedif-razndat-v-excel/
  • https://office-guru.ru/excel/data-vremja/kak-v-excel-sravnit-2-daty-mezhdu-soboj-prostaya-instrukciya.html
  • http://word-office.ru/kak-sdelat-sravnenie-dat-v-excel.html
  • https://excelka.ru/voprosy/kak-v-excel-sravnit-dve-daty.html
  • https://exceltable.com/formatirovanie/raznica-mejdu-datami

Возвращает значение типа Variant (Long), указывающее на количество интервалов времени между двумя указанными датами.

Синтаксис

DateDiff
(

интервал, дата1, дата2
[, первый_день_недели[, первая_неделя_года]] )

Функция DateDiff имеет следующие аргументы:

Совет: 
В Access 2010 построитель выражений включает функцию IntelliSense, которая указывает требуемые аргументы. 

Аргумент

Описание

интервал

Обязательный аргумент. Строковое выражение, которое обозначает интервал времени, используемый для вычисления разницы значений дата1 и дата2.

дата1, дата2

— обязательный аргумент. Variant(Date). Две даты, которые вы хотите использовать в вычислениях.

первый_день_недели

Необязательный аргумент. Константа, задающая первый день недели. Если не указано, предполагается воскресенье.

первая_неделя_года

Необязательный аргумент. Константа, задающая первую неделю года. Если не указано, первой считается неделя, на которую вы хотите 1 января.

Параметры

Аргумент интерваларгумент имеет следующие значения:

Параметр

Описание

yyyy

Год

q

Квартал

m

Месяц

y

День года

d

День

w

День недели

ww

Неделя

h

Часы

n

Минуты

s

Секунды

Аргумент первый_день_недели может принимать следующие значения:

Константа

Значение

Описание

vbUseSystem

0

Используются параметры API NLS.

vbSunday

1

Воскресенье (по умолчанию)

vbMonday

2

Понедельник

vbTuesday

3

Вторник

vbWednesday

4

Среда

vbThursday

5

Четверг

vbFriday

6

Пятница

vbSaturday

7

Суббота

Константа

Значение

Описание

vbUseSystem

0

Используются параметры API NLS.

vbFirstJan1

1

Начинается с недели, на которую приходится 1 января (по умолчанию).

vbFirstFourDays

2

Первой неделей считается та, которая содержит хотя бы четыре дня нового года.

vbFirstFullWeek

3

Первой неделей считается первая полная неделя года.

Замечания

Функция DateDiff используется для определения числа интервалов времени между двумя датами. Например, DateDiff можно использовать для вычисления числа дней между двумя датами или числа недель между сегодняшним днем и концом года.

Для вычисления числа дней между аргументами дата1 и дата2 используется значение «День года» («y») или «День» («d»). Если интервал задан как «День недели» («w»), DateDiff возвращает число недель между двумя датами. Если день дата1 приходится на понедельник, DateDiff считает число понедельников до дня дата2. День, соответствующий значению аргумента дата2, учитывается, а дата1 — нет. Однако если интервал задан как «Неделя» («ww»), функция DateDiff возвращает число календарных недель между двумя датами. Для этого рассчитывается число воскресений между днями дата1 и дата2. DateDiff учитывает день дата2, если он приходится на воскресенье; день дата1 не учитывается, даже если он приходится на воскресенье.

Если значение дата1 соответствует более поздней дате, чем значение дата2, функция DateDiff возвращает отрицательное число.

Аргумент первый_день_недели влияет на вычисления, если заданы значения «w» и «ww».

Если аргумент дата1 или дата2 содержит литерал даты, указанный год становится постоянной частью этой даты. Однако если аргумент дата1 или дата2 заключен в двойные прямые кавычки (» «), а год опущен, при каждой оценке выражения дата1 или дата2 в код подставляется текущий год. Это позволяет писать код, который можно использовать для разных лет.

Если при сравнении 31 декабря с 1 января следующего года указано значение «Год» («yyyy»), функция DateDiff возвращает 1, хотя прошел всего один день.

Примечание:  Если в свойстве Calendar задан григорианский календарь, аргументы дата1 и дата2 следует указывать соответствующим образом. Если используется календарь Хиджра, дата должна соответствовать ему.

Примеры запросов DateDiff


Выражение


Результаты:

SELECT DateDiff(«yyyy»,#01/01.2010#,[DateofSale]) AS Expr1 FROM ProductSales;

Возвращает разницу между датами «Дата2» и «Дата1» (считают дату1 самой старой, а «Дата2» — как новую) числом «Годы». Результат. Разница между значениями в поле «Датапродажи» и датой «01.01.2010» как количество лет.

SELECT DateDiff(«q»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Кварталы» (на основе года) и отображает в столбце «DaysSinceSale». возвращает разницу между системной датой и значением DateofSale как число месяцев и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«y»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Дни» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«d»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Дни» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«w»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число рабочих дней и отображает в столбце «DaysSinceSale». Если «DateofSale» приходится на понедельник, DateDiff считает количество понедельников до системной даты. При подсчете учитываются системные даты, но не значение в «DateofSale».

SELECT DateDiff(«ww»,[DateofSale],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением DateofSale как число «Недели календера» и отображает в столбце «DaysSinceSale». Количество воскресеньей между датами «ДатаofSale» и «системная дата». Системная дата учитывается, если она приходится на воскресенье; но он не учитывается как «DateofSale», даже если он выпадет на воскресенье.

SELECT DateDiff(«h»,[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением даты и времени как число «Часы» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«n»;[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением даты и времени как число «Минуты» и отображает в столбце «DaysSinceSale».

SELECT DateDiff(«s»;[DateTime],Date()) AS DaysSinceSale FROM ProductSales;

Возвращает разницу между системной датой и значением даты и времени как число «секунд» и отображает в столбце «DaysSinceSale».

Пример выражения

Использование функции DateDiff в выражении     Функцию DateDiff можно использовать везде, где можно использовать выражения. Предположим, у вас есть форма, используемая для выполнения заказов клиентов. В таблице «Заказы» есть поле ReceiveBefore, в котором указана дата получения заказа клиентом. Функцию DateDiff можно использовать вместе с текстовым полем в форме, чтобы отобразить количество дней до даты, до того как заказ должен отгрузываться.

Если предположить, что отгрузка любого заказа занимает десять дней, можно задать для свойства Данные текстового поля следующее значение:

=DateDiff(«d», Now(), [Заказы].[Срок])-10

Если открыть форму в режиме формы, то в текстовом поле отобразится количество дней, оставшихся до даты, когда необходимо отгрузить заказ. Если до даты, к которой клиенту необходимо получить заказ, осталось менее 10 дней, в текстовом поле отображается отрицательное число, указывающее, на сколько дней задержится доставка товара при условии немедленной отгрузки.

Пример VBA

Использование функции DateDiff в коде VBA    

В данном примере функция DateDiff отображает число дней между указанной датой и сегодняшним днем.

Dim TheDate As Date    ' Declare variables.
Dim Msg
TheDate = InputBox("Enter a date")
Msg = "Days from today: " & DateDiff("d", Now, TheDate)
MsgBox Msg

Для вычислений длительностей интервалов дат в Excel есть функция РАЗНДАТ, в английской версии — DATEDIF.

Нюанс в том, что Вы не найдете эту функцию в списке Мастера функций, нажав кнопку fx — она является недокументированной возможностью Excel. Точнее говоря, найти описание этой функции и ее аргументов можно только в полной версии англоязычной справки, поскольку на самом деле она оставлена для совместимости со старыми версиями Excel и Lotus 1-2-3. Однако, несмотря на то, что эту функцию не получится вставить стандартным способом через окно Вставка — Функция (Insert — Function), ее можно вручную вписать в ячейку с клавиатуры — и она сработает!

Синтаксис функции следующий:

=РАЗНДАТ(Начальная_дата; Конечная_дата; Способ_измерения)

С первыми двумя аргументами все более-менее понятно — это ячейки со стартовой и конечной датами. А самый интересный аргумент, конечно, последний — он определяет, каким именно образом и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот параметр может принимать следующие значения:

«y» разница в полных годах   
«m» в полных месяцах
«d» в полных днях
«yd» разница в днях с начала года без учета лет
«md» разница в днях без учета месяцев и лет
«ym» разница в полных месяцах без учета лет

Например:

Вычисление разницы между двумя датами функцией РАЗНДАТ

Т.е. при желании подсчитать и вывести, например, ваш стаж в виде «3 г. 4 мес. 12 дн.», необходимо ввести в ячейку следующую формулу:

=РАЗНДАТ(A1;A2;»y»)&» г. «&РАЗНДАТ(A1;A2;»ym»)&» мес. «&РАЗНДАТ(A1;A2;»md»)&» дн.»

где А1 — ячейка с датой поступления на работу, А2 — с датой увольнения.

или в английской версии Excel:


=DATEDIF(A1;A2;»y»)&» y. «&DATEDIF(A1;A2;»ym»)&» m. «&DATEDIF(A1;A2;»md»)&» d.»

Ссылки по теме

  • Как сделать выпадающий календарь для быстрого ввода любой даты мышью в любую ячейку.
  • Как Excel работает с датами
  • Как сделать так, чтобы текущая дата автоматически вводилась в ячейку.
  • Как выяснить, пересекаются ли два интервала дат и на сколько дней

Понравилась статья? Поделить с друзьями:
  • Excel copy cell contents
  • Excel date to java date
  • Excel date this year
  • Excel copy all columns to one column
  • Excel date this month