SUMPRODUCT 函數(shù)簡介
在今天的文章中,我們來討論一下 SUMPRODUCT 函數(shù)的幾種用法。SUMPRODUCT 是數(shù)據(jù)分析人員最喜愛的函數(shù)之一,特別是當需要解決在指定條件下計算諸如“多少”、“多久”、求和、求平均值此類的問題時。首先我們簡單介紹一下 SUMPRODUCT,然后再舉例說明其用法。
語法:
SUMPRODUCT 函數(shù)只有第一個參數(shù)是必須的,其它的均是可選參數(shù)。SUMPRODUCT 以具有相同大小的數(shù)組為參數(shù),將其相乘,并返回結果數(shù)組的和。數(shù)組大小必須一致,否則會報錯。其語法如下:
SUMPRODUCT ( array1, [array2], [array3], ...)
以上語法來自微軟的幫助文件,可以看吃上只有第一個數(shù)組是必須的,而其余的則是可選的(可選參數(shù)以方括號表示)。參數(shù)最多可達255個。
數(shù)據(jù)
我們用示例中的銷售數(shù)據(jù)來說明。示例數(shù)據(jù)共有6個字段,分別命名為 Item, Date, Qtty, Sales Person ID, Paid through, Sales Amt?,F(xiàn)在我們來說明 SUMPRODUCT 的各種用法。

示例:
使用 SUMPRODUCT 對某項進行求和:
對指定區(qū)域進行求和可能是 SUMPRODUCT 最簡單的用法。比如在上圖所示的數(shù)據(jù)中,我們可以用下面的公式對鉛筆的銷售數(shù)量進行求和:
=SUMPRODUCT((A2:A20="Pencil")*(C2:C20))
公式首先檢查 A2:A20 中的鉛筆項,形成由真值、假值(即1和0)組成的數(shù)組,然后分別與銷售數(shù)量對應的值相乘,再對最終數(shù)組進行求和即可得到鉛筆總的銷售數(shù)量。
小技巧:可以將公式中的固定引用替換如下所示的單元格引用。
=SUMPRODUCT((A2:A20=H3)*(C2:C20))
此處我們用單元格 H3 來替換 "Pencil"。
使用 SUMPRODUCT 對客戶代表的銷售數(shù)據(jù)進行求和
在示例數(shù)據(jù)中共有三個客戶代表,其 ID 分別為1,2,3. 我們可以用 SUMPRODUCT 對銷售數(shù)據(jù)進行匯總。所用公式如下:
=SUMPRODUCT((D2:D20=H4)*(C2:C20))
公式中第一對括號部分用于將客戶代表的 ID 與我們想要對其銷售數(shù)據(jù)匯總的客戶代表 ID 進行比較,這樣就得到一個 ID=3 布爾型的數(shù)組,然后將其與銷售數(shù)量的各個值分別相乘,最后再用 SUMPRODUCT 函數(shù)對其進行匯總。
在 SUMPRODUCT 中使用比較運算符(大于/小于/小于比較)
Excel 中的比較運算符如下表所示:

例如如果我們要求某個客戶代表銷售數(shù)量小于等于4的次數(shù)時,可以使用如下公式:
=SUMPRODUCT((D2:D20=H6)*(C2:C20<=4)*1)
此公式首先對 D2:D20 中的客戶代表 ID 進行檢查,符合條件時返回 TRUE,然后將銷售數(shù)量與用戶設定的條件進行比較(此處是小于等于4),小于等于的將返回 TRUE,再將這兩個數(shù)組分別相乘得到另一個布爾型數(shù)組,最后乘以1并求和后得到最終答案。
在 SUMPRODUCT 中使用比較運算符(不等于比較)
我們有時可能需要統(tǒng)計某個客戶代表除了鉛筆外其它項目的銷售數(shù)量,這時就要使用不等于運算符了("<>")。比如要統(tǒng)計客戶代表 1 除了削筆器外其它項目的銷售數(shù)量,就可以使用一下公式:
=SUMPRODUCT((A2:A20<>H8)*(D2:D20=1)*(C2:C20))
在公式的第一對括號中,我們使用了不等于運算符。它保證了只有當不等于所給條件(削筆器)的項目才返回 TRUE。第二個括號中的比較運算是確??蛻舸淼?ID 為1,這兩個數(shù)組的乘積與第三個數(shù)組中的數(shù)量相乘并求和得到所需結果。本例中,客戶代表 1 除了削筆器外其它項目的銷售數(shù)量是 44.
使用 SUMPRODUCT 查詢使用現(xiàn)金或者信用卡支付的次數(shù)
相似的公式可用于查詢交易是使用信用卡還是現(xiàn)金支付的。要用 SUMPRODUCT 查詢支付方式,需要對包含支付方式的單元格區(qū)域進行檢查。公式如下:
=SUMPRODUCT((E2:E20=H11)*(F2:F20))
公式中的第一對括號中用于檢查支付方式是否是信用卡,然后返回一個由 TRUE/FALSE 構成的數(shù)組,此數(shù)組與由銷售金額組成的數(shù)組中的對應值分別相乘得到另一個數(shù)組,對此數(shù)組求和得到最終結果。
利用 SUMPRODUCT 對某個月內的銷售數(shù)據(jù)進行統(tǒng)計
可以使用 Excel 中的 DAY 和 MONTH 函數(shù)對指定月份內的交易進行統(tǒng)計,當然也可以通過給定開始、結束日期的方式來統(tǒng)計。假設我們給定月份的開始日期,通過公式可以計算出此月的結束日期。
單元格 I15 中是月份的起始日期,在下個單元格中通過 EOMONTH() 計算出此月的結束日期。
=EOMONTH(I15,0)
在下個單元格中通過下列公式計算給定月份(起始、結束日期)的總交易金額:
=SUMPRODUCT((B2:B20>=I15)*(B2:B20<=I16)*(F2:F20))
公式中第一對括號用于計算大于當月起始日的區(qū)域,第二對括號用于計算小于或等于當月結束日期的區(qū)域,然后與銷售金額區(qū)域相乘即得到最終答案。

總結:
SUMPRODUCT 函數(shù)還有許多其它用法,請下載 示例 文件進行學習。