如何在Excel中篩選工作日和週末?
在數據分析或考勤追蹤中,您可能經常需要從Excel的長列表中篩選出週末或工作日日期,例如僅高亮顯示星期六和星期日以計算加班,或專注於工作日來分析工作天數。當日期以標準格式(如06/07/2012)顯示時,很難一眼看出每個日期是落在週末還是工作日,這樣的手動篩選既低效又容易出錯。本文提供了幾種實用方法,可快速區分並篩選工作日或週末,包括內建的Excel方法、有用的公式、VBA自動化以及像Kutools for Excel這樣的友好插件。通過學習和應用這些技術,您將能夠簡化工作流程,減少手動排序,並降低在日期分析任務中的意外錯誤分類。
➤ 使用函數篩選工作日和週末
➤ 使用Kutools for Excel篩選工作日和週末
➤ 使用Kutools for Excel的超級篩選工具篩選工作日和週末
➤ 使用VBA宏自動篩選或高亮工作日或週末
➤ 使用進階篩選與自訂條件篩選工作日和週末
使用函數篩選工作日和週末
Microsoft Excel的WEEKDAY函數返回一個從1到7的序列號,代表給定日期的星期幾。默認情況下(當不使用第二個參數時),1代表星期日,7代表星期六。例如,如果日期是星期日,該函數返回1;如果是星期五,結果是6。這使您可以識別週末或工作日並相應地進行篩選。
此方法適用於大多數一般數據表,並提供完全的控制,但需要輔助列。
步驟1:在日期列旁邊的空白列中(例如,單元格C2),輸入以下公式以獲取星期索引:
=WEEKDAY(B2)
步驟2:按下Enter鍵,然後拖動填充柄向下應用公式到其他日期行。每一行現在都會顯示一個星期數字。
步驟3:轉到功能區上的資料 > 篩選以啟用篩選。如果您首先選擇數據集內的一個單元格,Excel會自動選擇數據塊。
步驟4: 下拉箭頭 將會出現在每個欄位標題中。點擊輔助列上的篩選箭頭(例如,星期幾),然後勾選 1 和 7 以篩選週末(星期日和星期六)。
步驟5:在篩選菜單中點擊確定。Excel現在將只顯示符合選擇的週末日期(1和7)。
注意:如果只想篩選工作日(星期一至星期五),請勾選2、3、4、5和6。
提示和提醒:
- 如果您的地區一週從不同的日子開始,請使用
=WEEKDAY(B2, 2)
,這樣星期一=1,星期日=7。根據需要調整篩選。 - 日期列中的空白單元格可能會返回意外結果——如有必要,請清理您的數據。
- 始終將公式拖動到所有行,以確保篩選準確性。
使用Kutools for Excel篩選工作日和週末
使用Excel內建的方法通常需要輔助列來區分工作日和週末。或者,Kutools for Excel提供了一個更直接的解決方案:您可以使用日期格式直接顯示星期幾名稱,或將其轉換為純文本以便更容易篩選。Kutools中的應用日期格式工具使這一過程快速且簡單。
Kutools for Excel - 包含超過 300 種 Excel 必備工具。永久免費享受 AI 功能!立即下載!
步驟1:選擇要轉換的日期範圍。
步驟2:轉到Kutools標籤,點擊格式 > 應用日期格式。將出現一個對話框。
步驟3:在對話框中,從日期格式列表中選擇Wed或Wednesday格式以顯示星期幾名稱。
步驟4:點擊確定。所選日期現在顯示為星期幾名稱。如果您想將它們作為文本而非日期進行篩選,點擊Kutools > 轉為實際值以將格式化結果轉換為靜態文本。
步驟5: 轉到 資料 > 篩選。在篩選下拉 中,勾選 Sat 和 Sun 以僅顯示週末。這種方法比使用星期數字更加直觀清晰。
步驟6:點擊確定。只有週末(星期六和星期日)會顯示在篩選結果中。
注意事項:
- 如需篩選工作日,在步驟5中勾選Mon、Tue、Wed、Thu和Fri。
- 為了保留原始日期值,考慮在應用格式和篩選之前將它們複製到輔助列。
- 應用日期格式和轉為實際值工具在準備乾淨、易讀的星期數據以供報告或導出時非常有用。
了解更多有關這些工具的信息:
- 應用日期格式
- 轉為實際值
Kutools for Excel - 超過 300 種必備工具,讓 Excel 功能更強大。永久免費享受 AI 功能!立即獲取
使用Kutools for Excel的超級篩選工具篩選工作日和週末
如果您希望按工作日或週末篩選日期而不改變原始數據格式,Kutools for Excel的超級篩選工具提供了一個高效的解決方案。
Kutools for Excel - 包含超過 300 種 Excel 必備工具。永久免費享受 AI 功能!立即下載!
此方法非常適合需要多條件篩選、不願修改原始數據或需要圖形界面進行重複篩選任務的用戶。
步驟1:點擊Kutools Plus > 超級篩選以在工作簿中啟用超級篩選窗格。
步驟2:在超級篩選窗格中,執行以下操作:

