KutoolsforOffice — 一套方案,五大工具。事半功倍。三月特賣:20% 折扣

如何在 Excel 中依多種顏色篩選資料?

作者Xiaoyang修改日期

在一般 Excel 使用情境中,若只需根據單一儲存格顏色進行篩選,操作相當直觀。然而,當您需要同時篩選包含多種特定顏色的列時,情況就沒那麼簡單了。舉例來說,假設您的資料清單已透過不同填充顏色標示出多個類別,而您希望僅檢視包含兩種或更多指定顏色的列——這類需求無法直接透過 Excel 內建篩選功能實現,因為標準篩選一次僅能選擇一種顏色。本文將介紹幾種高效解決方案,說明其實用價值與適用情境,協助您依實際需求挑選最合適的方法。

以下提供最初介紹的 VBA 程式碼解決方案,並額外補充實用技巧與注意事項,助您發揮最佳成效。同時,我們也為您附上兩種替代方法的參考連結——分別是使用公式輔助欄位,以及透過 Excel 增益集 Kutools 來實現,方便您依需求選擇適用方式:

使用 VBA 程式碼依多種顏色篩選資料

在 Excel 中手動分類並依多種顏色篩選資料


藍色右向箭頭氣泡 使用 VBA 程式碼依多種顏色篩選資料

目前 Excel 尚未提供原生功能,可同時依據多個儲存格背景顏色篩選列。當您需要僅顯示符合多種特定顏色的列時,可透過自訂 VBA 解決方案達成。以下方法示範如何利用使用者定義函數,將顏色編號數值提取至相鄰的輔助欄位;一旦成功識別顏色,即可搭配 Excel 內建篩選工具進行精準篩選。此方法特別適合中小型資料集,若您熟悉巨集操作,更能發揮其實用價值。

1. 按住 ALT + F11 鍵,即可開啟 Microsoft Visual Basic for Applications 視窗。若您日後希望持續使用此程式碼,請務必將檔案另存為啟用巨集的活頁簿(.xlsm)或其他支援巨集的格式,因為一般 Excel 檔案(.xlsx)無法儲存 VBA 程式碼。

2. 點選插入 模組,並將下列程式碼貼到開啟的模組視窗中。

VBA 程式碼:提取顏色編號數值:

Function GetColor(x As Range) As Integer
GetColor = x.Interior.ColorIndex
End Function

繼續操作前,請務必先儲存您的工作。在某些情況下,使用 VBA 可能會觸發安全性警告,若出現提示,請啟用巨集。

3. 返回工作表,在資料旁選擇一個空白儲存格(例如,若您的彩色儲存格位於 A 欄且第一筆資料在第 2 列,則使用 B2),並輸入公式:=Getcolor(A2)。此處 A2 即為您要分析的第一個彩色儲存格。此函數會將顏色編號以數值形式傳回至輔助欄位。請參閱截圖:

套用公式以取得色彩索引

4. 使用填滿控點將此公式向下複製至整個資料區域,讓每列都顯示對應的顏色編號。若表格較大,只需雙擊填滿控點,即可自動填滿至資料末尾!現在,所有列均已正確顯示對應的顏色編號數值,如下所示:

將公式拖曳至其他儲存格

提示:若儲存格未套用任何背景顏色,函數將傳回 -4142. 若您想排除無背景顏色的列,可將此值作為篩選依據。

5. 現已為每列關聯特定顏色編號,即可篩選資料,僅顯示所需顏色的列。操作方式如下:選取輔助欄位,前往資料索引標籤,點選篩選,再點擊輔助欄位頂端的下拉箭頭;於篩選下拉列表中,勾選您欲顯示顏色所對應的所有顏色編號數值,如下圖所示:

按一下「資料」>「篩選」,選取要篩選的色彩索引編號

6. 點選確定以套用篩選,此時您的數據區域中僅會顯示選定背景顏色的列。若需進一步分析或複製結果,可直接選取篩選後的列。請參閱截圖:

已篩選出所選顏色

7. 最後,若您不再需要顯示輔助欄位,可安全地隱藏或刪除它。但請注意:在篩選後若刪除該欄位,將遺失顏色參照,導致重新篩選時失效,因此建議在完成分析前僅隱藏、勿刪除。

若輸入公式後出現 #NAME?錯誤,可能是 VBA 程式碼未正確插入,或巨集未啟用。請立即檢查 VBA 模組與巨集安全性設定,確保一切配置無誤!

此解決方案的一大優勢,在於能將顏色篩選與其他條件(例如文字或數值篩選)結合,並透過 Excel 原生的篩選控制項輕鬆操作。然而其限制在於,若套用新的佈景主題,或從其他來源複製資料,儲存格的色彩代碼可能會改變,此時可能需要重新整理或再次套用 VBA 函數。


在 Excel 中手動分類並依多種顏色篩選資料

若因活頁簿的安全性政策或使用者偏好而不適合使用 VBA,可採用實用的替代方案:在輔助欄位中手動設定顏色類別,再依這些類別進行篩選。此方法適用於顏色種類有限且色彩代碼鮮少變更的情境。

您可在資料旁新增輔助欄位(例如「色彩類別」),並根據每列的填充顏色手動標註對應標籤(如「紅色」、「綠色」或「黃色」),接著就能運用篩選功能,快速顯示您想檢視的類別。

步驟:在輔助欄位中,依顏色輸入簡易文字識別碼(例如:藍色填滿列輸入「Blue」,無填滿則輸入「None」)。完成後,選取該輔助欄位,並使用資料 > 篩選功能,即可自由篩選任意組合的彩色列進行顯示!

此方法自動化程度較低,但若資料集規模較小或顏色定義經常變動,反而更具彈性;然而,若資料會動態更新或由多位使用者共用,手動維護的效率可能較不理想。

針對大型資料集或需頻繁更新的情境,建議透過 VBA 自動化此流程,或使用下方介紹的專業 Excel 增益集。


kutools for excel AI 的螢幕截圖

透過 KUTOOLS AI 解鎖 Excel 的神奇功能

  • 智慧執行:透過簡易指令,輕鬆執行儲存格操作、分析資料,並建立圖表!
  • 自訂公式:打造專屬公式,讓您的工作流程更順暢!
  • VBA 編碼:輕鬆撰寫並套用 VBA 程式碼,立即提升工作效率!
  • 公式解析:輕鬆掌握複雜公式!
  • 文字翻譯:輕鬆打破試算表中的語言隔閡!
運用 AI 驅動的工具強化您的 Excel 能力。立即下載體驗前所未有的高效!

相關文章:

如何在 Excel 中篩選以逗號分隔的資料?

如何在 Excel 中篩選出完全相符的文字?

最佳 Office 生產力工具

🤖KUTOOLS AI 助手:基於以下內容徹底革新數據分析:智慧執行     產生程式碼  建立自訂公式    分析資料並產生圖表  呼叫增強函數……
熱門功能尋找、醒目提示或標記重複值     刪除空白行     合併列或儲存格而不遺失資料     不使用公式的四捨五入……
高級 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 中啟用分頁式編輯與閱讀功能,以及 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 天完整功能試用— 無需註冊,無需信用卡
  • 超值之選— 比單獨購買各增益集更省費用