HI,大家好,我是星光。
趁著周末沒人,給大家分享一下Excel函數中有哪些常用的多條件求和套路。
我舉個案例。
如下圖所示,A:D是數據源,A列是單位,B列是年齡,D列是工資。需要在G4:G7區域,統計符合兩個條件,也就是F3:F7指定的單位和G1單元格指定的年齡的工資合計值。
……話說前段時間給大家分享了Excel有哪些可以進行單條件求和的函數,不知道大家是否還記得:
除了SUMIF之外,還有哪些函數可以執行條件求和?
多條件求和與單條件求和本質上並沒有什麼不同,不就是多了個條件嘛。10W塊是嫁妝,20W塊就不是嫁妝了?從某種角度看,那必須都得是嫁妝,未來泉州老丈人,你說是不是?
在單條件求和的教程裡,我們分享了以下幾種函數的解法。
SUM/SUMIFS/SUMPRODUCT/MMULT和FILTER等
這些函數也都可以用於多條件求和▼
解法1:SUMIFS函數 ▼
=SUMIFS(D:D,A:A,F4,B:B,$G$1)
D:D是求和區域;A:A是第1個條件區間,條件值是F4;B:B是第2個條件區間,條件值是$G$1。由於年齡的條件是固定的,所以$G$1需要絕對引用。
解法2:SUM函數 ▼
=SUM(($A$2:$A$19=F4)*($B$2:$B$19=$G$1)*$D$2:$D$19)
這是一條數組公式,如果你的Excel版本不是365,需要按數組三鍵<Ctrl+Shift+Enter>結束公式輸入。
如果你不想按數組三鍵,想讓公式自動執行數組運算,可以換用SUMPRODUCT函數。
解法3:SUMPRODUCT函數 ▼
=SUMPRODUCT(($A$2:$A$19=F4)*($B$2:$B$19=$G$1)*$D$2:$D$19)
又或者將求和區域單獨拆為參數:
解法4:SUMPRODUCT函數 ▼
=SUMPRODUCT(($A$2:$A$19=F4)*($B$2:$B$19=$G$1),$D$2:$D$19)
關於解法2、3、4三則之間的計算過程和異同,可以參考教程:
聽說有人靠這一個函數打下了Excel半壁江山?
……
再給大家貼兩個不常用的解法套路。
一個是365版本的FILTER函數:
解法5:FILTER函數 ▼
=SUM(FILTER($D$2:$D$19,$A$2:$A$19&$B$2:$B$19=F4&$G$1,0))
$A$2:$A$19&$B$2:$B$19部分,將單位和年齡兩列數據合併為一列。F4&$G$1部分,把條件單位和年齡合併為一個文本值,然後判斷兩者是否相等。如果相等,則篩選D列的數據。
FILTER第3參數為0,表示如果一條符合條件的結果都沒找到,就返回0.
最後使用SUM函數求和。
關於該函數的完整教程可以參考▼
它才是365新函數系列的核心,而不是XLOOKUP……
……
另外一個是函數中的高冷大師MMULT:
解法6:MMULT函數 ▼
=MMULT((TRANSPOSE(A2:A19&B2:B19)=F4:F7&G1)*1,D2:D19)
A2:A19&B2:B19,將單位和年齡兩列數據合併為一列,然後用TRANSPOSE轉換為一行。F4:F7&G1,將所需要查詢的單位和年齡合併為一列。行列相乘,按照數組運算規則,返回一個由邏輯值構成的二維數組區間。再藉助MMULT函數的特性,和D2:D19矩陣預算,壓縮為一列結果。
……
沒了,今天給大家分享的內容就這樣,打完收工,下期再見。
案例文件下載百度網盤..▼