當前位置:首頁 > 财經 > 正文

SUMPRODUCT函數自稱求和之王,SUMIFS不服氣要來PK

條條道路通羅馬。其實在Excel中,同一個問題也有很多種解決方法,比如條件求和。SUMIFS和SUMPRODUCT都能實現,區别在哪,哪個更好用?

将SUMPRODUCT函數的語法變形,求和區域移動到最前面。兩者的語法超級像。

=SUMIFS(求和區域,條件區域1,條件1,條件區域2,條件2)

=SUMPRODUCT(求和區域*(條件區域1=條件1)*(條件區域2=條件2))

下面通過具體案例進行詳細說明兩者的區别。

1、根據左邊的明細,統計部門的總金額

一般情況下,SUMIFS支持直接引用整列,而SUMPRODUCT隻能引用有内容的區域,因此前者的公式看起來更加簡潔。

=SUMIFS(E:E,B:B,G2)

=SUMPRODUCT($E$2:$E$12*($B$2:$B$12=G2))

特殊情況下,SUMPRODUCT也支持引用整列,不過不建議使用,太卡了。

2、根據左邊的明細,按部門、姓名統計總金額

條件越多,SUMIFS的簡潔越能體現。

=SUMIFS(E:E,B:B,G2,C:C,H2)
=SUMPRODUCT($E$2:$E$12*($B$2:$B$12=G2)*($C$2:$C$12=H2))

3、根據左邊的明細,按部門、姓氏統計總金額

姓氏就是每個姓名的首個字。


SUMIFS支持使用通配符,H2&"*"就代表首字符。SUMPRODUCT不支持通配符,隻能用LEFT從左邊提取字符。

=SUMIFS(E:E,B:B,G2,C:C,H2&"*")

=SUMPRODUCT($E$2:$E$12*($B$2:$B$12=G2)*(LEFT($C$2:$C$12,1)=H2))

4、根據左邊的明細,按部門、姓名簡稱統計總金額

經常可以遇到簡稱和全稱的查找,有的人為了貪圖方便,記錄内容都用簡稱。

SUMPRODUCT不支持通配符的弊端在這裡進一步體現,需要借助FIND判斷姓名簡稱有沒出現,FIND的結果還會出現錯誤值,還需要借助ISNUMBER判斷内容是不是數字,很麻煩。

=SUMIFS(E:E,B:B,G2,C:C,"*"&H2&"*")

=SUMPRODUCT($E$2:$E$12*($B$2:$B$12=G2)*ISNUMBER(FIND(H2,$C$2:$C$12)))

5、根據左邊的明細,統計每月的總金額

SUMIFS的條件區域不支持嵌套MONTH,隻能通過輔助列解決。

=MONTH(A2)


再根據輔助列進行條件求和。

=SUMIFS(E:E,F:F,G2)

而SUMPRODUCT每個參數都支持嵌套其他函數,因此不需要輔助列,這是優勢。

=SUMPRODUCT($E$2:$E$12*(MONTH($A$2:$A$12)=G2))

6、根據左邊的二維明細表,統計部門的總金額

SUMIFS不支持統計二維明細表,需要用輔助列對所有列先求和。

=SUM(B2:K2)


再根據輔助列進行條件求和。

=SUMIFS(L:L,A:A,M2)

而SUMPRODUCT不需要輔助列,這是優勢。

=SUMPRODUCT($B$2:$K$12*($A$2:$A$12=M2))

總結:在盧子眼中,如果隻是常規的條件求和,SUMIFS簡直就是無敵的存在。如果區域需要嵌套其他函數,以及二維數據源條件求和,SUMPRODUCT會更有優勢。

推薦:年輕人都在發EDG,而我卻在研究DGET的妙用。。。

上篇:萬般皆套路!Excel中讓你爽到爆的查找、求和套路

你還想看什麼函數PK?

作者:盧子,清華暢銷書作者,《Excel效率手冊 早做完,不加班》系列叢書創始人,個人公衆号:Excel不加班(ID:Excelbujiaban)

你可能想看:

有話要說...

取消
掃碼支持 支付碼