如何按颜色一次筛选多列

本公式适用于Windows7+环境,WPS 2016及以上版本 或 Excel 2007及以上版本

GetBackgroundColor(Range,[Color_index])

返回指定单元格或区域中所有背景色的编码值的和,如果指定了Color_index表示只汇总颜色编码为Color_index的颜色的和。

GetFontColor(Range,[Color_index])

返回指定单元格或区域中所有字体颜色的编码值的和,如果指定了Color_index表示只汇总颜色编码为Color_index的颜色的和。

今天笔者给大家介绍一个新技能,一般人都不知道的小秘密哦。在Excel中,相信大家都会按照颜色筛选,为了卖弄笔者扎实的技术功底,这里我还是给大家演示一下如何按照颜色筛选单元格。

按颜色筛选一列,很简单,那么要是一次性筛选多列呢?这下是不是都蒙圈了?

然而,这个问题难不倒笔者,不用写VBA,就能轻松破解。多列筛选,只需要三步。

第一步,安装Excel API 网络函数库。还未安装的同学可参照以下链接。如何安装Excel API 网络函数库

第二步,添加辅助列,输入公式GetBackgroundColor(Range,[Color_index])

如下图所示,添加名为“颜色编码”的辅助列,设置公式=GetBackgroundColor(B2:G2,6),这个公式的目的是计算汇总B2至G2单元格中,所有背景色编码为6的单元格背景色编码的和。黄颜色的编码是6。

第三步,筛选辅助列数值大于0的行。

是不是很神奇?以后就可以任性的在Excel中标记颜色了。到这里,有的同学可能会好奇,这个GetbackgroundColor(Range,[Color_index])是什么来路?——它来自Excel API 网络函数库,和它类似功能还有函数GetFontColor(Range,[Color_index])。其中Range可以是一个单元格,也可以是多个单元格,Color-index指颜色编码,默认值为0,如果大于0表示按照指定颜色编码汇总符合条件的单元格颜色编码的值。通过GetbackgroundColor()可以方便知道各颜色的编码。

如果你喜欢这个新技能,那就赶紧试一下吧。

Excel颜色编号ColorIndex参照表

   无色 = -4142,
   自动 = -4105,
   黑色 = 1,
   褐色 = 53,
   橄榄 = 52,
   深绿 = 51,
   深青 = 49,
   深蓝 = 11,
   靛蓝 = 55,
   灰色80 = 56,
   深红 = 9,
   橙色 = 46,
   深黄 = 12,
   绿色 = 10,
   青色 = 14,
   蓝色 = 5,
   蓝灰 = 47,
   灰色50 = 16,
   红色 = 3,
   浅橙色 = 45,
   酸橙色 = 43,
   海绿 = 50,
   水绿色 = 42,
   浅蓝 = 41,   
   紫罗兰 = 13,
   灰色40 = 48,
   粉红 = 7,
   金色 = 44,
   黄色 = 6,
   鲜绿 = 4,
   青绿 = 8,
   天蓝 = 33,
   梅红 = 54,
   灰色25 = 15,
   玫瑰红 = 38,
   茶色 = 40,
   浅黄 = 36,
   浅绿 = 35,
   浅青绿 = 34,
   淡蓝 = 37,
   淡紫 = 39,
   白色 = 2