Excel函數學習之無所不能的SUMPRODUCT!
在之前的文章《Excel函數學習之神奇的AGGREGATE,竟可一個抵19個!在》中,我們了解了一個強大的統計函數。而今天我們來聊聊SUMPRODUCT函數,sumproduct函數可以得到兩列資料的乘積之和,但是在運用函數的過程中有非常多需要注意的地方,特別是運用上邏輯值和數組之後,下面我們一起來看看講解!
1、SUMPRODUCT的實質
要說SUMPRODUCT函數的話,真的非常簡單,就是得到兩列資料的乘積總和,我們用一個簡單的例子來說明函數的基本功能:
上圖是一個非常簡單的表格,要算出總價一般都是將單價*數量算出來再求和,結果如D8所示。如果使用了SUMPRODUCT函數的話,就可以直接利用單價和數量來計算總價,公式1為:=SUMPRODUCT(B2:B7,C2:C7),結果如D9所示。
在這個公式裡,使用了兩個參數,分別是單價區域(B2:B7)和數量區域(C2:C7),函數的作用就是將第一參數(單價)與第二參數(數量)中的資料對應相乘後再求和。
2、大多數錯誤的原因
很多朋友在使用這個函數的時候,常常會得到錯誤值,大多數是因為區域大小選擇不一致,例如下面這種情況,第一個參數有7個單元格而第二個參數只有6個單元格:
3、另一種常見寫法,逗號變乘號(*)
就這個例子來說,還有一種寫法更為常見,公式是這樣的:=SUMPRODUCT(B2:B7*C2:C7)4、逗號和乘號(*)的差別
雖然只是將第一個公式裡的逗號變成了乘號(*),但是公式的意義改變了。第一個公式(SUMPRODUCT(B2:B7,C2:C7))有兩個參數,而第二個公式(B2:B7*C2:C7)則是參數。 (判斷有幾個參數要看是不是有逗號去分隔開。)第一個公式中,兩個區域相乘這一步是由函數來完成的,函數做了兩件事,先讓兩個區域的資料對應相乘,再把積相加。在第二個公式中,兩個區域相乘是由陣列計算來完成的,函數只做了一件事,就是把乘積值相加。 意義的改變有何影響呢? 我們還是透過範例來看:5、SUMPRODUCT用乘號(*)的要點
以上內容所要表達的意思有兩點:
第一,使用逗號和使用*號有時候結果相同,但是意義完全不一樣,希望大家可以理解。
第二,SUMPRODUCT函數使用乘號(*)必須注意兩點:第一,不能存在無法計算的內容,如文字;第二,如果是兩組或多組數組相乘的話,數據區域大小一致。用逗號則只需要保證資料區域大小一致即可。
6、其實乘號還帶來了更大優勢
#我們把SUMPRODUCT函數逗號、乘號前後的資料用A、 B來代替,表達為SUMPRODUCT(A,B)和SUMPRODUCT(A*B)。當為逗號時,A、B必須同時都是數值或數組,不能一個是數值,一個是數組;當為乘號時,A、B可以同時都是數值或是數組,也可以一個是數值一個是數組。
也就是:
逗號, |
乘號* |
||
SUMPRODUCT(C1,B1) |
√ |
||
SUMPRODUCT(C1*B1) |
√ ################SUMPRODUCT######(C1:C9,D1:D9)### ###############√###### |
求和(C1:C9*D1:D9) |
√ |
##求和(C1:D9,F1:G9) | ##√ |
SUM乘積(C1:D9*F1:G9) | ##√ |
#SUMProduct(C1:C9, D1) |
##×
|
#SUMProduct (C1:C9* D1) |
√
|
求和(C1:D9,F1) |
# × |
求和(C1:D9*F1) |
因此,用乘號擴大了SUMPRODUCT函數的應用。你即將在下面看到的都是SUMPRODUCT函數用乘號的應用。
7、看懂這些SUMPRODUCT公式嗎?
如果明白了上面的內容,表示對於這個函數的基本用法是沒問題了。可是很可能很多SUMPRODUCT公式你還是看不懂,比如這種:
#這其實是一個條件數的問題,再看這個:
這是一個多條件求和的問題,還有這個:
#在這個表裡,幾乎各種統計問題都可以用SUMPRODUCT函數去解決,不再一一舉例。光是上面列出的三個公式,都能看懂的朋友可能就不多了。
為什麼已經理解了SUMPRODUCT函數的用法,卻還看不懂這些公式呢,更別說自己去用公式來解決問題了。原因就是你還不了解這兩個知識點:邏輯值和陣列。
8、了解一點邏輯值和陣列
#先來說說邏輯值,邏輯值只有兩個,就是TRUE和FALSE。當我們在公式裡進行某種比較或判斷的時候,就會產生邏輯值,以SUMPRODUCT((I2:I22="張三")*1) 為例,其中的(I2:I22="張三" )就是一個判斷。通常情況下,我們是以單元格去做判斷,I2 ="張三"的意思就是判斷I2單元格內容是否為"張三",如果是則得到TRUE,反之得到FALSE。當我們使用了一個區域去判斷的時候,就會得到一組數據,這其實就是一個陣列了。例如I2:I22="張三"就會得到一組邏輯值,可以用F9來看看計算結果:
如果有興趣的話可以逐一對比銷售員和結果值,會發現張三對應的都是TRUE。
因為邏輯值無法直接進行求和,必須轉換為數字才行,轉換的方法就是對邏輯值進行加減乘除之一的任何運算即可。在這個公式中,*1就是這個作用,可以看看效果:
透過*1運算之後,TRUE都變成了1,而FALSE都變成了0。不要問我為什麼,Excel就是這麼規定的,邏輯值跟數字的對應關係就是這個。
好了,我們先得到一組邏輯值,然後透過*1變成一組數字,再進行求和,就達到了按條件計數的目的。你現在是否已經理解了=SUMPRODUCT((I2:I22="張三")*1)這個公式呢?
現在我們了解到邏輯值,也明白了陣列運算的第一個原則:當一組數與一個數進行計算時,是這組數中的每個資料分別與這一個數進行計算。剛才的公式中就是這樣計算的。
9、不論SUMPRODUCT公式多複雜,全看懂!
咱們再來看看第二個公式:=SUMPRODUCT((MONTH(F2:F22)=3)*(H2:H22="二分店")*( G2:G22="襯衫")*J2:J22)
。
不要看這個公式長,利用我們剛才學到的知識來破解它的話其實很簡單。公式還是只有一個參數,只不過這個參數是由四個陣列構成的,其中的三組都是邏輯值,分別是(MONTH(F2:F22)=3)、(H2:H22="二分店")和(G2:G22="襯衫")。這三組邏輯值完成三個判斷,分別對應了三個條件:月份=3、店面=二分店和名稱=襯衫。具體內容如圖所示:
看起來密密麻麻的,但是經過了乘法運算以後,就變成了一堆1和0,結果是這樣的:
乘積結果只有兩個1,其實對應了三月份二分店襯衫這兩條數據。此時的公式變成了一組邏輯值(已經是0和1了)與一組資料(數量)相乘,再由函數完成求和。
在這個例子中,需要注意數組計算的第二個原則:當多個(含兩個)數組計算時(本例是四個數組),數組中對應位置的資料進行計算,要求數組中包含的資料個數相同。
到現在我們已經了解到數組計算的兩個原則,現舉個簡單的例子來說明:
一個數組(A1:A9)與一個數據(B1)相乘時,是這組數分別與這個資料相乘;
#兩個陣列(A1:A9和B1:B9)相乘時,是第一組數與第二組數對應位置的資料相乘。
現在回頭來看這個公式=SUMPRODUCT((MONTH(F2:F22)=3)*(H2:H22="二分店")*(G2:G22="襯衫")* J2:J22)
,應該沒那麼頭痛了吧。
其實陣列的計算原則還有更複雜的情況,有興趣的朋友可以看看相關的資料,這裡了解簡單原理即可。再來看看第三個公式:=SUMPRODUCT((H2:H22=H2)*(G2:G22={"毛衣","襯衫"})*L2:L22)
。這個公式看上去跟前面兩個有點差別,(G2:G22={"毛衣","襯衫"})
這部分用到了常數數組,其實這個公式本來應該是這樣寫的:=SUMPRODUCT((H2:H22=H2)*(G2:G22="毛衣")*L2:L22) SUMPRODUCT((H2:H22=H2)*(G2:G22="襯衫")*L2:L22 )
。
這個公式用到了兩個SUMPRODUCT函數,第一個是計算總店毛衣的銷售額,第二個是計算總店襯衫的銷售額,分別看應該每個都能理解。兩個SUMPRODUCT函數除了"毛衣"和"襯衫"這裡不同,其他的完全一樣,遇到這種情況,就可以用常數數組把兩個內容放到一起,使公式變得簡潔。
透過今天的講解,我們讀懂了常見的SUMPRODUCT公式,解決了SUMPRODUCT函數運用乘號的困惑,掌握了SUMPRODUCT函數更多的應用。同時,我們也了解到邏輯值和陣列的一些基礎知識——這對我們理解其他的複雜公式有幫助。
相關學習推薦:excel教學
以上是Excel函數學習之無所不能的SUMPRODUCT!的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

