如何在 Excel 中突出显示周末和节假日?
在处理 Excel 中的每日记录表时,通常需将周末或公共节假日与普通工作日进行视觉区分,以便更高效地审阅数据。这种高亮方式在考勤表、项目时间线或业务日志等场景中尤为实用,可显著提升数据的直观性和后续分析效率。Excel 提供了多种实现方法,包括使用条件格式、添加自定义辅助公式列,或借助 VBA 实现更高级的自动化。选择最适合的方案,取决于您的表格结构、新增数据的频率,以及节假日列表是否频繁更新。
使用使用条件格式突出显示周末和节假日
Excel 的条件格式功能可自动高亮日期记录中的周末(通常为星期六和星期日)及节假日,无需在数据中输入任何计算公式。此方法特别适合经常审阅或更新工作表的用户,能为非工作日提供即时、动态的颜色提示。
要为周末和节假日设置使用条件格式,请按以下步骤操作:
1. 选择您要高亮显示的日期范围。
2. 转到开始选项卡,点击使用条件格式,然后选择新建规则,即可打开规则编辑器。参见截图:

3. 在新建格式规则对话框中:
- 在类型列表中选择使用公式确定要设置格式的单元格规则。
- 在公式输入框中,输入以下公式:=NETWORKDAYS($A2,$A2,$F$2:$F$6)=0
- 单击格式按钮,即可设置高亮样式。

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

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

提示与故障排除:如果高亮未显示,请仔细检查日期格式(该公式仅适用于真正的 Excel 日期);格式不匹配可能导致规则失效。若应用于多列,请相应调整公式。此外,如数据跨越多年,请根据需要更新节假日列表,确保非工作日设置准确无误。
优势:无需额外列或手动操作;表格扩展或节假日列表更新时,内容将自动动态刷新。
潜在限制:条件格式在每个工作表中存在最大规则数量限制(极少触及),且在大型数据集中使用过于复杂的公式可能影响工作簿性能。

借助 KUTOOLS AI 解锁 Excel 的神奇功能
- 智能执行:只需输入简单命令,即可执行单元格操作、分析数据并创建图表。
- 自定义公式:生成量身定制的公式,助您优化工作流程!
- VBA 编码:轻松编写并运行 VBA 代码。
- 公式解析:轻松掌握复杂公式,一目了然!
- 文本翻译:轻松打破电子表格中的语言障碍!
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 列的下拉列表中选择“进行中”时,该行将以红色突出显示;选择“已完成”时,以蓝色突出显示;选择“未开始”时,则以绿色突出显示该行。
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 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 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