比SUMIF函数更好用的求和之王

SUMIF函数通过跟VLOOKUP函数过招后,优势尽显。可惜,强中自有强中手,遇上求和之王SUMPRODUCT函数,SUMIF函数也只能甘拜下风。

下面,卢子通过4个案例进行说明。

1.统计每个培训班总的报名人数。

试着用SUMIF函数统计,不过结果是错误的,只是统计了第1期的报名人数而已。

=SUMIF($A$2:$A$5,G2,$B$2:$E$5)

而用SUMPRODUCT函数却可以轻易解决这个问题。

=SUMPRODUCT(($A$2:$A$5=G2)*$B$2:$E$5)

SUMPRODUCT函数跟SUM函数的数组公式条件求和语法一样。

=SUMPRODUCT((条件区域=条件)*求和区域)

2.统计12个月的总销售毛利。

SUMIF函数无能为力。

虽然有姓名处有合并单元格,不过不影响SUMPRODUCT函数统计。

=SUMPRODUCT((B2:B16='销售毛利')*C2:N16)

3.统计每个月的金额。

这里尝试了用SUMIF函数,一回车,就弹出此公式有问题的警告对话框。SUMIF函数不管是求和区域或者条件区域,都不允许用其他函数。

=SUMIF(MONTH($A$2:$A$60),D2,$B$2:$B$60)

而用SUMPRODUCT函数依然可以轻易解决这个问题。

=SUMPRODUCT((MONTH($A$2:$A$60)=D3)*$B$2:$B$60)

可能读者看到这里会说:“卢子怎么每次都用这种简单的案例,一看就会,来点高难度的挑战一下。”

卢子这种最好说话,要简单的就来简单的,要难的就来难的,转变只需一瞬间。

4.在筛选状态下,统计每个培训班的人数。

默认情况下,不管是SUMIF函数还是SUMPRODUCT函数,都是无法直接实现的。

而SUMPRODUCT函数因为可以结合其他函数,虽然难度很大,但依然可以解决问题。

=SUMPRODUCT(($A$2:$A$10=A14)*SUBTOTAL(103,OFFSET($A$1,ROW($1:$9),0))*$C$2:$C$10)

OFFSET函数就是依次获取每一行的数据,SUBTOTAL函数就是判断每一行是不是隐藏了,如果没有隐藏就显示1,否则显示0。

公式的魅力,在于函数之间的嵌套组合,从而产生无穷变化,将不可能变成可能。

推荐:VLOOKUP函数之魅

上篇:比大众情人VLOOKUP神奇10倍的函数

聊一下,哪件事看似不可能完成,最后你通过努力实现的?

作者:卢子,清华畅销书作者,《Excel效率手册 早做完,不加班》系列丛书创始人,个人公众号:Excel不加班(ID:Excelbujiaban)

(0)

相关推荐