1) 點擊瀏覽按鈕並選擇要篩選的數據範圍。
2) 將鼠標懸停在OR標籤上以展開條件編輯器,然後配置篩選條件:
- 在第一個框中選擇列名(例如,日期)。
- 在第二個框中選擇週。
- 在第三個框中選擇等於。
- 在最後一個框中選擇1到7之間的數字。例如,1 = 星期日,7 = 星期六。
注意:數字1-7分別代表星期日至星期六。如果您的星期從不同日子開始或使用不同的地區設置,請調整條件。
3) 點擊篩選按鈕以應用。
數據現在將僅顯示符合指定日期的行——例如,如果選擇了1,則顯示星期日。
如果要篩選所有週末(星期六和星期日),添加兩個條件:
- 日期 > 週 > 等於 > 1
- 日期 > 週 > 等於 > 7
確保它們之間的邏輯設定為OR。
要篩選僅限工作日(星期一至星期五),請應用以下條件:
- 日期 > 週 > 不等於 > 1
- 日期 > 週 > 不等於 > 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,這是美國地區設置中的默認值。如果您的地區定義星期一為一周的開始,請調整邏輯。 - To highlight 週末而不是篩選,請使用條件格式與以下公式:
=OR(WEEKDAY(A2,1)=1,WEEKDAY(A2,1)=7)
(假設您的日期在A列中)。 - 此宏僅在視覺上隱藏行。數據未被刪除,並且可以通過移除篩選或運行
ws.Rows.Hidden = False
取消隱藏。
故障排除:
- 如果宏無法運行,請確保在Excel的信任中心中啟用了宏。
- 確保所選範圍包含有效的日期值。文本格式或空白單元格可能會被誤解並隱藏。
- 如果運行後沒有任何反應,請檢查範圍是否正確選擇以及列數是否正好為一。
使用進階篩選與自訂條件篩選工作日和週末
Excel的進階篩選功能讓您可以在原地篩選數據或將結果複製到其他位置,使用自訂條件,而無需輔助列或插件。通過利用基於WEEKDAY
函數的自訂公式作為條件範圍,您可以靈活地僅顯示工作日、僅顯示週末,甚至特定的日子。此方法適用於臨時一次性篩選,並避免在工作表中增加額外列。
以下是使用進階篩選篩選工作日/週末的步驟:
- 步驟1:確保您的數據有標題。例如,假設您的日期在B列(標題:日期)。
- 步驟2: 在表格的其他地方設置條件範圍。在條件範圍標題單元格中(例如, D1),輸入與日期列相同的標題("日期")。在其下方的單元格中(例如, D2),輸入以下公式以篩選週末:
=OR(WEEKDAY(B2)=1, WEEKDAY(B2)=7)
- 步驟3:選擇您的原始數據。轉到數據 > 進階在排序和篩選組中。
- 步驟4: 在進階篩選對話框中,設置:
- 列表範圍:您的原始數據,包括標題
- 條件範圍:您的條件塊(標題和公式單元格)
- 選擇是否在原地篩選列表或複製到另一個位置
- 步驟5:點擊確定。只有週末日期將被顯示(或複製,如果選擇了該選項)。
要篩選工作日:
在"日期"標題下的條件單元格中使用以下公式:
=AND(WEEKDAY(B2)>1, WEEKDAY(B2)<7)
實用提示:
- 條件單元格中的公式應引用日期列中的第一個數據單元格(例如,B2)。
- 避免將公式輸入為數組;只需將其作為普通公式輸入即可。
- 進階篩選最適合臨時視圖或過濾導出,當您不想添加輔助列時。
限制:
- 如果新增了新數據,您必須重新應用進階篩選。
- 條件範圍中的標題必須完全匹配數據集中列名。
常見錯誤和故障排除:
- 確保公式引用正確的單元格(例如,如果B是日期列,則為B2)。
- 如果沒有返回數據,請在樣本行上手動測試公式以確認邏輯。
示例:在Excel中篩選工作日和週末
最佳 Office 生產力工具
🤖 | Kutools AI 助手:以智能執行為基礎,革新數據分析 |生成程式碼 | 創建自訂公式 | 分析數據並生成圖表 | 調用 Kutools 增強函數… |
熱門功能:查找、選取項目的背景色或標記重複值 | 刪除空行 | 合併列或單元格且不遺失數據 | 四捨五入(免公式)... | |
高級 LOOKUP:多條件 VLookup|多值 VLookup|多表查找|模糊查找... | |
高級下拉列表:快速創建下拉列表 |依賴型下拉列表 | 多選下拉列表... | |
列管理器:添加指定數量的列 | 移動列 | 切換隱藏列的顯示狀態 | 比較區域及列... | |
精選功能:網格聚焦 | 設計檢視 | 增強編輯欄 | 工作簿及工作表管理器 | 資源庫(快捷文本) | 日期提取器 | 合併資料 | 加密/解密儲存格 | 按列表發送電子郵件 | 超級篩選 | 特殊篩選(篩選粗體/傾斜/刪除線...)... | |
15 大工具集:12 項文本工具(添加文本、刪除特定字符…)|50+ 儀表 類型(甘特圖等)|40+ 實用 公式(基於生日計算年齡等)|19 項插入工具(插入QR码、根據路徑插入圖片等)|12 項轉換工具(金額轉大寫、匯率轉換等)|7 項合併與分割工具(高級合併行、分割儲存格等)|...及更多 |
運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...
Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單
- 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀。
- 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
- 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!
所有 Kutools 外掛,一次安裝
Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。





- 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
- 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
- 協同運作更順暢 — Office 應用間無縫提升生產力
- 30 天全功能試用 — 無需註冊、無需信用卡
- 最超值 — 一次購買,節省單獨外掛費用