今天帶大家來認識一個看起來簡單但又複雜的函數:SUMPRODUCT。
了解SUMPRODUCT的實質SUMPRODUCT函數的用法非常簡單,就是得到兩列數據的乘積之和,先用一個簡單的例子來說明函數的基本功能:
上圖是一個非常簡單的表格,要算出總價一般都是将單價*數量算出來再求和,結果如D8所示。如果使用了SUMPRODUCT函數的話,就可以直接利用單價和數量計算出總價,公式1為:=SUMPRODUCT(B2:B7,C2:C7),結果如D9所示。
在這個公式裡,使用了兩個參數,分别是單價區域(B2:B7)和數量區域(C2:C7),函數的作用就是将第一參數(單價)與第二參數(數量)中的數據對應相乘後再求和。
錯誤使用:
(1)使用該函數時,需要保證區域大小的選擇一緻,否則可能會得到錯誤的返回值
該實例說明區域選擇不一緻
(2)将公式中的逗号變成了星号
即将公式中的=SUMPRODUCT(B2:B7,C2:C7)寫成了=SUMPRODUCT(B2:B7*C2:C7)
該圖顯示的是兩個不同的公式得出相同的結果
但其實二者要想保證其結果一緻是需要一定的前置條件限制,具體且看二者差異:
(1)公式(SUMPRODUCT(B2:B7,C2:C7))有兩個參數;而第二個公式(B2:B7*C2:C7)是一個參數。(以逗号區分公式的參數個數)
(2)公式(SUMPRODUCT(B2:B7,C2:C7))的兩個區域相乘是由函數完成,即先讓兩個區域的數據對應相乘,再把相乘的結果進行相加;第二個公式(B2:B7*C2:C7)兩個區域的相乘是由數組計算來完成,函數隻需将乘積值相加
(3)公式(SUMPRODUCT(B1:B7,C1:C7))中的逗号(,)首先讓兩組數據對應相乘,相乘的時候會檢查數據并把非數值型數據作為0處理,然後在把乘積相加。因此,B1“單價”和C1“數量”會當成0來處理,公式可以得到正确結果。
當把公式中的逗号換成*号之後,公式結果就會顯示錯誤,其主要原因在于SUMPRODUCT函數在該公式中職負責将乘積的結果相加,參數B1:B7*C1:C7是數組乘法運算,因計算的區域中包含了文字,而文字不可進行乘法運算,故此數組的計算結果裡就有錯誤值了。
SUMPRODUCT用乘号(*)的要點
(1)不能存在無法計算的内容,例如文字、特殊符号等
(2)如果兩組或者多組數組進行相乘計算的話,需要保證數據區域的大小一緻
SUMPRODUCT用乘号(*)的優勢
(1)當公式中為逗号時,則區域中的内容必須同時為數值或者數組,不能一個為數值,另一個為數組
(2)當公式中為*号時,區域内容可同時為數值或數組,也可一個為數組,另一個為數值
了解邏輯值和數組,靈活運用SUMPRODUCT函數
(1)邏輯值:邏輯值隻有兩個,就是TRUE和FALSE。當我們在公式裡進行某種比較或者判斷的時候,就會産生邏輯值
以SUMPRODUCT((I2:I22="張三")*1) 為例,其中的(I2:I22="張三")就是一個判斷,如圖
通常情況下,我們是以單元格去做判斷,I2 ="張三"的意思就是判斷I2單元格内容是否為"張三",如果是則得到TRUE,反之得到FALSE。
(2)數組:當我們使用了一個區域去判斷的時候,就會得到一組數據,這其實就是一個數組了。例如I2:I22="張三"就會得到一組邏輯值。
由于邏輯值無法直接進行求和,必須轉換為數字才行,轉換的方法是對邏輯值進行加減乘除之一的任何運算即可,故在該公式中*1
通過*1運算後TRUE就變成了1,而FALSE就變成了0
有關SUMPRODUCT函數的靈活用法還有很多,隻要掌握了核心的用法技巧,都可以進行靈活的使用。
關于此函數的講解就暫時到這裡,如果感覺有用,分享給更多的小夥伴哦
關注公衆号:螞蟻都是光腳丫,分享學習幹貨,聊生活,聊情感,等待有趣的靈魂,期盼遇見你~
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!