如果在開啟一份需要列印的文件時,在列印預覽裡我們會發現表格框線不知為何消失不見了,遇到這樣的情況,我們就要及時進行處理,如果你的列印文件裡也出現了此類的問題,那麼就和小編一起來學習下邊的課程吧:excel列印表格框線消失怎麼辦? 1.開啟一份需要列印的文件,如下圖所示。 2、選取所有需要的內容區域,如下圖所示。 3、按滑鼠右鍵,選擇「設定儲存格格式」選項,如下圖所示。 4、點選視窗上方的「邊框」選項,如下圖所示。 5、在左側的線條樣式中選擇細實線圖樣,如下圖所示。 6、選擇“外邊框”

在日常辦公中經常使用Excel來處理數據,時常遇到需要使用「篩選」功能。當我們在Excel中選擇執行「篩選」時,對於同一列而言,最多只能篩選兩個條件,那麼,你知道excel同時篩選3個以上關鍵字該怎麼操作嗎?接下來,就請小編為大家示範一次。第一種方法是將條件逐步加入篩選器。如果要同時篩選出三個符合條件的明細,首先需要逐步篩選出其中一個。開始時,可以先依照條件篩選出姓「王」的員工。然後按一下【確定】,接著在篩選結果中勾選【將目前所選內容新增至篩選器】。操作步驟如下圖所示。 同樣,再次分別執行篩選

