Excel指定條件求和的方法(Excel如何滿足多個條件求和)
夥伴們好啊,今天咱們說說按條件求和的問題。
如下圖,是一份模擬的銷售記錄,要根據指定的品類,計算出總利潤:
方法一:
=SUMIF(A2:A9,G2,D2:D9)
SUMIF的作用是根據指定的條件來求和,第一引數是條件區域,第二引數是指定的條件,第三引數是求和區域。
如果A2:A9單元格中的品類等於G2單元格的內容,就對D2:D9區域中對應的單元格求和。
方法二:
=SUMIFS(D2:D9,A2:A9,G2)
SUMIFS的作用是根據指定的一個或多個條件來求和。
第一引數是求和區域,後面的引數兩兩一對,分別是對應的求和區域和求和條件。當所有條件區域都符合指定的條件時,就對求和區域中對應的單元格求和。
方法三:
=SUMPRODUCT((A2:A9=G2)*D2:D9)
SUMPRODUCT的作用是將兩組數對應相乘,然後計算乘積之和。
本例中,先使用(A2:A9=G2)判斷A列是否等於指定的條件,得到一組邏輯值TRUE或FALSE構成的記憶體陣列。
然後再使用這個記憶體陣列與D2:D9中的數值對應相乘,如果記憶體陣列中的某個元素是TRUE,與D列相乘後仍然是D列的原有數值,否則相乘後是0。
最後使用SUMPRODUCT將各個計算結果求和。
方法四:
輸入以下陣列公式,按住Shift Ctrl不放,按回車:
=SUM(IF(A2:A9=G2,D2:D9))
輸入時注意不要輸入最外層的花括號。
公式中的IF(A2:A9=G2,D2:D9)部分,先使用IF函式對A列的內容與G2進行比較判斷,得到一個記憶體陣列結果。如果相同則返回D列對應的數值,否則返回邏輯值FALSE。
最後使用SUM函式,忽略記憶體陣列中的邏輯值進行求和。
方法五:
=DSUM(A1:E9,H1,G1:G2)
DSUM函式用於返回資料庫的某列中,滿足指定條件的數字之和。計算過程類似高階篩選。
第一引數是構成資料庫的單元格區域。
第二引數用於指定要返回哪一列的資料,可以是與資料庫區域中相同的列標題,也可以用數字來表示第幾列。
第三引數是一組包含給定條件的單元格區域。需要包含一個和資料庫區域中相同的列標題以及用於設定條件的單元格。
這個函式的運算效率比較低,大家僅作了解即可。
方法六:
如果你使用的是Excel 2021或者是Office365,還可以使用下面這個公式。
=SUM(FILTER(D2:D9,A2:A9=G2))
先使用FILTER函式篩選出所有符合條件的毛利潤,再用SUM函式求和。
方法七:
李祕書,你來一下……
好了,今天的內容就是這些吧,祝各位一天好心情!
圖文製作:祝洪忠