Как проверить, является ли дата государственным праздником, и подсчитать количество дней, исключая праздники, в Excel?
Например, у вас есть список дат, и вы хотите проверить, существуют ли в этом списке государственные праздники. Как можно быстро это сделать? В этой статье я покажу вам способы расчета всех дат американских государственных праздников в заданные годы, а затем легко проверить, является ли дата государственным праздником в Excel.
- Часть 1: Расчет государственных праздников в заданные годы в Excel
- Часть 2: Проверка, является ли дата государственным праздником в Excel
- Часть 3: Подсчет количества дней между двумя датами, исключая выходные и праздники, в Excel
Часть 1: Расчет государственных праздников для заданного года в Excel
Прежде чем проверять, является ли дата государственным праздником, необходимо перечислить все праздники в заданные годы в Excel. Поэтому подготовка таблицы, как показано на следующем скриншоте, облегчит вашу работу.
Существует три типа американских государственных праздников:
- (1) Первый тип — это праздник с фиксированной датой, например, Новый год, который отмечается 1 января. Мы можем легко рассчитать Новый год по формуле =DATE(Given Year,1,1);
- (2) Второй тип — это праздник, приходящийся на определенный день недели, например День Президента. Мы можем легко рассчитать День Президента по формуле =DATE(Given Year,1,1)+14+CHOOSE(WEEKDAY(DATE(Given Year,1,1)),1,0,6,5,4,3,2);
- (3) Последний тип — это День Памяти, который мы можем легко рассчитать по формуле =DATE(Given Year,6,1)-WEEKDAY(DATE(Given Year,6,6)).
Здесь я привожу формулы для расчета всех государственных праздников в следующей таблице. Просто введите формулы в соответствующую ячейку и нажимайте клавишу Enter одну за другой.
Праздник | Ячейка | Формулы |
Новый год | C2 | =DATE(C1,1,1) |
День Мартина Лютера Кинга | C3 | =DATE(C1,1,1)+14+CHOOSE(WEEKDAY(DATE(C1,1,1)),1,0,6,5,4,3,2) |
День Президента | C4 | =DATE(C1,2,1)+14+CHOOSE(WEEKDAY(DATE(C1,2,1)),1,0,6,5,4,3,2) |
День Памяти | C5 | =DATE(C1,6,1)-WEEKDAY(DATE(C1,6,6)) |
День Независимости | C6 | =DATE(C1,7,4) |
День Труда | C7 | =DATE(C1,9,1)+CHOOSE(WEEKDAY(DATE(C1,9,1)),1,0,6,5,4,3,2) |
День Колумба | C8 | =DATE(C1,10,1)+7+CHOOSE(WEEKDAY(DATE(C1,10,1)),1,0,6,5,4,3,2) |
День Ветеранов | C9 | =DATE(C1,11,11) |
День Благодарения | C10 | =DATE(C1,11,1)+21+CHOOSE(WEEKDAY(DATE(C1,11,1)),4,3,2,1,0,6,5) |
Рождество | C11 | =DATE(C1,12,25) |
Примечание: В формулах из приведенной выше таблицы C1 — это ссылочная ячейка, содержащая заданный год. В нашем примере это означает год 2015, и вы можете изменить его в зависимости от ваших потребностей.
С помощью этих формул вы сможете легко рассчитать даты государственных праздников для заданных лет. См. скриншот ниже:

Раскройте магию Excel с Kutools AI
- Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
- Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
- Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
- Интерпретация формул: Легко разбирайтесь в сложных формулах.
- Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Часть 2: Проверка, является ли дата государственным праздником в Excel
После того как вы составили список всех дат государственных праздников для конкретных лет, мы можем легко проверить, является ли дата государственным праздником или нет, используя формулы в Excel. Предположим, у вас есть список дат, как показано на следующем скриншоте, и я представлю способы выполнения этой задачи.
Выберите пустую ячейку рядом со списком дат, например Ячейку B18, введите формулу =IF(COUNTIF($C$2:$D$11,A18),"Holiday","No") в нее, а затем протяните маркер заполнения до нужного диапазона. См. скриншот выше:
Примечания:
(1) В формуле =IF(COUNTIF($C$2:$D$11,A18),"Holiday","No"), $C$2:$D$11 — это диапазон государственных праздников для конкретных лет, а A18 — это ячейка с датой, которую вы хотите проверить на предмет того, является ли она государственным праздником, и вы можете изменить их в зависимости от ваших потребностей. Эта формула вернет "Holiday", если указанная дата является государственным праздником, и вернет "No", если это не так.
(2) Вы также можете применить эту формулу массива =IF(OR($C$2:$D$11=A18),"Holiday","NO"), чтобы проверить, является ли соответствующая дата праздником или нет.
Часть 3: Подсчет количества дней между двумя датами, исключая выходные и праздники, в Excel
В Части 1 мы составили список всех праздников в заданном году, и теперь этот метод поможет вам подсчитать количество дней, исключая все выходные и праздники, в диапазоне дат.
Выберите пустую ячейку, куда вы хотите вернуть количество дней, и введите формулу =NETWORKDAYS(E1,E2,B2:B10) в нее, затем нажмите клавишу Enter .
Примечание: В указанных выше ячейках E1 — это начальная дата заданного диапазона дат, E2 — конечная дата, а B2:B10 — это список праздников, который мы рассчитали в Части 1.
Теперь вы получите количество дней, исключая выходные и праздники, в указанном диапазоне дат.
Лучшие инструменты для повышения продуктивности работы с Office
Ускорьте работу в Excel с Kutools для Excel и ощутите новую степень эффективности. Kutools для Excel предлагает более300 расширенных функций для повышения продуктивности и экономии времени. Нажмите здесь, чтобы выбрать нужную вам функцию...
Office Tab добавляет вкладки в Office и делает вашу работу намного проще
- Включите редактирование и чтение с вкладками в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
- Открывайте и создавайте несколько документов во вкладках одного окна, а не в отдельных окнах.
- Увеличьте свою продуктивность на50% и сократите сотни лишних кликов мышью каждый день!