Excel中按颜色筛选需用四种方法:一、自动筛选中的按颜色筛选;二、高级筛选配合GET.CELL函数生成颜色标识列;三、先用条件格式着色再筛选;四、VBA宏一键按背景色筛选。

如果您需要在Excel中根据单元格背景色或字体颜色提取或隔离特定数据,则无法通过常规文本或数值筛选实现,必须借助颜色筛选功能。以下是实现该目标的具体操作方法:
一、使用自动筛选中的按颜色筛选
Excel内置的自动筛选支持直接按单元格填充色或字体颜色进行筛选,适用于已启用筛选功能的数据区域。
1、选中数据区域任意一个单元格(确保包含标题行)。
2、在【开始】选项卡中点击【排序和筛选】→【筛选】,或按快捷键Ctrl+Shift+L启用筛选箭头。
3、点击列标题旁的下拉箭头,将鼠标悬停在【按颜色筛选】选项上。
4、在展开子菜单中,选择【按单元格颜色筛选】或【按字体颜色筛选】。
5、从颜色列表中点击目标颜色,Excel将仅显示该颜色对应的行。
二、通过高级筛选配合辅助列识别颜色
当数据未启用自动筛选,或需将筛选结果输出到其他位置时,可结合GET.CELL宏表函数(仅限Excel桌面版)生成颜色标识列,再用高级筛选处理。
1、在空白列(如Z1)输入临时名称“ColorID”,并在Z2单元格输入公式:=GET.CELL(63,A2)(63表示单元格背景色索引值)。
2、将Z2公式向下填充至对应数据行末尾;注意:此公式为宏表函数,不能直接按Enter确认,需将其定义为名称后引用。
3、按下Ctrl+F3打开【名称管理器】,点击【新建】,名称填“CellColor”,引用位置填入:=GET.CELL(63,Sheet1!$A2)(请将Sheet1替换为实际工作表名)。
4、在Z2输入“=CellColor”,回车并向下填充,生成颜色编码列。
5、选中数据区域→【数据】→【高级筛选】→勾选【将筛选结果复制到其他位置】,设置条件区域为含ColorID与对应颜色编码的两行列(如Z1:Z2),指定复制位置。
三、使用条件格式+筛选组合定位颜色单元格
若原始数据未预设颜色,但需依据数值规则动态标记并筛选,可通过条件格式统一着色后再执行颜色筛选。
1、选中待处理的数据列(如B2:B100)。
2、在【开始】选项卡中点击【条件格式】→【突出显示单元格规则】→选择规则类型(如“大于”、“重复值”等)。
3、设置具体参数(例如:大于100 → 红色填充),点击确定,Excel自动为符合条件的单元格添加背景色。
4、启用筛选后,点击该列筛选箭头→【按颜色筛选】→选择刚应用的颜色,即可完成过滤。
四、VBA宏一键按背景色筛选
对于频繁执行颜色筛选的用户,可用VBA快速响应——运行宏后自动筛选出指定列中具有某背景色的所有行。
1、按Alt+F11打开VBA编辑器,插入新模块。
2、粘贴以下代码(以筛选A列黄色背景为例):Sub FilterByCellColor()
ActiveSheet.Range("A1").AutoFilter Field:=1, Criteria1:=RGB(255, 255, 0), Operator:=xlFilterCellColor
End Sub
3、修改RGB值匹配目标颜色(如RGB(0,176,80)对应深绿色)。
4、返回Excel,按Alt+F8运行该宏,A列即按指定颜色筛选。










