Перейти к основному содержанию

Как проверить, является ли дата выходным днем, и считать дни кроме праздников в Excel?

Например, у вас есть список дат и вы хотите проверить, есть ли в нем какие-либо праздничные дни, как бы вы могли это сделать быстро? В этой статье я покажу вам, как рассчитать все даты американских государственных праздников в течение заданных лет, а затем легко проверить, является ли дата американским государственным праздником в Excel.


Часть 1: Расчет государственных праздников для данного года в Excel

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

док проверьте, если государственный праздник 1

В Америке есть три вида государственных праздников:

(1) Первый вид - это государственный праздник с фиксированной датой, например, Новый год - 1 января. мы легко можем рассчитать Новый год по формуле = ДАТА (данный год; 1,1);

(2) Второй вид - это государственный праздник в определенный будний день, например День президента. День президента легко рассчитать по формуле = ДАТА (данный год; 1,1) + 14 + ВЫБРАТЬ (ДЕНЬ НЕДЕЛИ (ДАТА (данный год; 1,1)); 1,0,6,5,4,3,2);

(3) И последний вид - это День поминовения, мы можем легко рассчитать День поминовения по формуле = ДАТА (данный год, 6,1) -НЕДЕЛЬНЫЙ ДЕНЬ (ДАТА (данный год, 6,6)).

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

Выходные Ячейка Формулы
Новый год C2 = ДАТА (C1,1,1)
День Мартина Лютера Кинга C3 = ДАТА (C1,1,1) + 14 + ВЫБРАТЬ (ДЕНЬ НЕДЕЛИ (ДАТА (C1,1,1)); 1,0,6,5,4,3,2)
День Президента C4 = ДАТА (C1,2,1) + 14 + ВЫБРАТЬ (ДЕНЬ НЕДЕЛИ (ДАТА (C1,2,1)); 1,0,6,5,4,3,2)
День поминовения C5 = ДАТА (C1,6,1) -НЕДЕЛЬНИК (ДАТА (C1,6,6))
День независимости C6 = ДАТА (C1,7,4)
День труда C7 = ДАТА (C1,9,1) + ВЫБРАТЬ (ДЕНЬ НЕДЕЛИ (ДАТА (C1,9,1)); 1,0,6,5,4,3,2)
День Колумба C8 = ДАТА (C1,10,1) + 7 + ВЫБРАТЬ (ДЕНЬ НЕДЕЛИ (ДАТА (C1,10,1)); 1,0,6,5,4,3,2)
День ветеранов C9 = ДАТА (C1,11,11)
День благодарения C10 = ДАТА (C1,11,1) + 21 + ВЫБРАТЬ (ДЕНЬ НЕДЕЛИ (ДАТА (C1,11,1)); 4,3,2,1,0,6,5)
Рождество C11 = ДАТА (C1,12,25)

Примечание: В формулах в приведенной выше таблице C1 - это ссылочная ячейка, которая определяет данный год. В нашем примере это означает 2015 год, и вы можете изменить его в зависимости от ваших потребностей.

С помощью этих формул вы можете легко рассчитать даты государственных праздников с заданными годами. См. Снимок экрана ниже:

док проверьте, если государственный праздник 2

Сохраните диапазон как запись автотекста (остальные форматы ячеек и формулы) для повторного использования в будущем

Должно быть очень утомительно ссылаться на ячейки и применять формулы для расчета каждого праздника. Kutools for Excel предоставляет симпатичное обходное решение Авто Текст Утилита для сохранения диапазона как записи автотекста, в которой могут оставаться форматы ячеек и формулы в диапазоне. И тогда вы сможете повторно использовать этот диапазон одним щелчком мыши. Работа становится легкой - достаточно одного щелчка мышки, чтобы вставить эту таблицу и изменить год в этой таблице!


объявление авто американские праздники 1

Kutools for Excel - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

Часть 2. Проверьте, является ли дата выходным днем ​​в Excel

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

Выберите пустую ячейку помимо списка дат, говорит Ячейка B18, введите формулу = ЕСЛИ (СЧЁТЕСЛИ ($ C $ 2: $ D $ 11; A18); «Праздник»; «Нет») в него, а затем перетащите маркер заливки в нужный диапазон. Смотрите скриншот выше:

Заметки:

(1) В формуле = ЕСЛИ (СЧЁТЕСЛИ ($ C $ 2: $ D $ 11; A18), «Праздник», «Нет») $ C $ 2: $ D $ 11 - это диапазон государственных праздников в определенные годы, а A18 - это ячейка с датой, которую вы хотите проверить, если это государственный праздник, и вы можете изменить их в зависимости от ваших потребностей. И эта формула вернет «Праздник», если конкретная дата является государственным праздником, и вернет «Нет», если это не так.

(2) Вы также можете применить эту формулу массива = ЕСЛИ (ИЛИ ($ C $ 2: $ D $ 11 = A18); «Праздник»; «НЕТ») чтобы проверить, является ли соответствующая дата праздником или нет.


Часть 3. Подсчет дней между двумя днями, кроме выходных и праздников, в Excel

В Части 1 мы перечислили все праздники в данном году, и теперь этот метод поможет вам подсчитать количество дней, кроме всех выходных и праздничных дней в диапазоне дат.

Выберите пустую ячейку, вы вернете количество дней, и введите формулу = ЧИСТРАБДНИ (E1; E2; B2: B10) в него и нажмите Enter .

Внимание: В ячейках выше E1 - это дата начала указанного диапазона дат, E2 - дата окончания, а B2: B10 - это список выходных, который мы вычисляем в Части 1.

док проверьте, если государственный праздник 6

Теперь вы получите количество дней, кроме выходных и праздников, в указанном диапазоне дат.

Копировать формулы точно / статически без изменения ссылок на ячейки в Excel

Kutools for Excel Точная копия Утилита может помочь вам легко скопировать несколько формул без изменения ссылок на ячейки в Excel, предотвращая автоматическое обновление относительных ссылок на ячейки.


формулы точной копии объявления 3

Kutools for Excel - Дополните Excel более чем 300 основными инструментами. Наслаждайтесь полнофункциональной 30-дневной БЕСПЛАТНОЙ пробной версией без необходимости использования кредитной карты! Get It Now

Лучшие инструменты для офисной работы

🤖 Kutools AI Помощник: Революционный анализ данных на основе: Интеллектуальное исполнение   |  Генерировать код  |  Создание пользовательских формул  |  Анализ данных и создание диаграмм  |  Вызов функций Kutools...
Популярные опции: Найдите, выделите или определите дубликаты   |  Удалить пустые строки   |  Объедините столбцы или ячейки без потери данных   |   Раунд без формулы ...
Супер поиск: Множественный критерий VLookup    VLookup с несколькими значениями  |   VLookup по нескольким листам   |   Нечеткий поиск ....
Расширенный раскрывающийся список: Быстрое создание раскрывающегося списка   |  Зависимый раскрывающийся список   |  Выпадающий список с множественным выбором ....
Менеджер столбцов: Добавить определенное количество столбцов  |  Переместить столбцы  |  Переключить статус видимости скрытых столбцов  |  Сравнить диапазоны и столбцы ...
Рекомендуемые функции: Сетка Фокус   |  Просмотр дизайна   |   Большой Формулный Бар    Менеджер книг и листов   |  Библиотека ресурсов (Авто текст)   |  Выбор даты   |  Комбинировать листы   |  Шифровать/дешифровать ячейки    Отправлять электронные письма по списку   |  Суперфильтр   |   Специальный фильтр (фильтровать жирным шрифтом/курсивом/зачеркиванием...) ...
15 лучших наборов инструментов12 Текст Инструменты (Добавить текст, Удалить символы, ...)   |   50+ График Тип (Диаграмма Ганта, ...)   |   40+ Практических Формулы (Рассчитать возраст по дню рождения, ...)   |   19 Вносимые Инструменты (Вставить QR-код, Вставить изображение из пути, ...)   |   12 Конверсия Инструменты (Числа в слова, Конверсия валюты, ...)   |   7 Слияние и разделение Инструменты (Расширенные ряды комбинирования, Разделить клетки, ...)   |   ... и более

