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

如何在 Excel 中筛选出工作日和周末?

作者Kelly修改日期

在数据分析或考勤跟踪中,您可能经常需要从 Excel 的长列表中快速筛选出周末或工作日日期——例如,高亮显示星期六和星期日以统计加班时间,或聚焦于工作日以分析有效工作天数。然而,当日期以标准格式(如 06/07/2012)呈现时,很难直观判断其属于周末还是工作日,导致手动筛选不仅效率低下,还容易出错。本文为您介绍多种实用方法,助您轻松区分并高效筛选工作日或周末,包括 Excel 内置功能、灵活公式、VBA 自动化脚本,以及像 Kutools for Excel 这样用户友好的插件。掌握并应用这些技巧,您将显著简化工作流程、减少手动操作,并有效降低日期分析中的误分类风险。


使用函数筛选工作日和周末

Microsoft Excel 的 WEEKDAY 函数会返回一个从 17 的序列号,表示给定日期对应的星期。默认情况下(即未使用第二个参数时),1 代表星期日,7 代表星期六。例如,若日期为星期日,函数返回 1;若为星期五,结果则为 6. 借助此功能,您可轻松识别周末或工作日,并据此进行高效筛选。

此方法适用于大多数常规数据表,既能提供完全控制,又仅需一个辅助列。

步骤 1: 在日期列旁边的空白列中(例如单元格 )C2),输入以下公式以获取工作日索引:

=WEEKDAY(B2)

展示如何使用 WEEKDAY 函数的截图

步骤 2: 按下 Enter 键,然后拖动填充柄向下将公式应用至其余日期行,每行即可显示对应的工作日编号。

公式结果的截图

步骤 3: 转到功能区中的数据> 筛选,启用筛选功能。如果您先在数据集中选中一个单元格,Excel 将自动选中整个数据区域。

步骤 4: 每列标题中将出现一个下拉箭头下拉箭头。单击辅助列(例如“工作日”)上的筛选箭头,勾选 17,即可筛选出周末(星期日和星期六)。

在筛选列表中勾选数字 1 和 7 的截图

步骤 5: 在筛选菜单中单击确定,Excel 将仅显示符合您所选周末日期(1 和 7)的行。

筛选结果的截图

注意:如果只想筛选工作日(星期一至星期五),请勾选 23456.

提示与提醒:

  • 如果您的地区以其他日期作为一周的开始日,请使用 =WEEKDAY(B2, 2),让星期一 = 1、星期日 = 7,并相应调整筛选条件。
  • 日期列中的空白单元格可能引发意外结果——如有需要,请先清理数据。
  • 始终将公式向下拖动至所有行,确保筛选结果精准无误。

使用 Kutools for Excel 筛选工作日和周末

使用 Excel 内置方法通常需要借助辅助列来区分工作日和周末。而 Kutools for Excel 提供了更直接的解决方案:您可直接通过日期格式显示工作日名称,或将其转换为纯文本,轻松实现筛选。Kutools for Excel应用日期格式工具让这一过程快速又简便。

Kutools for Excel——包含 300 多个 Excel 必备工具,并永久免费畅享 AI 功能!立即下载!

步骤 1: 选择要转换的日期范围。

步骤 2: 转到 Kutools 选项卡,单击格式 > 应用日期格式,即可弹出一个对话框。

步骤 3: 在对话框的日期格式列表中,选择 WedWednesday 格式之一,以显示工作日名称。

在“应用日期格式”对话框中选择工作日格式

步骤 4: 单击确定。所选日期现在将显示为工作日名称。如果您希望将其作为文本(而非日期)进行筛选,请单击 Kutools转为实际值工具,将格式化结果转换为静态文本。

步骤 5: 转到数据> 筛选。在筛选下拉菜单中下拉筛选图标,勾选 SatSun,即可仅显示周末数据。这种方法比使用工作日编号更直观清晰。

选择周末筛选值

步骤 6: 单击确定,筛选结果中将仅显示周末(星期六和星期日)。

周末筛选结果

