如何在条件格式下按颜色求和、计数

之前写过一篇关于按照单元格颜色进行求和或者计数的两种方法(点击下方链接查看) 。


Excel按单元格颜色进行求和或计数



如何在条件格式下按颜色求和、计数



如何在条件格式下按颜色求和、计数

文章中的方法可以解决所有单元格手动填充颜色的求和计数问题,为什么这里说手动填充颜色呢?因为通过条件格式实现的颜色没有办法进行计算 。即使利用代码Interior. Colorindex进行颜色判断 。


这是为什么呢?我们来看一下Interior,内部的意思 。通俗点解释 , 通过手动填充颜色是填充到单元格的内部 。




但是利用条件格式体现的颜色就不一样了 , 有兴趣的可以测试一下,当你将某一个单元格手动填充为红色(任何色都可以)后,再利用条件格式填充为黄色,单元格的Interior. Colorindex依旧是红色 。


这就要说到DisplayFormat,显示格式 。意思就是黄色是直观显示的颜色,实际内部颜色依旧是红色 。


所以Interior.Colorindex需要修改为DisplayFormat.Interior.Colorindex 。我们来看看官方的说法 。


Range.DisplayFormat返回一 个 DisplayFormat 对象,该对象代表指定范围的显示设置 。此为只读属性 。


DisplayFormat 属性在UDF 定义的用户 (中) 。例如,在返回单元格内部颜色的工作表函数上,使用类似于的行Range(n).DisplayFormat.Interior.ColorIndex 。当工作表函数执行时,它将返回#VALUE! 。意思是DisplayFormat不可以应用在自定义函数中 。


如何在条件格式下按颜色求和、计数

那么只能通过代码来实现条件格式下的颜色计算(非自定义函数) 。执行效果如下图:


如何在条件格式下按颜色求和、计数



如何在条件格式下按颜色求和、计数

【如何在条件格式下按颜色求和、计数】原理仍然是通过循环判断Range(n).DisplayFormat.Interior.ColorIndex是否与当前的单元格Interior. Colorindex一致进行计算 。有需求的朋友可以留言 。
如何在条件格式下按颜色求和、计数

相关经验推荐