當前位置: 妍妍網 > 辦公

SUMPRODUCT,這個函式還不錯

2024-02-24辦公

哈嘍,表親們早上好,我是星光,咱們又見面了。

今天和大家分享一個名字拖沓,但是套用非常廣泛的函式——SUMPRODUCT。

開門見山,咱們透過幾個例子,一起來看下SUMPRODUCT具體能幹什麽樣的工作。

假設上面這張圖,是某個公司薪資發放的部份記錄表,A列是薪資發放的時間,B列是員工所屬的部門,C列是員工姓名,D列是相關員工領取的薪資金額。

那麽,問題來了:

一,西門先生領取了幾次薪資?

這是一個單條件計數的問題,通常我們使用COUNTIF函式,如果使用SUMPRODUCT函式,一般寫成這樣:

=SUMPRODUCT((C2:C13="西門慶")*1)

先判斷C2:C13的值是否等於」西門慶」,相等則返回TRUE,不等則返回FALSE,由此建立一個有邏輯值構成的記憶體陣列。

SUMPRODUCT有一個特性,它會將非數值型的陣列元素作為0處理,邏輯值自然是屬於非數值型的陣列元素,我們使用*1的方式,把邏輯值轉化為數值,TRUE轉化為1,FALSE轉化為0,最後統計求和。

二,西門先生一共領取了多少薪資?

這是一個單條件求和的問題,通常我們使用SUMIF函式,如果使用SUMPRODUCT函式,我們可以寫成這樣:

=SUMPRODUCT((C2:C13="西門慶")*D2:D13)

依然首先判斷C2:C13的值是否等於」西門慶」,得到邏輯值FALSE或TRUE,再和D2:D13的值對應相乘,最後統計求和得出結果。

看完了上面兩個問題,有些表親心裏就嘀咕了,貌似SUMPRODUCT能幹的事,SUMIF和COUNTIF也能做到,而且做的更好,那麽還要SUMPRODUCT幹啥?

鄉親們吶,話不能這麽說,SUMPRODUCT可以說是上得廳堂下得廚房,迷住過西門慶,暗戀過武二郎。對工作環境不挑不揀,它對參數型別沒有啥特別要求,COUNTIF和SUMIF就不同咧,他倆要求個別參數,必須是單元格的區域,比如下面這兩個問題,COUNTIF和SUMIF就犯難了。

三,3月份財務部發放了幾次薪資?

3月份財務部發放了幾次薪資,這是一個多條件計數的問題哈:

第一個條件,發放薪資的時間必須是3月份;

第二個條件,發放薪資的部門必須是財務部。

如果使用多條件計數函式COUNTIFS,判斷發放薪資的時間是否屬於3月份,會簡單問題復混成。

而使用SUMPRODUCT函式,咱們可以簡單利索的寫成這樣:

=SUMPRODUCT((MONTH(A2:A13)=3)*(B2:B13="財務部"))

四、統計3月份財務部發放了多少薪資?

表親們都曉得,這是一個常見的多條件求和問題。如果使用SUMIFS函式,判斷發放薪資的時間是否屬於3月份,和COUNTIFS類似,也會簡單問題復混成。

SUMPRODUCT躍然而至:

=SUMPRODUCT((MONTH(A2:A13)=3)*(B2:B13="財務部"),D2:D13)

上面這個公式可以說是SUMPRODUCT多條件求和的典型用法啦,可以歸納為:

=SUMPRODUCT((條件一)*(條件二)……,求和區域)

五,3月份財務部和市場部合計發放了多少薪資?

透過上面的問題,小夥伴們已經曉得如何計算3月份財務部發了多少薪資,那麽3月份財務部和市場部合計發了多少薪資,又當怎麽計算呢?

我們可以寫成這樣:

=SUMPRODUCT((MONTH(A2:A13)=3)*(B2:B13={"財務部","市場部"})*D2:D13)

好吧,嘮嘮叨叨說了這麽多,是到了該結束的時候啦。 我是男神,我是星光,僅以此文獻給我已逝去的青澀小時光,以及時光裏的某個人……

練手檔: http://caiyun.feixin.10086.cn/dl/1B5CvauiakGMa

提取碼: e5Ag

圖文作者:看見星光