SUMPRODUCT 函數(shù)簡介
在今天的文章中砂代,我們來討論一下 SUMPRODUCT 函數(shù)的幾種用法。SUMPRODUCT 是數(shù)據(jù)分析人員最喜愛的函數(shù)之一,特別是當(dāng)需要解決在指定條件下計(jì)算諸如“多少”侄泽、“多久”、求和正勒、求平均值此類的問題時(shí)得院。首先我們簡單介紹一下 SUMPRODUCT,然后再舉例說明其用法章贞。
語法:
SUMPRODUCT 函數(shù)只有第一個(gè)參數(shù)是必須的祥绞,其它的均是可選參數(shù)。SUMPRODUCT 以具有相同大小的數(shù)組為參數(shù),將其相乘蜕径,并返回結(jié)果數(shù)組的和两踏。數(shù)組大小必須一致,否則會(huì)報(bào)錯(cuò)兜喻。其語法如下:
SUMPRODUCT ( array1, [array2], [array3], ...)
以上語法來自微軟的幫助文件梦染,可以看吃上只有第一個(gè)數(shù)組是必須的,而其余的則是可選的(可選參數(shù)以方括號(hào)表示)朴皆。參數(shù)最多可達(dá)255個(gè)帕识。
數(shù)據(jù)
我們用示例中的銷售數(shù)據(jù)來說明。示例數(shù)據(jù)共有6個(gè)字段遂铡,分別命名為 Item, Date, Qtty, Sales Person ID, Paid through, Sales Amt“沽疲現(xiàn)在我們來說明 SUMPRODUCT 的各種用法。
示例:
使用 SUMPRODUCT 對某項(xiàng)進(jìn)行求和:
對指定區(qū)域進(jìn)行求和可能是 SUMPRODUCT 最簡單的用法扒接。比如在上圖所示的數(shù)據(jù)中伪货,我們可以用下面的公式對鉛筆的銷售數(shù)量進(jìn)行求和:
=SUMPRODUCT((A2:A20="Pencil")*(C2:C20))
公式首先檢查 A2:A20 中的鉛筆項(xiàng),形成由真值钾怔、假值(即1和0)組成的數(shù)組碱呼,然后分別與銷售數(shù)量對應(yīng)的值相乘,再對最終數(shù)組進(jìn)行求和即可得到鉛筆總的銷售數(shù)量蒂教。
小技巧:可以將公式中的固定引用替換如下所示的單元格引用巍举。
=SUMPRODUCT((A2:A20=H3)*(C2:C20))
此處我們用單元格 H3 來替換 "Pencil"。
使用 SUMPRODUCT 對客戶代表的銷售數(shù)據(jù)進(jìn)行求和
在示例數(shù)據(jù)中共有三個(gè)客戶代表凝垛,其 ID 分別為1懊悯,2,3. 我們可以用 SUMPRODUCT 對銷售數(shù)據(jù)進(jìn)行匯總梦皮。所用公式如下:
=SUMPRODUCT((D2:D20=H4)*(C2:C20))
公式中第一對括號(hào)部分用于將客戶代表的 ID 與我們想要對其銷售數(shù)據(jù)匯總的客戶代表 ID 進(jìn)行比較炭分,這樣就得到一個(gè) ID=3 布爾型的數(shù)組,然后將其與銷售數(shù)量的各個(gè)值分別相乘剑肯,最后再用 SUMPRODUCT 函數(shù)對其進(jìn)行匯總捧毛。
在 SUMPRODUCT 中使用比較運(yùn)算符(大于/小于/小于比較)
Excel 中的比較運(yùn)算符如下表所示:
例如如果我們要求某個(gè)客戶代表銷售數(shù)量小于等于4的次數(shù)時(shí),可以使用如下公式:
=SUMPRODUCT((D2:D20=H6)*(C2:C20<=4)*1)
此公式首先對 D2:D20 中的客戶代表 ID 進(jìn)行檢查让网,符合條件時(shí)返回 TRUE呀忧,然后將銷售數(shù)量與用戶設(shè)定的條件進(jìn)行比較(此處是小于等于4),小于等于的將返回 TRUE溃睹,再將這兩個(gè)數(shù)組分別相乘得到另一個(gè)布爾型數(shù)組而账,最后乘以1并求和后得到最終答案。
在 SUMPRODUCT 中使用比較運(yùn)算符(不等于比較)
我們有時(shí)可能需要統(tǒng)計(jì)某個(gè)客戶代表除了鉛筆外其它項(xiàng)目的銷售數(shù)量因篇,這時(shí)就要使用不等于運(yùn)算符了("<>")泞辐。比如要統(tǒng)計(jì)客戶代表 1 除了削筆器外其它項(xiàng)目的銷售數(shù)量笔横,就可以使用一下公式:
=SUMPRODUCT((A2:A20<>H8)*(D2:D20=1)*(C2:C20))
在公式的第一對括號(hào)中,我們使用了不等于運(yùn)算符咐吼。它保證了只有當(dāng)不等于所給條件(削筆器)的項(xiàng)目才返回 TRUE吹缔。第二個(gè)括號(hào)中的比較運(yùn)算是確保客戶代表的 ID 為1锯茄,這兩個(gè)數(shù)組的乘積與第三個(gè)數(shù)組中的數(shù)量相乘并求和得到所需結(jié)果厢塘。本例中,客戶代表 1 除了削筆器外其它項(xiàng)目的銷售數(shù)量是 44.
使用 SUMPRODUCT 查詢使用現(xiàn)金或者信用卡支付的次數(shù)
相似的公式可用于查詢交易是使用信用卡還是現(xiàn)金支付的撇吞。要用 SUMPRODUCT 查詢支付方式俗冻,需要對包含支付方式的單元格區(qū)域進(jìn)行檢查。公式如下:
=SUMPRODUCT((E2:E20=H11)*(F2:F20))
公式中的第一對括號(hào)中用于檢查支付方式是否是信用卡牍颈,然后返回一個(gè)由 TRUE/FALSE 構(gòu)成的數(shù)組迄薄,此數(shù)組與由銷售金額組成的數(shù)組中的對應(yīng)值分別相乘得到另一個(gè)數(shù)組,對此數(shù)組求和得到最終結(jié)果煮岁。
利用 SUMPRODUCT 對某個(gè)月內(nèi)的銷售數(shù)據(jù)進(jìn)行統(tǒng)計(jì)
可以使用 Excel 中的 DAY 和 MONTH 函數(shù)對指定月份內(nèi)的交易進(jìn)行統(tǒng)計(jì)讥蔽,當(dāng)然也可以通過給定開始、結(jié)束日期的方式來統(tǒng)計(jì)画机。假設(shè)我們給定月份的開始日期冶伞,通過公式可以計(jì)算出此月的結(jié)束日期。
單元格 I15 中是月份的起始日期步氏,在下個(gè)單元格中通過 EOMONTH() 計(jì)算出此月的結(jié)束日期响禽。
=EOMONTH(I15,0)
在下個(gè)單元格中通過下列公式計(jì)算給定月份(起始、結(jié)束日期)的總交易金額:
=SUMPRODUCT((B2:B20>=I15)*(B2:B20<=I16)*(F2:F20))
公式中第一對括號(hào)用于計(jì)算大于當(dāng)月起始日的區(qū)域荚醒,第二對括號(hào)用于計(jì)算小于或等于當(dāng)月結(jié)束日期的區(qū)域芋类,然后與銷售金額區(qū)域相乘即得到最終答案。
總結(jié):
SUMPRODUCT 函數(shù)還有許多其它用法界阁,請下載 示例 文件進(jìn)行學(xué)習(xí)侯繁。