上期我們已經(jīng)講了Sumproduct函數(shù)的多條件查找與求和,單條件求和與查找,其實(shí)Sumproduct函數(shù)功能十分強(qiáng)大。今天讓我們繼續(xù)學(xué)習(xí)Sumproduct函數(shù)的進(jìn)階應(yīng)用。
首先讓我們回顧下Sumproduct函數(shù)的語法和注意事項(xiàng):
語法:Sumproduct(array1,array2,array3, ...)Array1, array2, array3, ... 為 2 到 255 個(gè)數(shù)組,其相應(yīng)元素需要進(jìn)行相乘并求和。
數(shù)組參數(shù)必須具有相同的維數(shù),否則,函數(shù) Sumproduct 將返回錯(cuò)誤值 #VALUE!。
特別提醒:Sumproduct函數(shù)的計(jì)算區(qū)域不采用一整列計(jì)算,一般是采用單元格區(qū)域,比如A1:A100,而不采用A:A。
函數(shù) Sumproduct 將非數(shù)值型的數(shù)組元素作為 0 處理。
一、 數(shù)組求和
Sumproduct函數(shù)支持?jǐn)?shù)組求和。前幾期我曾說過sum函數(shù)的應(yīng)用,當(dāng)sum函數(shù)對(duì)數(shù)組求和時(shí),必須按ctrl enter shift組合鍵,數(shù)組公式才能生效。Sumproduct函數(shù)不要按三鍵求和,寫完公式后直接按enter就能對(duì)數(shù)組公式進(jìn)行求和。
上圖為某水果店報(bào)表,請問總價(jià)是多少?
思路:如果按常規(guī)方法做,先求出每種水果的總價(jià),最后再累加得出水果總價(jià)。如果水果很多的話,這種方法既耗時(shí)費(fèi)力,又容易出錯(cuò)。經(jīng)觀察,我們發(fā)現(xiàn),各種水果單價(jià)和數(shù)量相乘,最后再累加即可得到總價(jià)。我們可以采用Sumproduct函數(shù)數(shù)組公式來進(jìn)行求和。
公式
=Sumproduct(B2:B8*C2:C8)
公式解讀:B2*C2 B3*C3 …B8*C8。
該公式為數(shù)組公式,Sumproduct函數(shù)支持?jǐn)?shù)組運(yùn)算,因此不用按ctrl enter shift組合鍵,就能得到結(jié)果。
二、 Sumproduct函數(shù)二維區(qū)域求和
上表為某公司一季度業(yè)績表,請問各部門一季度各月累計(jì)業(yè)績多少?
思路:經(jīng)觀察,我們發(fā)現(xiàn)匯總表為二維區(qū)域表。一個(gè)單元格對(duì)應(yīng)兩個(gè)字段,就是二維表。在右表中,F(xiàn)2單元格對(duì)應(yīng)兩個(gè)字段,一個(gè)字段是部門,一個(gè)是時(shí)間。我們可以用Sumproduct函數(shù)的多條件求和。
公式
=Sumproduct(($A$2:$A$11=F$1)*($B$2:$B$11=$E2),$C$2:$C$11)
公式解讀:Sumproduct函數(shù)的參數(shù)必須維度一致,A2:A11, B2:B11, C2:C11的維度一致。我們構(gòu)造公式要滿足兩個(gè)條件,一個(gè)是部門名字,一個(gè)是時(shí)間。F$1是混合引用,當(dāng)我們把公式進(jìn)行右拉和下拉,其列號(hào)會(huì)發(fā)生變化,而行號(hào)被固定住。$E2道理也一樣。如果不理解,可以參看本訂閱號(hào)歷史文章:引用的切換和智能匹配。該公式進(jìn)行左右上下拖動(dòng)后會(huì)自動(dòng)進(jìn)行匹配,不用調(diào)整參數(shù)。
二維區(qū)域的引用快捷思路:
經(jīng)觀察,右表中單元格兩個(gè)字段條件的規(guī)律如下:
F2=F1*E1,F3=F1*E2,
G2=G1*E2,G3= G1*E2。
對(duì)于部門來說,行號(hào)1沒有發(fā)生變化,而列號(hào)發(fā)生變化,因此我們可以用混合引用F$1來表示。同理對(duì)于月度來說,列號(hào)不變,行號(hào)發(fā)生變化,我們可以用$E1來表示。綜合起來就是F$1*$E1。
三、 Sumproduct函數(shù)模糊求和
上圖為某公司一季度業(yè)務(wù)表,請問青春部一月累計(jì)業(yè)績多少?
思路:在A列中有青春1部,青春2部.也就是說部門中只要含有青春二字,求其一月累計(jì)業(yè)績。
公式
=Sumproduct(ISNUMBER(FIND('青春',A2:A11))*(B2:B11=F2),C2:C11)
公式解讀:
Find函數(shù)用來對(duì)中某個(gè)字符串進(jìn)行定位,以確定其位置。
Find函數(shù)進(jìn)行定位時(shí),總是從指定位置開始,返回找到的第一個(gè)匹配字符串的位置,而不管其后是否還有相匹配的字符串。
語法為:find(要查找的字符串,查找的單元格,從第幾個(gè)字符開始查找)如果省略最后一個(gè)參數(shù),則默認(rèn)從第一個(gè)字符開始查找。
FIND('青春',A2:A11)是找出A列中如果含有青春二字就返回?cái)?shù)字,否則返回錯(cuò)誤值。我們可以用F9來試運(yùn)算該函數(shù)得到:
在find函數(shù)外圍還有一個(gè)ISNUMBER函數(shù),構(gòu)成嵌套函數(shù)。這是判斷數(shù)字的函數(shù)。
ISNUMBER函數(shù)只有一個(gè)參數(shù)value,表示進(jìn)行檢驗(yàn)的內(nèi)容,如果檢驗(yàn)的內(nèi)容為數(shù)字,將返回TRUE,否則將返回FALSE。其函數(shù)語法為:ISNUMBER(value)是判斷函數(shù),最終返回邏輯值真和假。
我們可以用F9來試運(yùn)算該嵌套函數(shù)(isnumber和find嵌套函數(shù))得到:,最后再用Sumproduct函數(shù)進(jìn)行求和。在sumproduct函數(shù)中,TRUE當(dāng)做1來處理,F(xiàn)ALSE當(dāng)做0來處理。因此我們就能用sumproduct、ISNUMBER、FIND函數(shù)嵌套來進(jìn)行模糊查找。
GIF操作如下:
本教程的源數(shù)據(jù)表格百度網(wǎng)盤網(wǎng)址為:http://pan.baidu.com/s/1gfAKWZD
Sumproduct函數(shù)運(yùn)用很廣泛,在業(yè)內(nèi)號(hào)稱萬能函數(shù)。掌握Sumproduct函數(shù),必將讓你的函數(shù)水平百尺竿頭更進(jìn)一步。如果能將所學(xué)的知識(shí),互相融會(huì)貫通,那么你離成功就不遠(yuǎn)了。
聯(lián)系客服