三年前我就做过一件很傻的事。
每次领导想要得到经过筛选之后的数据总和的时候,我都习惯性地会把筛选过的数据复制到一个新的表格里,并且用SUM来求和。因为这些数据每天都在变化之中,所以我也就一直不断地进行着复制、粘贴的操作,已经快要怀疑人生了。
后来我发现了一个函数,就傻眼了。
原来用一个AGGREGATE就可以代替我半年来所做的一切工作。
一个函数,19种本事
这个名称本身就有劝退的意思,读起来也很困难。记住以下两点:一个是SUBTOTAL的升级版,另一个可以替代IFERROR的功能。
求和、求平均值、求最大值、求最小值以及统计个数,总共19种方法。
语法简单到离谱:
=AGGREGATE(什么加起来是什么,跳过的是什么,计算的是什么东西)
第一个参数,1到19,决定算什么。但是只用其中四个就可以了,就是1代表平均值、4代表最大的那个数、5代表最小的一个数、9代表所有数相加的结果。
第二个参数,0到7,决定跳过什么。也只用记三个,一是不考虑隐藏行,二是不理会错误值,三是两者都不管。
第三个参数,不用记,就是圈数据,A1:A100这种。
口诀:第一个是管算什么东西的,第二个是管跳过的什么东西的,第三个是管算什么地方的。
场景一:筛选之后求和,别再复制粘贴了
=AGGREGATE(9,1,C2:C11)

9求和,1忽略隐藏行。
筛选过后,被隐藏起来的操作不再计算在内。改变一下筛选的标准之后,结果也会随之变化,并且每秒钟都会重新计算一次。
以前用的复制粘贴的方法太low了,简直就是一种自我折磨的行为。
场景二:数据里躺着#N/A,照样算平均
当VLOOKUP不能正常匹配的时候,就会出现#N/A这样的错误,并且无法消除。普通的AVERAGE函数如果遇到这样的错误就会停止工作并产生报错。
以前用的是IFERROR函数,并且公式的写法很糟糕、很长。
现在一行搞定:
=AGGREGATE(1,2,C4:C10)

1平均,2忽略错误值。
去掉平均值和所有的错误值后,整个世界就清净了,而#N/A也是其中一员。
场景三:隐藏了几行,还想找最大值
这件事SUBTOTAL是不能做的,它对于忽略和隐藏的支持只有几种算法。
AGGREGATE能够:
=AGGREGATE(4,1,C2:C11)

4最大值,1表示忽略隐藏。被隐藏掉的部分不会参与计算
最后说两句
该函数在2010年就存在了,很多人的工作年限都不如它。
函数不要求很多,能用就尽量少用。但是AGGREGATE这样的可以代替多个函数的功能的话,学到就是赚到。
如果觉得好,关注一下,学习更多干货小技巧。
顺手点个赞,转发给那个还在复制粘贴的同事吧,救救孩子。
👇👇👇
夜雨聆风