Excel按颜色求和你会吗?
公众号回复2016 下载office2016
颜色的处理,是Excel的一大弱势,在2003版及之前,基础操作几乎无法处理相关于颜色的事情。
在2007版本出来后,总算出来了两个相关的功能:按颜色筛选、按颜色排序。可是这两项都是手工处理,无法像函数那样实现自动化。
今天就和大家说说,如何用函数来解决按颜色统计问题。
某公司7月份上旬各员工的销售业绩,经理审核的时候,随手标注了几个颜色,然后要求按不同标注颜色的数据求和。
注意,这里说的随手是只不明条件的涂色,一旦知道涂色的条件或者标准,就可以用条件求和的各种套路实现按颜色求和了。
对于不明条件的按颜色求和,就要用到宏表函数GET.CELL。
选中D2单元格,定义名称ys(ys是颜色的拼音缩写,也可以用其他字母组合,方便记忆即可,但是不能和现有的函数名等重复):
关于Excel中名称的知识,只能说非常重要,感兴趣的话留言,咱们改天单独分享一篇教程。
先来说一下自定义名称中公式的意思:
=GET.CELL(63,Sheet1!C2)+NOW()^0-1
1、GET.CELL(63,Sheet1!C2)
务必是选择C2单元格时候定义,这是最关键的一步。
GET.CELL函数,是取得单元格相关格式、内容的函数。第一个参数是从1到66的数字,每个数字代表取得不同的内容,63代表相应单元格的背景颜色。
GET.CELL只能在定义名称中使用,所以务必要注意单元格位置的相对位置。
(GET.CELL不能得到条件格式设置的颜色,如果要是有那种情况,那就根据“条件格式”的条件来求和即可)
2、GET.CELL(63,Sheet1!C2)+NOW()^0-1
GET.CELL不能根据表格的变化进行自动重算,必须双击相应的单元格,才可能激发相应的重算,以返回最新的结果。
在公式的最后加上NOW()^0-1的作用是什么呢?NOW()函数返回系统当前的日期和时间,是每时每刻都在变化的,由它的变化,强行引起GET.CELL同时进行重算,以达到及时更新的目的。
以后只需按一下F9,所有单元格就都是最新结果了。
任何非0数字的0次方,结果都是1,所以NOW()^0-1始终结果为0,并不影响计算结果。其他常用的还有&T(NOW())等等,大家可以根据个人喜好选择相应的方法。
简单介绍完自定义名称中公式的含义,继续下面的操作:
D2单元格输入以下公式,向下复制:
=ys
公式的作用就是得到C列单元格的背景颜色值,务必注意是写在D2单元格。
f2单元格输入以下公式:
=SUMIF(D:D,ys,C:C)
其中的ys取得的是E2单元格背景色的数值,然后根据此数值对C列的销售量进行相应的求和,回归到Sumif的基础使用方式。
注意:由于工作表中使用了宏表函数,保存时需要选择.xlsm格式,也就是启用宏的工作簿,方可保证公式正确计算。