sumif函數的所有用法基本都說完了,實際上它就是個單條件求和函數。今天就對條件求和的方法做個總結比較。
-01-
單條件求和
1.求竹葉粽的總數量。
這是個單條件求和的問題,最簡單的方法就是用sumif函數,在D2單元格中輸入公式=SUMIF(A2:A9,"竹葉粽",B2:B9)。
還可以用其他方法,比如sum和if函數的結合,在D3單元格輸入公式=SUM(IF(A2:A9="竹葉粽",B2:B9)),由于是數組公式,要按ctrl+shift+enter。先用if函數進行判斷,如果A列是竹葉粽,就返回B列對應的數量,最后用sum求和。
可以看到sumif函數和sum,if函數的公式有點像。區別就是一個是數組公式,一個不是數組公式。
還可以用sum函數來完成,在D4單元格輸入公式=SUM((A2:A9="竹葉粽")*B2:B9),按ctrl+shift+enter。這個公式里也是有條件判斷的,A2:A9="竹葉粽"這部分就是條件判斷。
還可以用sumproduct,在D5單元格輸入公式=SUMPRODUCT((A2:A9="竹葉粽")*B2:B9),由于sumproduct支持內存數組,可以不用按ctrl+shift+enter。sumproduct這個函數也很有用,如果你對它感興趣,可以點下面的鏈接查看。
-02-
多條件或的關系求和
2.求小于20或大于40的數量的總和。
這是個多條件或的關系,可以用sumif的數組用法來完成。在D13單元格輸入公式=SUM(SUMIF(B13:B20,{"<20",">40"})),由于sumif的第2參數是一個數組,那么sumif返回的結果也是一個數組,最后用sum求和。
還可以用+來完成,在D14單元格中輸入公式=SUM(((B13:B20<20)+(B13:B20>40))*B13:B20),按ctrl+shift+enter。
同樣地,用sum和if的結合來完成,在D15單元格中輸入公式=SUM(IF((B13:B20<20)+(B13:B20>40),B13:B20)),按ctrl+shift+enter。
還可以用if的數組和嵌套用法來完成,在D16單元格輸入公式=SUM(IF(B13:B20<20,B13:B20,IF(B13:B20>40,B13:B20))),按ctrl+shift+enter。
用sumproduct來完成,在D17單元格輸入公式=SUMPRODUCT((B13:B20<20)+(B13:B20>40),B13:B20)。
由于這里的公式含義之前都說過了,就不再詳細說明了,如果你不明白可以看之前的文章。
總結,關于條件求和的方法基本有下面幾種:
sumif或sumifs,優點是支持通配符,缺點是不支持數組,而且有些情況不是我們想要的結果
sum和if的結合使用,要用到數組,要按ctrl+shift+enter,數據量大會卡頓
sum,比sum和if結合使用的公式短一點,也要用到數組
sumproduct,優點是支持內存數組,不用按ctrl+shift+enter。
當然,中間少不了+和*的使用,希望對你有所幫助。
文件鏈接:
https://pan.baidu.com/s/1ttZ_2T7zOX1OcGTKKVmd4w
提取碼:ngmq