Как подсчитать количество дней, недель, месяцев или лет между двумя датами?
Вы когда-нибудь задумывались о том, сколько дней, недель, месяцев или лет между двумя заданными датами в Excel? Это руководство поможет вам как можно скорее завершить следующие операции.
- Подсчитайте количество дней между двумя датами с помощью формул
- Подсчитайте количество недель между двумя датами с помощью формул
- Подсчитайте количество месяцев между двумя датами с помощью формул
- Подсчитайте количество лет между двумя датами с помощью формулы
- Подсчитайте количество лет, месяцев и дней между двумя датами с помощью формул
- Рассчитайте различную разницу между двумя датами в днях, неделях, месяцах, годах с помощью мощной функции
Подсчитайте количество дней между двумя датами с помощью формул
Чтобы подсчитать количество дней между двумя заданными датами, используйте следующие формулы:
1. Введите любую из приведенных ниже формул в пустую ячейку, в которой вы хотите получить результат:
=DATEDIF(A2,B2,»D»)
=B2-A2
Внимание: В приведенной выше формуле A2 это ячейка даты начала и B2 — ячейка даты окончания.
2. Затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, и рассчитайте количество дней, см. Снимок экрана:
Подсчитайте количество недель между двумя датами с помощью формул
Чтобы подсчитать, сколько недель между двумя датами, вы можете использовать приведенную ниже удобную формулу, просто вычтите дату начала из даты окончания и разделите на 7.
1. Введите любую из следующих формул в пустую ячейку:
=(DATEDIF(A2,B2,»D»)/7)
=(B2-A2)/7
Внимание: В приведенной выше формуле A2 это ячейка даты начала и B2 — ячейка даты окончания.
2. Затем перетащите дескриптор заполнения вниз, чтобы заполнить эту формулу, и вы получите недели в десятичных числах, см. Снимок экрана:
- Tips: Если вы хотите получить количество полных недель между двумя датами, примените эту формулу:
- = ОКРУГЛВНИЗ ((РАЗНДАТ (A2; B2; «d») / 7); 0)
= ЦЕЛОЕ ((B2-A2) / 7)
Рассчитайте различную разницу между двумя датами в днях, неделях, месяцах, годах и т. Д.
Слишком много формул, чтобы запомнить, Kutools for Excel‘s Помощник по дате и времени вы можете быстро получить различные результаты разницы между двумя датами в зависимости от ваших потребностей, не запоминая никаких формул, таких как недели + дни , месяцы + недели и так далее. Нажмите, чтобы скачать Kutools for Excel!
Kutools for Excel: с более чем 300 удобными надстройками Excel, которые можно попробовать бесплатно без ограничений в течение 30 дней. Загрузите и бесплатную пробную версию прямо сейчас!
Подсчитайте количество месяцев между двумя датами с помощью формулы
Если вы хотите определить количество месяцев между двумя датами, вы можете использовать эту функцию РАЗНДАТ.
1. Введите следующую формулу в пустую ячейку, в которую вы хотите вывести результат:
=DATEDIF(A2,B2,»m»)
Внимание: В приведенной выше формуле A2 это ячейка даты начала и B2 — ячейка даты окончания.
2. Затем перетащите дескриптор заполнения вниз, чтобы заполнить эту формулу, и вы получите количество полных месяцев между заданными двумя датами, см. Снимок экрана:
- Tips: Если вы хотите получить количество полных недель между двумя датами, примените эту формулу:
- = РАЗНДАТ (A2; B2; «m») & «месяцы» & РАЗНДАТ (A2; B2; «md») & «дни»
Подсчитайте количество лет между двумя датами с помощью формулы
С помощью приведенной выше функции РАЗНДАТ можно также вычислить количество лет между двумя датами.
1. Примените приведенную ниже формулу в пустую ячейку:
=DATEDIF(A2,B2,»y»)
Внимание: В приведенной выше формуле A2 это ячейка даты начала и B2 — ячейка даты окончания.
2. Затем перетащите дескриптор заполнения вниз к ячейкам, к которым вы хотите применить эту формулу, и все количество лет было рассчитано, как показано ниже:
Подсчитайте количество лет, месяцев и дней между двумя датами с помощью формул
Иногда вам нужно точно знать, сколько лет, месяцев и дней между двумя датами, в этой ситуации вам может помочь следующая длинная формула.
1. В пустой ячейке введите или скопируйте следующую формулу:
=DATEDIF(A2, B2, «y») &» years «&DATEDIF(A2, B2, «ym») &» months » &DATEDIF(A2, B2, «md») &» days»
Внимание: В приведенной выше формуле A2 это ячейка даты начала и B2 — ячейка даты окончания.
2. Затем перетащите дескриптор заполнения, чтобы заполнить эту формулу, и сразу рассчитывается определенное количество лет, месяцев и дней между датами, см. Снимок экрана:
Рассчитайте различную разницу между двумя датами в днях, неделях, месяцах, годах с помощью мощной функции
Может быть, вас раздражают приведенные выше формулы, если у вас Kutools for Excel, С его Помощник по дате и времени вы можете быстро получить результаты различий между двумя датами в зависимости от ваших потребностей, например, недели + дни , месяцы + недели и т. д.
Примечание:Чтобы применить это Помощник по дате и времени, во-первых, вы должны скачать Kutools for Excel, а затем быстро и легко примените эту функцию.
После установки Kutools for Excel, пожалуйста, сделайте так:
1. Щелкните ячейку, в которой вы хотите найти результат, а затем щелкните Кутулс > Формула Помощник > Помощник по дате и времени, см. снимок экрана:
2. В Помощник по дате и времени диалоговом окне выполните следующие операции:
- Проверьте разница из файла Тип раздел;
- В разделе Ввод аргументов текстовые поля, выберите ячейки, которые содержат дату начала и дату окончания отдельно;
- Затем выберите нужный тип результата вывода. Например, если вы хотите получить количество лет, месяцев, недель и дней между двумя датами, просто выберите Год + Месяц + Неделя + День.
3. После завершения настроек нажмите OK Кнопка, и вы получите первый рассчитанный результат, тогда вам просто нужно перетащить дескриптор заполнения вниз к ячейкам, которые вы хотите применить к этой формуле, и вы получите следующий результат по мере необходимости:
Нажмите, чтобы скачать Kutools for Excel и бесплатная пробная версия прямо сейчас!
Другие статьи о дате и времени:
- Рассчитать будущую дату на основе заданной даты в Excel
- Если вам нужно добавить несколько дней к заданной дате для расчета будущей даты, как вы можете справиться с этим в Excel?
- Рассчитать часы между часами после полуночи в Excel
- Предположим, у вас есть расписание для записи вашего рабочего времени, время в столбце A — это время начала сегодняшнего дня, а время в столбце B — время окончания следующего дня. Обычно, если вы вычисляете разницу во времени между двумя временами прямо минус «= B2-A2», он не будет отображать правильный результат, как показано на скриншоте слева. Как правильно рассчитать часы между двумя временами после полуночи в Excel?
- Рассчитать дату выхода на пенсию с даты рождения в Excel
- Предположим, сотрудник выйдет на пенсию в возрасте 60 лет, как вы можете рассчитать дату выхода на пенсию с даты рождения в Excel?
- Подсчитайте количество дней / рабочих дней / выходных между двумя датами
- Вам когда-нибудь приходилось подсчитывать количество дней между двумя датами в Excel? Может быть, иногда вам просто нужно рассчитать рабочие дни только между двумя датами, а иногда вам нужно считать выходные дни только между двумя датами. Как можно подсчитать количество дней между двумя свиданиями при определенных условиях?
Лучшие инструменты для работы в офисе
Kutools for Excel Решит большинство ваших проблем и повысит вашу производительность на 80%
- Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма …
- Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон…
- Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы… Предотвращение дублирования ячеек; Сравнить диапазоны…
- Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор …
- Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое …
- Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии…
- Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом …
- Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF…
- Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
Вкладка Office: интерфейс с вкладками в Office и упрощение работы
- Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
- Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
- Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
|
Доброе утро как посчитать количество недель между задаными датами? |
|
|
ytk5kyky Пользователь Сообщений: 2410 |
|
|
{quote}{login=The_Prist}{date=09.10.2009 11:01}{thema=}{post}Или более замороченно |
|
|
Микки Пользователь Сообщений: 3280 |
{quote}{login=}{date=09.10.2009 11:12}{thema=Re: }{post}{quote}{login=The_Prist}{date=09.10.2009 11:01}{thema=}{post}Или более замороченно |
|
{quote}{login=Микки}{date=09.10.2009 11:14}{thema=Re: Re: }{post}{quote}{login=}{date=09.10.2009 11:12}{thema=Re: }{post}{quote}{login=The_Prist}{date=09.10.2009 11:01}{thema=}{post}Или более замороченно |
|
|
Микки Пользователь Сообщений: 3280 |
Похоже что только макросом это можно сделать. Только к это не называется Средневзвешенным так как нет веса. Это к профи |
|
{quote}{login=Микки}{date=09.10.2009 11:45}{thema=}{post}Похоже что только макросом это можно сделать. Только к это не называется Средневзвешенным так как нет веса. Это к профи{/post}{/quote} |
|
|
Микки Пользователь Сообщений: 3280 |
|
|
{quote}{login=Микки}{date=09.10.2009 11:56}{thema=}{post}Хотя можно так через….{/post}{/quote} |
|
|
Микки Пользователь Сообщений: 3280 |
{quote}{login=}{date=09.10.2009 12:29}{thema=Re: }{post}{quote}{login=Микки}{date=09.10.2009 11:56}{thema=}{post}Хотя можно так через….{/post}{/quote} |
|
Микки Пользователь Сообщений: 3280 |
Ну если у вас будут присутьствовать все недели хотя бы в виде одного дня без движения даже то посчитет она считает при смене номера недели … потом изначально я так понял у Вас предусматривались все даты. Что нарисовали то и сделал давайте другой пример будем думать. |
|
{quote}{login=Микки}{date=09.10.2009 12:42}{thema=}{post}Ну если у вас будут присутьствовать все недели хотя бы в виде одного дня без движения даже то посчитет она считает при смене номера недели … потом изначально я так понял у Вас предусматривались все даты. Что нарисовали то и сделал давайте другой пример будем думать.{/post}{/quote} |
|
|
Микки Пользователь Сообщений: 3280 |
#13 09.10.2009 13:51:45 Тогда типа того куда правда 100(на конец) прилепить не представляю + -918.. какой-то не тот остаток нет такого Прикрепленные файлы
|
history 20 марта 2023 г.
- Группы статей
- Неделя, День недели
Подсчитаем количество недель в месяце. Рассмотрим разные варианты: количество полных недель (все 7 дней недели попадают в нужный нам месяц), количество недель, в которых вся рабочая неделя принадлежит одному месяцу и другие варианты.
Подсчет недель
Создадим форму для подсчета количества недель в месяце. Будем учитывать недели, в которых имеется заданное количество рабочих дней. Пусть задан месяц — июнь 2023 года, и мы будем относить к этому емсяцу только те недели, в которых количество рабочих дней ровно 5, т.е. интересует полная рабочая неделя. Очевидно, что таких недель в июне 2023 года — четыре.
Примечание: в файле примерасоздан календарь на месяц с помощью единственной формулы.
В первой неделе 2 рабочих дня, значит ее мы не будем относить к данному месяцу. Потом идет 3 полных недели, и наконец, еще 5 рабочих дней, т.е. последняя неделя должна быть учтена. Итого 4 недели.
Универсальная форма
Всего недель в разных месяцах может быть 3, 4 или 5 (в зависимости от количества рабочих дней, которое мы будем задавать). Все дело в 1-й и последней неделе месяца, именно их и мы будем анализировать с помощью нижеприведенной универсальной формы.
Сначала найдем первый день месяца с помощью формулы =КОНМЕСЯЦА(C10;-1)+1 (этот день точно принадлежит первой неделе) и вычислим день недели, на который он попадает =ДЕНЬНЕД(C19;2). Затем, подсчитаем количество рабочих дней на первой неделе =6-C13.
Аналогичные вычисления сделаем и с последней неделей, предварительно определив последний день месяца =КОНМЕСЯЦА(C10;0).
С помощью элементов управления Счетчик в файле примера можно изменять месяцы и минимальное количество рабочих дней на неделе. Если задать 2 рабочих дня, то формула вернет 5 (для июня 2023).
Количество полных недель в месяце
Полной неделей будем называть неделю, в которой все 7 дней принадлежат одному месяцу. Например, в том же июне 2023 года полных недель всего 3.
В файле примера создана отдельная форма, в которой приведено 2 альтернативных формулы для решения.
Вычисления в данном случае проще, т.к. таких недель может быть только 3 или 4. Сначала определим количество дней в первой неделе, затем прибавим 28. Если получившееся число не превысило количество дней в месяце, то у нас 4 полных недели, если превысило, то таких недель 3.
Применение решения
Отнесение недели к тому или иному месяцу используется, например, при составлении календарно-сетевых графиков с шагом неделя. В MS Project эта задача решается так:
Верхняя шкала — это месяцы, а вторая — дни месяца шагом 7 дней (т.е. 1 неделя). Обратите внимание, что дни — это не обязательно понедельники, а любой день недели (начальная дата задается началом проекта). Границы месяца вычисляются в зависимости от доли месяца, которая попадает на неделю. Например, рассмотрим границу между апрелем и маем: в апреле 30 дней, поэтому неделя с 25.04.2005 по 02.05.2005 (см. ячейку, в которой число 25) примерно разделена в пропорции 1/6. 1 день (1 мая) относится к маю, а остальные 6 дней (25-30.04) относятся к апрелю. Понятно, что ширина ячейки, обозначающей неделю, будет постоянной, а вот длины ячеек, отображающих месяцы, буду разными (это видно, если сравнить длину февраля и марта — март заметно длиннее (на 3 дня)).
В MS EXCEL такое разбиение осуществить затруднительно, т.к. при шаге графика равным 1 неделе, логично 1 неделю разместить в 1 столбце. Длина месяца автоматически станет кратна количеству столбцов, т.е. недель (мы не сможем одну часть ячейки отнести к одну месяцу, а другую к другому месяцу. В принципе, конечно, можем, но тогда придется шаг делать кратным 1 дню, что существенно усложник график для проектов длительностью более полугода). Другими словами, в каждом месяце всегда будет целое количество недель (в MS Project это не так). Поэтому, отнесение недели к месяцу будет приблизительным, а не точным как в MS Project. В некоторых месяцах будет 4 недели, а в некоторых 5. Чтобы решить, куда лучше отнести неделю, как раз можно воспользоваться показанным выше подходом. Например, неделю относить к тому месяцу, к которому относятся 3 рабочих дня этой недели.
Так, первая неделя Июня 2023 будет отнесена к предыдущему месяцу, т.е. Маю 2023.
Эта задача решена в статье про Календарно-сетевой график в неделях.
Даты в ячейках — это понедельники недель. Например, неделя, на которую попадает 01.03.2023, начинается 27.02.2023. В ней 3 рабочих дня (1-3 марта) попадают на март, поэтому эта неделя отнесена к марту. Для это используется тот же подход, что и при нахождении количества недель в месяце, изложенный в данной статье.
Вычисление разности двух дат
Используйте функцию РАЗНДАТ, если нужно вычислить разницу двух дат. Сначала поместите дату начала в одну ячейку, а дату окончания — в другую. Затем введите формулу, например одну из следующих.
Предупреждение: Если значение нач_дата больше значения кон_дата, возникнет ошибка #ЧИСЛО!
Разница в днях
В этом примере дата начала находится в ячейке D9, а дата окончания — в ячейке E9. Формула находится в ячейке F9. Параметр «д» возвращает количество полных дней между двумя датами.
Разница в неделях
В этом примере дата начала находится в ячейке D13, а дата окончания — в ячейке E13. Параметр «д» возвращает количество дней. Но обратите внимание на /7 в конце. Это делит количество дней на 7, так как в неделе содержится 7 дней. Обратите внимание, что этот результат также должен быть представлен в числовом формате. Нажмите клавиши CTRL+1. Затем щелкните Числовой > Число десятичных знаков: 2.
Разница в месяцах
В этом примере дата начала находится в ячейке D5, а дата окончания — в ячейке E5. В формуле «м» возвращает количество полных месяцев между двумя днями.
Разница в годах
В этом примере дата начала находится в ячейке D2, а дата окончания — в ячейке E2. Параметр «г» возвращает количество полных лет между двумя днями.
Расчет возраста в накопленных годах, месяцах и днях
Вы также можете вычислить возраст или время работы другого человека. Результат может выглядеть так: «2 года, 4 месяца, 5 дней».
1. Используйте функцию РАЗНДАТ, чтобы найти общее количество лет.
В этом примере дата начала находится в ячейке D17, а дата окончания — в ячейке E17. В формуле параметр «г» возвращает количество полных лет между двумя днями.
2. Снова используйте функцию РАЗНДАТ с «гм», чтобы найти месяцы.
В другой ячейке используйте функцию РАЗНДАТ с параметром «гм». Параметр «гм» возвращает количество оставшихся месяцев с последнего полного года.
3. Используйте другую формулу для поиска дней.
Теперь нужно найти количество оставшихся дней. Для этого мы напишем формулу другого типа, показанную выше. Эта формула вычитает первый день окончания месяца (01.05.2016) из исходной даты окончания в ячейке E17 (06.05.2016). Вот как это делается: сначала функция ДАТА создает дату 01.05.2016. Она создается с помощью года в ячейке E17 и месяца в ячейке E17. 1 обозначает первый день месяца. Результатом функции ДАТА будет 01.05.2016. Затем мы вычитаем эту дату из исходной даты окончания в ячейке E17 (06.05.2016), в результате чего получается 5 дней.
Предупреждение: Не рекомендуется использовать аргумент «мд» функции РАЗНДАТ, так как он может вычислять неточные результаты.
4. Необязательно: объединение трех формул в одну.
Все три вычисления можно поместить в одну ячейку, как в этом примере. Используйте амперсанды, кавычки и текст. Эту формулу дольше вводить, но она содержит в себе все вычисления. Совет. Нажмите клавиши ALT+ВВОД, чтобы ввести разрывы строк в формулу. Это упрощает чтение. Кроме того, если вы не видите всю формулу, нажмите клавиши CTRL+SHIFT+U.
Скачивание примеров
Вы можете скачать образец книги со всеми примерами из этой статьи. Вы можете воспользоваться ими или создать собственные формулы.
Скачать примеры вычислений дат
Другие вычисления даты и времени
Как показано выше, функция РАЗНДАТ вычисляет разницу между датой начала и датой окончания. Однако вместо ввода определенных дат в формуле можно также использовать функцию СЕГОДНЯ(). При использовании функции СЕГОДНЯ() Excel в качестве даты использует текущую дату компьютера. Имейте в виду, что эта переменная будет меняться при повторном открыть файле в будущем.
Обратите внимание, эта статья была написана 6 октября 2016 г.
Используйте функцию ЧИСТРАБДНИ.МЕЖД, если нужно вычислить количество рабочих дней между двумя датами. Вы также можете исключить выходные и праздники.
Прежде чем начать. Решите, нужно ли исключить даты праздников. При исключении введите список дат праздников в отдельной области или на отдельном листе. Поместите каждую дату праздника в собственную ячейку. Затем выделите эти ячейки и нажмите Формулы > Задать имя. Назовите диапазон МоиПраздники и нажмите ОК. Затем создайте формулу с помощью указанных ниже действий.
1. Введите дату начала и окончания.
В этом примере дата начала находится в ячейке D53, а дата окончания — в ячейке E53.
2. В другой ячейке введите формулу следующего вида.
Введите формулу, как в примере выше. Цифра 1 в формуле устанавливает субботы и воскресенья в качестве выходных и исключает их из общего количества.
Примечание. В Excel 2007 нет функции ЧИСТРАБДНИ.МЕЖД. Однако там есть функция ЧИСТРАБДНИ. Указанный выше пример будет выглядеть в Excel 2007 следующим образом: =ЧИСТРАБДНИ(D53;E53). Не нужно указывать цифру 1, так как функция ЧИСТРАБДНИ предполагает, что выходными являются суббота и воскресенье.
3. При необходимости измените цифру 1.
Если суббота и воскресенье не являются выходными днями, измените 1 на другое числовое значение из списка IntelliSense. Например, значение 2 устанавливает воскресенья и понедельники в качестве выходных дней.
Если вы используете Excel 2007, пропустите этот шаг. Функция ЧИСТРАБДНИ в Excel 2007 всегда предполагает, что выходными являются суббота и воскресенье.
4. Введите имя диапазона праздников.
Если вы создали имя диапазона праздников в разделе «Прежде чем начать» выше, введите его в конце следующим образом. Если у вас нет праздников, вы можете не использовать точку с запятой и МоиПраздники. Если вы используете Excel 2007, указанный выше пример будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;MyHolidays).
Совет. Если вы не хотите указывать имя диапазона праздников, вместо этого вы можете ввести диапазон, например D35:E39. Или можно ввести в формулу каждый праздник. Например, если ваши праздники приходились на 1 и 2 января 2016 г., введите их следующим образом: =ЧИСТРАБДНИ.МЕЖД(D53;E53;1;{«01.01.2016″;»02.01.2016»}). В Excel 2007 это будет выглядеть так: =ЧИСТРАБДНИ(D53;E53;{«01.01.2016″;»02.01.2016»})
Вы можете вычислить затраченное время, вычитая одно время из другого. Сначала поместите время начала в одну ячейку, а время окончания — в другую. Вводите время полностью, включая час, минуты и пробел перед AM или PM. Ниже рассказывается, как это сделать.
1. Введите время начала и время окончания.
В этом примере время начала находится в ячейке D80, а время окончания — в ячейке E80. Введите час, минуты и пробел перед AM или PM.
2. Установите формат «ч:мм AM/PM».
Выберите обе даты и нажмите клавиши CTRL+1 (или 
3. Вычтите два времени.
В другой ячейке вычтите ячейку времени начала из ячейки времени окончания.
4. Установите формат «ч:мм».
Нажмите клавиши CTRL+1 (или 
Чтобы вычислить время между двумя датами со временем, можно просто вычесть одно значение из другого. Однако необходимо применить форматирование к каждой ячейке, чтобы Excel возвращал нужный результат.
1. Введите две полные даты со временем.
В одной ячейке введите полную дату и время начала. А в другой ячейке введите полную дату и время окончания. Каждая ячейка должна содержать месяц, день, год, час, минуты, и пробел перед AM или PM.
2. Установите формат «14.03.12 1:30 PM».
Выберите обе ячейки и нажмите клавиши CTRL+1 (или 
3. Вычтите два значения.
В другой ячейке вычтите ячейку даты и времени начала из даты и времени окончания. Скорее всего, результат будет выглядеть как число с десятичным знаком. Вы исправите это на следующем шаге.
4. Установите формат «[ч]:мм».
Нажмите клавиши CTRL+1 (или 
Статьи по теме
Функция РАЗНДАТ
Функция ЧИСТРАБДНИ.МЕЖД
ЧИСТРАБДНИ
Дополнительные функции даты и времени
Вычисление разницы во времени
Нужна дополнительная помощь?
Просмотров: 270
Постановка задачи.
В ходе работы часто приходится делать вычисление дат. Бухгалтера по заработной плате интересует количество рабочих дней между датами, если человек отправлен в командировку. Бухгалтера материального стола волнует дата очередной поверки счетчиков, определение срока службы основных средств. Экономисту требуется знать срок использования оборудования. Финансовый специалист рассчитывает количество периодов для начисления процентов. В целом, вариантов использования много. Сегодня мы разберемся с большинством типичных задач, которые возникают при работе. Все они сводятся к следующим вариантам:
-
- Получение номера месяца, года и т.д. из заданной даты;
- Нахождение даты, различающейся с указанной на заданное количество дней, недель, месяцев и других вариантов с учетом праздников и выходных или без него;
- Нахождение количества дней, месяцев, недель и т.д. между двумя датами.
- Разберемся с каждым вариантом подробнее.
Получение номера месяца, года и т.д. из заданной даты.
Наверное, это простейший вариант использования функций. Применяются функции ДЕНЬ, МЕСЯЦ, ГОД. Для работы указывается ячейка с исходной датой или дата прописывается в формуле с использованием кавычек.
=ДЕНЬ(«18.09.2018»)
Функция ДЕНЬ покажет число, т. е. порядковый день месяца, а функции МЕСЯЦ и ГОД извлекут из даты соответственно номер месяца и номер года.
Рисунок 1
Чтобы узнать номер дня недели, применяем функцию ДЕНЬНЕД. Для нее первой указывают обрабатываемую дату, а затем тип значения. Тип определяет порядок и нумерацию дней недели. Если его не указать, то считается, что неделя начинается с воскресенья, и счет дней недели идет с единицы. Если тип равен 3, то неделя начинается с понедельника, но номер дней идет с нуля. То есть в этом случае понедельник имеет номер 0. В наших условиях первый день – понедельник, счет дней начинается с единицы. Поэтому используем тип, равный 2.
Рисунок 2
Так же можно указать тип числами от 11 до 17. В этом случае счет дней будет идти с 1, а первый день будет от понедельника(11) до воскресенья(17). То есть функция =ДЕНЬНЕД(“23.08.2017”;11) и функция =ДЕНЬНЕД(“23.08.2017”;2) дадут одинаковый результат, равный 3. Желающие могут открыть календарь и убедиться, что это действительно был третий день недели по принятому в бывшем СССР варианту, то есть среда.
Для нахождения номера квартала отдельной функции, к сожалению, нет. Однако можно воспользоваться такой формулой:
=ЦЕЛОЕ((МЕСЯЦ(D10)+2)/3)
D10 – это ячейка с исходной датой. Естественно, никто не мешает указать ее явным образом.
Рисунок 3
В данном случае 16 июля 2020 года действительно относится к третьему кварталу.
Если нужно найти номер недели, используют функцию со схожим названием НОМНЕДЕЛИ. В ней надо указать дату, для которой надо найти номер недели, а затем тип отчета.
Для этой функции могут использоваться две разные системы.
- Система 1 Неделя, на которую приходится 1 января, считается первой неделей года, и для нее возвращается число 1.
- Система 2 Неделя, на которую приходится первый четверг года, считается первой неделей, и для нее возвращается число 1. Эта методика определена в стандарте ISO 8601, который широко используется в Европе для нумерации недель
Используют следующие типы:
1 или опущен – Воскресенье, 1 система отчета;
2 – Понедельник, 1 система отчета;
11 – Понедельник, 1 система отчета;
12 – Вторник, 1 система отчета;
13 – Среда, 1 система отчета;
14 – Четверг, 1 система отчета;
15 – Пятница, 1 система отчета;
16 – Суббота, 1 система отчета;
17 – Воскресенье, 1 система отчета;
21 – Понедельник, 2 система отчета.
Примеры использования:
=НОМНЕДЕЛИ(“21.05.2018”;11) – результат будет 21, неделя начинается с понедельника.
=НОМНЕДЕЛИ(“21.05.2018”;17) результат будет 21, неделя начинается с воскресенья.
При необходимости найти номер недели в соответствии с форматом ISO применяют функцию
=НОМНЕДЕЛИ.ISO, для которой достаточно указать только дату.
Нахождение даты, отстоящей от указанной на заданное количество дней, недель, месяцев с учетом праздников и выходных или без него.
Для того чтобы найти дату, отстоящую от указанной на заданное количество дней используются функции РАБДЕНЬ и ЧИСТРАБДНИ. Разница между ними только в том, что ЧИСТРАБДНИ позволяет задать произвольные выходные дни, а РАБДЕНЬ использует стандартный для данной страны вариант. Для нашей страны это суббота и воскресенье.
Функция РАБДЕНЬ пишется так:
=РАБДЕНЬ(1;2;3)
1 – начальная дата, ОТ КОТОРОЙ ПОЙДЕТ ОТЧЕТ. Эта дата в число добавляемых дней НЕ ВХОДИТ!
2 – количество рабочих дней. Функция найдет дату последнего дня из указанного количества
3 – праздники. Показывают в виде диапазона, прописывают в виде массива в фигурных скобках. Если в рабочем периоде праздников нет, то не указывают. Либо указывают на диапазон с ними.
Для функции РАБДЕНЬ.МЕЖД используют такую запись:
= РАБДЕНЬ.МЕЖД(1;2;3;4)
1 – начальная дата, ОТ КОТОРОЙ ПОЙДЕТ ОТЧЕТ. Эта дата в число добавляемых дней НЕ ВХОДИТ!
2 – количество рабочих дней, функция покажет дату последнего из них.
3 – выходные дни. Excel предлагает на выбор числовые коды для выходных, но можно поступить проще. Надо указать дни недели в виде строки из единиц и нулей. Первый знак будет относиться к первому дню недели (у нас это понедельник, у кого-то воскресенье). Единицами указывается выходные дни. Например, если для стандартных выходных в субботу и воскресенье используется запись – «0000011». Не забываем про кавычки!
4 – праздничные дни
Разберем такую пример. На выполнение работы по ремонту требуется согласно нормативу 15 рабочих дней. Какого числа работы должны быть закончены в Казахстане, если они начаты 22 апреля 2020 года при условии стандартных выходных или выходных по понедельникам. Праздничные дни Казахстана в мае 2020 года – 1 мая, 7 мая, 9 мая. Пи этом так как 9 мая выпало на субботу, поэтому согласно правилам и постановлению день отдыха перенесен на 8 мая.
Решения задачи следующее
Рисунок 4
Обратите внимание, что в функции РАБДЕНЬ.МЕЖД можно вообще убрать выходные, оставив только праздники и указов для параметра «выходные дни» строку их 7 нулей. В функции РАБДЕНЬ это невозможно, в ней выходные дни используются автоматически. И еще. Результатом работы обеих функций будет значение в числовом виде. Для преобразования их в формат дат воспользуйтесь форматом даты или примените к результату функцию ТЕКСТ, указав сначала полученное значение, а затем в кавычках нужный формат. Если нужно, чтобы дата выглядела как «число.номер месяца.номер года из 4 цифр», то есть вот так – 15.05.2020 -, тогда формат будет таким «ДД.ММ.ГГГГ».
Рисунок 5
Для получения даты, отстоящей от указанной на заданное количество месяцев используем функцию ДАТАМЕС. Для нее надо указать начальную дату и количество месяцев, которые надо прибавит или отнять.
Рисунок 6
В качестве варианта используется функция ДАТА. Вначале мы извлекаем из начальной даты ДЕНЬ, МЕСЯЦ и ГОД соответствующими функциями. Затем к нужному промежутку добавляем требуемое количество. И наконец, функцией ДАТА превращаем это все в дату. В функции ДАТА вначале указываем ГОД, затем МЕСЯЦ и последним ДЕНЬ.
Все вместе выглядит так:
Рисунок 7
Обратите внимание, что для этих функций преобразование в формат даты не требуется. Функцию ДАТА применяют и для нахождения даты через заданное количество недель. Надо только это количество умножить на 7, а результат прибавить к значению функции ДЕНЬ.
https://i.postimg.cc/4xxFrFKS/image9.jpg
Рисунок 8
Нахождение количества дней, месяцев, недель и т.д. между двумя датами.
Иногда в процессе работы возникает задача найти количество дней между двумя датами, количество месяцев и так далее. Первый пример – определить количество отработанных дней между двумя датами для расчета заработной платы.
Для нахождения разницы в КАЛЕНДАРНЫХ днях достаточно от одной даты отнять другую. Если обе даты были изначально именно даты, или если обе даты изначально получены с помощью функций, то результат будет иметь числовой формат без знаков после запятой. Если же одно значение было датой, а второй получено с помощью функции, то результат будет получен в формате даты. В этом случае для него надо задать числовой формат. Если полученное значение поделить на 7, то получим разницу в неделях, которую можно потом округлить для нужной точности. В следующем примере получена разница в днях и неделях, причем недели округлены до полных в верхнюю сторону.
Рисунок 9
Если надо найти количество РАБОЧИХ дней, то используем функции ЧИСТРАБДНИ и ЧИСТРАБДНИ.МЕЖД. Эти функции идентичны функциям РАБДЕНЬ и РАБДЕНЬ.МЕЖД по функционалу, то есть в первой мы применяем стандартные выходные, а во второй выходные указываем сами.
Синтаксис функции ЧИСТРАБДНИ
=ЧИСТРАБДНИ(1;2;3)
1 – начальная дата;
2 – конечная дата;
3 – праздничные дни.
Синтаксис функции ЧИСТРАБДНИ.МЕЖД
=ЧИСТРАБДНИ.МЕЖД(1;2;3;4)
1 – начальная дата;
2 – конечная дата;
3 – выходные дни. Указываются, как и в функции РАБДЕНЬ.МЕЖД;
4– праздничные дни.
Рисунок 10
Обратите внимание на следующую тонкость. Excel справедливо считает, что в первый день вы пришли на работу утром, а вот ушли вечером. Именно поэтому, если указать и начальную и конечную дату одинаково, то он все равно покажет, что один день отработан. Вот почему в приведенном примере мы видим разницу не в 15, а в 16 дней. Если же вы хотите увидеть разницу в рабочих СУТКАХ, тогда надо от результата этих функций отнять единицу.
Кроме этого, для нахождения разницы между двумя датами применяют недокументированную функцию РАЗНДАТ.
=РАЗНДАТ(1;2;3)
1 – начальная дата
2 – конечная дата
3 – тип расчета, показывает, в каких единицах идет расчет.
Варианты типа:
– «y» – количество полных лет;
– «m» – количество полных месяцев;
– «d» – количество полных лет;
– «ym» – полных месяцев, без учета лет;
– «yd» – дней, без учета лет;
– «md» – дней, без учета месяцев.
Рисунок 11
Подведем итоги
На нашем уроке мы научились использовать функции и формулы MS Excel для работы с датами. Применяйте их на практике, и вы увидите, как сократится время вашей работы. Желаю всем удачи. Если возникнут вопросы, пишите в комментариях.







































![Диалоговое окно "Формат ячеек", настраиваемая команда, тип [ч]:мм](https://support.content.office.net/ru-ru/media/2edbd461-d4c5-49a7-a5a2-b6d9329c0411.png)