在我們日常的工作學習中,從他人處拷貝了Excel文件,打開進行內容添加或重新編輯後,再保存的有時候,有時會提示出現兼容性檢查的對話框,非常的麻煩,不知道Excel軟體,可不可改為正常模式呢?那麼下面就由小編為大家帶來解決這個問題的詳細步驟,讓我們一起來學習吧。最後一定記得收藏保存。 1.開啟一個工作表,在工作表的名稱中顯示多出來一個相容模式,如圖所示。 2.在這個工作表中,進行了內容的修改後保存,結果總是彈出兼容檢查器的對話框,很麻煩看見這個頁面,如圖所示。 3、點選Office按鈕,點另存為,然

e我們常常會用excel來製作一些資料表之類的,有時在輸入參數數值時需要對某個數字進行上標或下標,例如數學公式就會常用到,那麼excel下標怎麼打出來呢?我們一起來看看詳細操作步驟:一、上標方法:1、先Excel中輸入a3(3為上標)。 2、選取數字“3”,右鍵選擇“設定儲存格格式”。 3、點選“上標”,然後“確定”即可。 4、看,效果就是這樣的。二、下標方法:1、與上標設定方法類似,在儲存格中輸入“ln310”(3為下標),選取數字“3”,並右鍵選擇“設定儲存格格式”。 2、勾選“下標”,點選“確定

在處理資料時,有時我們會遇到資料包含了倍數、溫度等等各種符號的時候,你知道excel上標應該如何設定嗎?我們在使用excel處理資料時,如果不會設定上標,這可是會讓我們的許多資料在輸入時就會比較麻煩。今天小編就為大家帶來了excel上標的具體設定方法。 1.首先,讓我們打開桌面上的MicrosoftOfficeExcel文檔,選擇需要修改為上標的文字,具體如圖所示。 2.然後,點擊右鍵,點擊後出現的選單中,選擇「設定儲存格格式」選項,具體如圖所示。 3.接下來,在系統自動彈出的「儲存格格式」對話框

大部分使用者使用Excel都是用來處理表格資料的,其實Excel還有vba程式編寫,這個除了專人士應該沒有多少使用者用過此功能,在vba編寫時常常會用到iif函數,它其實跟if函數的功能差不多,下面小編跟大家介紹下iif函數的用法。 Excel中SQL語句和VBA程式碼中都有iif函數。 iif函數和excel工作表中的IF函數用法相似,執行真假值判斷,根據邏輯計算的真假值,傳回不同結果。 IF函數用法是(條件,是,否)。 VBA中的IF語句和IIF函數,前者IF語句是控制語句可以依照條件執行不同的語句,後者

在軟體的學習中,我們習慣用excel,不僅是因為需要方便,更因為它可以滿足多種實際工作中需要的格式,而且excel運用起來非常的靈活,有種模式是方便閱讀的,今天帶給大家的就是:excel閱讀模式在哪裡設定。 1.開啟電腦,然後再開啟Excel應用,找到目標資料。 2.要想在Excel中,設定閱讀模式,有兩種方式。第一種:Excel中,有大量的便利處理方式,分佈在Excel中佈局中。在Excel的右下角,有設定閱讀模式的快捷方式,找到十字標誌的圖案,點擊即可進入閱讀模式,在十字標誌的右邊有一個小的三

1.開啟PPT,翻頁至需要插入excel圖示的頁面。點選插入選項卡。 2、點選【對象】。 3、跳出以下對話框。 4.點選【由檔案建立】,點選【瀏覽】。 5、選擇需要插入的excel表格。 6.點選確定後跳出如下頁面。 7.勾選【顯示為圖示】。 8.點選確定即可。