注释:

  • 若仅筛选工作日,请在步骤 5 中勾选 MonTueWedThuFri
  • 为保留原始日期值,建议在应用格式和筛选前将其复制到辅助列。
  • 应用日期格式To Actual 工具在准备用于报告或导出的清晰、易读的工作日数据时非常实用。

了解更多关于这些工具的信息:
-应用日期格式
-转为实际值

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取


使用 Kutools for Excel 的超级筛选功能筛选工作日和周末

Kutools for Excel超级筛选工具可提供高效解决方案,让您无需更改原始数据格式,即可按工作日或周末筛选日期。

Kutools for Excel——包含 300 多个 Excel 必备工具,并永久免费畅享 AI 功能!立即下载!

此方法适用于需要多条件筛选、不希望修改原始数据,或需通过图形界面执行重复筛选任务的用户。

步骤 1: 单击 KUTOOLS PLUS 中的超级筛选,即可在工作簿中启用超级筛选窗格。

步骤 2: 在超级筛选窗格中执行以下操作:

配置超级筛选窗格

1) 单击 Browse 按钮,选择要筛选的数据区域。

2) 将鼠标悬停在 OR 标签上以展开条件编辑器,然后配置筛选条件:

  • 在第一个框中选择列名(例如 )Date)。
  • 在第二个框中选择 Week
  • 在第三个框中选择 Equals
  • 在最后一个框中选择从 1 到 7 的数字。例如,1 = 星期日,7 = 星期六。

注意:数字 1–7 分别代表星期日至星期六。若您的周起始日不同或区域设置有异,请相应调整条件。

3) 单击 Filter 按钮即可应用筛选。

数据现在将仅显示符合您指定日期的行——例如,如果您选择了 Sunday,则会显示 1.

仅星期日的筛选结果

如果要筛选所有周末(星期六和星期日),请添加两个条件:

  • Date>Week>Equals>1
  • Date>Week>Equals>7

确保它们之间的逻辑关系设置为 OR

周末筛选结果

若仅筛选工作日(星期一至星期五),请应用以下设置:

  • Date>Week>Does not equal>1
  • Date>Week>Does not equal>7

请确保这些条件之间的逻辑运算符设置为 AND

仅筛选工作日

关键要点与建议:

  • 超级筛选支持复杂的多层筛选,涵盖日期范围、数值及文本字段。
  • 您可以保存并重复使用筛选配置,非常适合用于定期报告或批量数据审查。

了解更多关于超级筛选工具的信息。

Kutools for Excel——通过 300 多款必备工具全面增强 Excel 功能,助您工作更快速、更轻松,并借助 AI 功能实现更智能的数据处理与高效办公!立即获取


使用 VBA 宏自动筛选或高亮显示工作日和周末

如果您处理大型数据集、需要自动化操作,或经常筛选/高亮显示工作日和周末,使用 VBA 宏可以保存时间并减少重复的手动操作。此方法适用于高级用户或熟悉 Excel 宏的用户,且无需辅助列或第三方插件。在继续操作前,请确保已启用宏并信任该工作簿。

步骤 1:Alt + F11 打开 Microsoft Visual Basic for Applications 编辑器,然后单击插入> 模块,并将以下 VBA 代码粘贴到模块窗口中:

Sub FilterWeekendDates()
    Dim rng As Range
    Dim cell As Range
    Dim ws As Worksheet
    Dim weekDayNum As Integer

    Set ws = ActiveSheet
    On Error Resume Next
    Set rng = Application.InputBox("Select the date range to filter (single column, without header):", "Filter Weekends Only", Type:=8)
    On Error GoTo 0

    If rng Is Nothing Then Exit Sub
    If rng.Columns.Count > 1 Then
        MsgBox "Please select only one column.", vbExclamation
        Exit Sub
    End If

    Application.ScreenUpdating = False
    ws.Rows.Hidden = False

    For Each cell In rng
        If IsDate(cell.Value) Then
            weekDayNum = Weekday(cell.Value, vbSunday)
            If weekDayNum <> 1 And weekDayNum <> 7 Then
                cell.EntireRow.Hidden = True 
            End If
        Else
            cell.EntireRow.Hidden = True
        End If
    Next cell

    Application.ScreenUpdating = True