Улучшите свои навыки работы с Excel с помощью Kutools for Excel и почувствуйте эффективность, как никогда раньше. Kutools for Excel предлагает более 300 расширенных функций для повышения производительности и экономии времени.  Нажмите здесь, чтобы получить функцию, которая вам нужна больше всего...

Описание


Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
Comments (9)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Like the Observed Holiday, I need to also recognize additional days off outside of the Holiday or observed holidays. Example: If Christmas is on a Friday, I need to calculate the days before and after (until New Years) off.
This comment was minimized by the moderator on the site
How would you calculate 15 calendar days from a given date including weekends but excluding holidays using a list/table of holiday dates?
This comment was minimized by the moderator on the site
How to make it show the actual name of the holiday instead of just "holiday"?
This comment was minimized by the moderator on the site
Hi KC,
You can change the text “holiday” to INDEX($A$1:$A$11,MATCH(A18,$C$1:$C$11,0)) in the formula, and the whole formula will be changed to
=IF(COUNTIF($C$2:$C$11,A18),INDEX($A$1:$A$11,MATCH(A18,$C$1:$C$11,0)),"No")

Please note that the dates you will check should be placed in one column.
This comment was minimized by the moderator on the site
Thanks, I have worked out a system to determine whether a public holiday is a weekday, but this also gives an alternative. The problem is that if one does it per month, then there are gaps between days where public holidays occur during weekdays. An example as below taking part of December 2017. the figures to immediate right of dates (Col B) are the WEEKDAY values. If date falls on a Saturday or Sunday (value 6 or 7) then the C Column reflects a blank cell ("") if a weekday the Cell has a "1", if a Public Holiday during a weekday then a "0" 21/12/2017 4 1 22/12/2017 5 1 23/12/2017 6 24/12/2017 7 25/12/2017 1 0 26/12/2017 2 0 27/12/2017 3 1 28/12/2017 4 1 29/12/2017 5 1 30/12/2017 6 31/12/2017 7 I can then sort manually using the Filter approach to get the 1's in one continuous column of rows without the blanks or 0's. Copy and paste to a worksheet where I can import the data into the temperature charts. I am trying to get the filter section automated either via formula by deleting all the 0's and blank cells with the resultant shifting up of cells containing the 1's, or via VBA. The ultimate prize would be combining the steps in Column A and Column C into one formula. The end game is to populate a temperature chart with the workday name and in the next corresponding row the day of the required month Mon Tue Thu Fri 7 8 10 11 Using August as an example where the 9th is a public holiday that falls during a work day, resulting in the data relating to the Wed being removed and the rest of the column shifting up one (or more) places. Then transposed into the above cells. I hope I am explaining with sufficient clarity :-)
This comment was minimized by the moderator on the site
How could I make this work for Federal Holiday? Meaning if the date of a holiday happens to fall on a weekend then the Federal holiday would either be Friday or Monday.
This comment was minimized by the moderator on the site
I used the formulas above to calculate the actual day of the holiday and made a second column for Observed holiday. I made this formula to accomplish this: =IF((WEEKDAY(B15))=1,B15+1,IF((WEEKDAY(B15))=7,B15-1,B15)). The cell reference B15 is referring to the holiday which is in the actual holiday column, in this case New Years Day. When the actual holiday falls on a Saturday, the Observed holiday will be listed as Friday and for actual holidays falling on Sunday, the observed holiday will be listed as Monday. Hope this helps.
This comment was minimized by the moderator on the site
This is an accurate function which will work for New Years Day that would fall on a weekend (years 2022 and 2023): =WORKDAY(DATE(CalendarYear,1,1),--(WEEKDAY(DATE(CalendarYear,1,1),2)>5))
This comment was minimized by the moderator on the site
trying to make a formula for subtracting CALENDAR DAYS and holidays. I have been able to figure out for WORKDAYS and HOLIDAY, but I cannot figure out how to do CALENDAR days and holidays. here is what I am currently using for WORKDAYS AND HOLIDAYS. Help! So I need this to be CALENDAR days instead of WORKDAYS.] =WORKDAY(B28-5,1,HOLIDAYS)
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations