Перейти к содержимому

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

Author: Xiaoyang Last Modified: 2025-08-07

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


Выделение выходных и праздничных дней с помощью условного форматирования

Функция условного форматирования Excel позволяет вам автоматически выделять выходные дни (обычно субботы и воскресенья) и праздники в ваших записях дат — без написания каких-либо расчетов в ваши данные. Этот метод подходит для пользователей, которые часто просматривают или обновляют свои листы, и хотят цветовые сигналы для нерабочих дней, которые обновляются мгновенно при изменении данных или праздников.

Чтобы настроить условное форматирование для выходных и праздничных дней, следуйте этим инструкциям:

1. Выберите диапазон с датами, которые вы хотите выделить. 

2. Перейдите на вкладку Главная, нажмите Условное форматирование и выберите Новое правило, чтобы открыть редактор правил. См. скриншот:

click Home > Conditional Formatting > New Rule

3. В диалоговом окне Новое правило форматирования:

  • Выберите Использовать формулу для определения ячеек для форматирования из списка типов правил.
  • В поле ввода формулы введите следующую формулу: =NETWORKDAYS($A2,$A2,$F$2:$F$6)=0
  • Нажмите кнопку Формат, чтобы установить стиль выделения.
Примечание: В этой формуле $A2 относится к первой ячейке с датой в вашем выборе (настройте соответствующим образом, если ваша начальная ячейка находится в другом месте). $F$2:$F$6 должен содержать ваш список праздников (отредактируйте, чтобы соответствовать вашему фактическому диапазону праздников). NETWORKDAYS рассматривает только понедельник-пятницу как рабочие дни. Если вы используете другой график выходных или хотите включить только определенные дни, может потребоваться пользовательская формула.

specify the options in the dialog box

4. В окне Формат ячеек перейдите на вкладку Заливка и выберите цвет фона для выходных и праздничных дней. Этот цвет отличает нерабочие дни от обычных для быстрого визуального ознакомления.

under the Fill tab, specify a color for highlighting the rows

5. Нажмите OK дважды, чтобы закрыть диалоговые окна. Ваше выбранное выделение автоматически появится для любой даты, совпадающей с выходными или указанными праздниками в выбранной области. Праздники можно обновлять в любое время, редактируя диапазон праздников, и форматирование будет обновлено соответственно.

the rows contain the weekends and holidays are shaded

Советы и устранение неполадок: Если выделение не появляется, еще раз проверьте форматирование дат (формула работает с настоящими датами Excel); несоответствия могут вызвать сбои правил. Настройте ссылки на ячейки формулы, если применяете их к нескольким столбцам. Также, если ваши данные охватывают несколько лет, обновите свой список праздников по мере необходимости, чтобы отразить правильные нерабочие дни.

Преимущества: Не требуются дополнительные столбцы или ручная работа; полностью динамичный по мере роста вашей таблицы или изменения списка праздников.
Потенциальные ограничения: Условное форматирование имеет максимальное количество правил на лист (редко достигается), и чрезмерно сложные формулы могут замедлить производительность книги при работе с большими наборами данных.

a screenshot of kutools for excel ai

Раскройте магию Excel с Kutools AI

  • Умное выполнение: Выполняйте операции с ячейками, анализируйте данные и создавайте диаграммы — всё это посредством простых команд.
  • Пользовательские формулы: Создавайте индивидуальные формулы для оптимизации ваших рабочих процессов.
  • Кодирование VBA: Пишите и внедряйте код VBA без особых усилий.
  • Интерпретация формул: Легко разбирайтесь в сложных формулах.
  • Перевод текста: Преодолейте языковые барьеры в ваших таблицах.
Улучшите возможности Excel с помощью инструментов на базе ИИ. Скачать сейчас и испытайте беспрецедентную эффективность!

Формула Excel – Использование вспомогательного столбца для отметки выходных и праздничных дней

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

Предположим, ваши даты находятся в столбце A, начиная со строки 2, а праздники перечислены в F2:F6. Вставьте новый столбец рядом со столбцом дат и введите заголовок, например «Тип дня».

1. В ячейке B2 (вспомогательный столбец) введите следующую формулу:

=IF(OR(WEEKDAY(A2,2)>=6,COUNTIF($F$2:$F$6,A2)>0),"Weekend/Holiday","Workday")

Эта формула выполняет две проверки для каждой даты:
- WEEKDAY(A2,2)>=6: Обрабатывает субботу (6) и воскресенье (7) как выходные (если ваши выходные разные, настройте соответственно).
- COUNTIF($F$2:$F$6,A2)>0: Проверяет, совпадает ли дата с одной из списка праздников.

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

Советы: Если ваши выходные дни различаются, измените логику WEEKDAY (например, используйте 1 для воскресенья или конкретные числа для вашего региона). Всегда держите список праздников актуальным. Если ваш диапазон данных меняется, повторно примените заливку/копирование по мере необходимости.

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


Код VBA – Автоматическое затемнение выходных и праздничных дней

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

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

1. Нажмите Разработчик > Visual Basic. В окне Microsoft Visual Basic for Applications выберите Вставка > Модуль.

2. Скопируйте и вставьте следующий код в только что созданный Модуль:

Sub ShadeWeekendsAndHolidays()
    Dim rngDates As Range
    Dim rngHolidays As Range
    Dim cell As Range
    Dim xTitleId As String
    
    xTitleId = "KutoolsforExcel"
    On Error Resume Next
    Set rngDates = Application.InputBox("Select the range with dates:", xTitleId, Selection.Address, Type:=8)
    Set rngHolidays = Application.InputBox("Select the range with holiday dates:", xTitleId, , Type:=8)
    On Error GoTo 0
    
    If rngDates Is Nothing Then Exit Sub
    If rngHolidays Is Nothing Then Exit Sub
    
    Application.ScreenUpdating = False
    
    For Each cell In rngDates
        If IsDate(cell.Value) Then
            If Weekday(cell.Value, vbMonday) >= 6 Or Not IsError(Application.Match(CDbl(cell.Value), rngHolidays, 0)) Then
                cell.Interior.Color = RGB(255, 199, 206) ' Light red fill; adjust as needed
            Else
                cell.Interior.ColorIndex = xlNone ' Remove fill from regular days
            End If
        End If
    Next cell
    
    Application.ScreenUpdating = True
End Sub

3. Нажмите клавишу F5, чтобы запустить этот код, появится запрос выбрать ячейки с датами, затем ваш список ячеек с праздниками. Следуйте инструкциям на экране.

Макрос выделяет выходные (суббота/воскресенье) и праздники (согласно вашему списку) цветом заливки. Настройте RGB(255,199,206) в коде для использования предпочитаемого цвета, если это необходимо.

Советы:
Если вы случайно выбрали неверный диапазон, просто повторно запустите макрос. Все существующие заливки в выбранном диапазоне сбрасываются для несоответствующих ячеек.
Убедитесь, что ваши даты и праздники используют правильные значения дат Excel (не текст).

Преимущества: Экономит время на повторяющихся задачах и обеспечивает большую гибкость. Не нужно вручную повторно применять форматирование.
Недостатки: Макросы должны быть включены для вашей книги; пользователям, незнакомым с VBA, следует сохранять перед запуском и пробовать на резервных копиях в первую очередь.


Больше связанных статей:

  • Цвет чередующихся строк для объединенных ячеек
  • Очень полезно форматировать чередующиеся строки разным цветом в больших данных для их сканирования, но иногда в ваших данных могут быть объединенные ячейки. Чтобы выделить строки попеременно разным цветом для объединенных ячеек, как показано на скриншоте ниже, как вы могли бы решить эту проблему в Excel?
  • Подсветка приближенного соответствия при поиске
  • В Excel мы можем использовать функцию Vlookup для быстрого и легкого получения приблизительно совпадающего значения. Но пробовали ли вы получить приблизительное совпадение на основе данных строки и столбца и выделить приблизительное совпадение из исходного диапазона данных, как показано на скриншоте ниже? Эта статья расскажет о том, как решить эту задачу в Excel.
  • Подсветка ячейки, если значение больше, чем в другой ячейке
  • Чтобы сравнить значения в двух столбцах, например, если значение в столбце B больше, чем значение в столбце C в той же строке, то подсветить значения из столбца B, как показано на скриншоте ниже. В этой статье я собираюсь представить несколько методов подсветки ячейки, если значение больше, чем в другой ячейке в Excel.
  • Подсветка строк на основе выпадающего списка
  • Эта статья расскажет о том, как подсвечивать строки на основе выпадающего списка, взяв следующий скриншот за пример: когда я выбираю «В процессе» из выпадающего списка в столбце E, мне нужно подсветить эту строку красным цветом, когда я выбираю «Завершено» из выпадающего списка, мне нужно подсветить эту строку синим цветом, и когда я выбираю «Не начато», зеленый цвет будет использоваться для подсветки строки.

Лучшие инструменты для повышения продуктивности в Office

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

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


Office Tab добавляет вкладочный интерфейс в Office, делая вашу работу значительно проще

  • Включите редактирование и чтение во вкладках в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Открывайте и создавайте несколько документов во вкладках одного окна, а не в новых окнах.
  • Увеличьте свою продуктивность на50% и сократите сотни кликов мышью ежедневно!