End Sub

步骤 2: 关闭 VBA 编辑器。要运行宏,请按 Alt + F8,从列表中选择 FilterWeekendDates,然后单击运行。此时将弹出对话框,提示您选择一个不含标题的单列日期范围。宏将自动隐藏所有非周末行,仅保留星期六和星期日可见。

如果您希望筛选工作日而非周末,请按如下方式更新循环内的代码行:

原始代码:
If weekDayNum 1 And weekDayNum 7 Then

修改为:
If weekDayNum = 1 Or weekDayNum = 7 Then

此修改将隐藏周末(星期六和星期日),并仅显示工作日(星期一至星期五)。

提示与说明:

  • 在此脚本中,Weekday(cell.Value, vbSunday) 表示星期日 = 1、星期六 = 7,这是美国区域设置的默认规则。若您的区域设置以星期一作为一周的开始日,请相应调整逻辑。
  • 若要突出显示周末而非筛选,请结合条件格式使用以下公式:
    =OR(WEEKDAY(A2,1)=1,WEEKDAY(A2,1)=7)(假设您的日期位于 A 列)。
  • 此宏仅在视觉上隐藏行,数据不会被删除。您可通过移除筛选器或运行 ws.Rows.Hidden = False 即可轻松取消隐藏。

故障排除:

  • 如果宏未运行,请确保已在 Excel 信任中心启用宏。
  • 请确保所选区域包含有效的日期值,因为文本格式或空白单元格可能会被误判并隐藏。
  • 运行后若无任何反应,请检查是否已正确选择区域,并确认所选列数恰好为一列。

使用高级筛选与自定义条件筛选工作日和周末

Excel 的高级筛选功能让您无需辅助列或插件,即可在原位置筛选数据,或将结果复制到其他位置。通过在条件区域中使用基于 WEEKDAY 函数的自定义公式,您能灵活筛选出仅工作日、仅周末,甚至特定日期的数据。此方法适用于临时一次性筛选,避免因在工作表中添加额外列而造成混乱。

请按照以下步骤使用高级筛选来筛选工作日/周末:

  • 步骤 1: 确保您的数据包含标题。例如,假设日期位于 B 列(标题为“Date”)。
  • 步骤 2: 在工作表的其他位置设置条件区域。在条件区域的标题单元格(例如 )D1)中输入与日期列相同的标题(“Date”)。在其下方的单元格(例如 D2)中输入以下公式,即可筛选周末:
    =OR(WEEKDAY(B2)=1, WEEKDAY(B2)=7)
  • 步骤 3: 选择原始数据。转到 Data>Advanced(位于“排序和筛选”组中)。
  • 步骤 4: 在“高级筛选”对话框中设置:
    • 列表区域:您的原始数据(包括标题)
    • 条件区域:您的条件块(标题和公式单元格)
    • 选择是在原位置筛选列表,还是复制到其他位置
  • 步骤 5: 单击 OK,即可仅显示周末日期(或根据所选项进行复制)。

若要筛选工作日:

在“日期”标题下方的条件单元格中使用以下公式:

=AND(WEEKDAY(B2)>1, WEEKDAY(B2)<7)

实用说明:

  • 条件单元格中的公式应引用日期列中的首个数据单元格(例如 B2)。
  • 无需将公式作为数组输入,直接以普通公式输入即可。
  • 高级筛选最适合用于创建临时视图或进行筛选导出,尤其当您不希望添加辅助列时。

限制:

  • 新增数据后,必须重新应用高级筛选。
  • 条件区域中的标题必须与数据集中的列名完全一致。

常见错误与故障排除:

  • 请确保公式引用了正确的单元格(例如,若 B 列为日期列,则应引用 B2)。
  • 若未返回任何数据,请在示例行上手动测试公式,以确保逻辑正确无误。

演示:在 Excel 中筛选工作日和周末

 
Kutools for Excel:超过 300 款实用工具触手可及!畅享 AI 驱动的功能,让工作更智能、更高效!立即下载!

最佳办公效率工具

🤖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 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