KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中突出显示周末和节假日?

作者小阳修改日期

在处理 Excel 中的每日记录表时,通常需将周末或公共节假日与普通工作日进行视觉区分,以便更高效地审阅数据。这种高亮方式在考勤表、项目时间线或业务日志等场景中尤为实用,可显著提升数据的直观性和后续分析效率。Excel 提供了多种实现方法,包括使用条件格式、添加自定义辅助公式列,或借助 VBA 实现更高级的自动化。选择最适合的方案,取决于您的表格结构、新增数据的频率,以及节假日列表是否频繁更新。


使用使用条件格式突出显示周末和节假日

Excel 的条件格式功能可自动高亮日期记录中的周末(通常为星期六和星期日)及节假日,无需在数据中输入任何计算公式。此方法特别适合经常审阅或更新工作表的用户,能为非工作日提供即时、动态的颜色提示。

要为周末和节假日设置使用条件格式,请按以下步骤操作:

1. 选择您要高亮显示的日期范围。

2. 转到开始选项卡,点击使用条件格式,然后选择新建规则,即可打开规则编辑器。参见截图:

单击“开始”>“条件格式”>“新建规则”

3. 在新建格式规则对话框中:

  • 在类型列表中选择使用公式确定要设置格式的单元格规则。
  • 在公式输入框中,输入以下公式:=NETWORKDAYS($A2,$A2,$F$2:$F$6)=0
  • 单击格式按钮,即可设置高亮样式。
注意:在此公式中,$A2 指的是所选区域中的第一个日期单元格(如果起始单元格不同,请相应调整)。$F$2:$F$6 应包含您的节假日列表(请根据实际节假日范围进行修改)。NETWORKDAYS 函数仅将周一至周五视为工作日。如果您使用不同的周末安排,或仅需包含特定日期,则可能需要使用自定义公式。

在对话框中指定选项

4. 在设置单元格格式窗口中,切换到填充选项卡,为周末和节假日选择一种背景颜色,即可快速区分非工作日与普通工作日。

在“填充”选项卡下,指定用于突出显示行的颜色

5. 单击确定两次以关闭对话框。所选高亮将自动应用于所选区域内匹配周末或节假日列表的日期。您可随时通过编辑节假日范围来更新节假日,格式将随之自动更新。

包含周末和节假日的行已被着色

提示与故障排除:如果高亮未显示,请仔细检查日期格式(该公式仅适用于真正的 Excel 日期);格式不匹配可能导致规则失效。若应用于多列,请相应调整公式。此外,如数据跨越多年,请根据需要更新节假日列表,确保非工作日设置准确无误。

优势:无需额外列或手动操作;表格扩展或节假日列表更新时,内容将自动动态刷新。
潜在限制:条件格式在每个工作表中存在最大规则数量限制(极少触及),且在大型数据集中使用过于复杂的公式可能影响工作簿性能。

kutools for excel ai 的屏幕截图

借助 KUTOOLS AI 解锁 Excel 的神奇功能

  • 智能执行:只需输入简单命令,即可执行单元格操作、分析数据并创建图表。
  • 自定义公式:生成量身定制的公式,助您优化工作流程!
  • VBA 编码:轻松编写并运行 VBA 代码。
  • 公式解析:轻松掌握复杂公式,一目了然!
  • 文本翻译:轻松打破电子表格中的语言障碍!
借助 AI 驱动的工具提升您的 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 中实现这一操作。
  • 根据下拉列表高亮行区域
  • 本文将介绍如何根据下拉列表的选项高亮整行区域。以下方截图为例:当在 E 列的下拉列表中选择“进行中”时,该行将以红色突出显示;选择“已完成”时,以蓝色突出显示;选择“未开始”时,则以绿色突出显示该行。

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