SUMPRODUCT函數(shù)并不是一個被各位辦公精英大量使用的函數(shù),大多數(shù)辦公人士學(xué)習(xí)這個函數(shù)或者接觸這個函數(shù)是始于下面這個案例: 這里我們要求購物的總金額,最常規(guī)的方法就是把每項(xiàng)的單價乘以數(shù)量再做求和,這個公式的形式如下: 很長是不是?所以Excel給了我們SUMPRODUCT函數(shù),利用這個函數(shù)我們可以很輕松的解答這個問題。 SUPRODUCT這個詞由SUM和PRODUCT兩個單詞組成,前者表示求和,后者表示乘法。什么?PRODUCT不是產(chǎn)品的意思么?大學(xué)英語6級早已忘光的老王,只能靠度娘解釋: 嗯!確實(shí)有乘法的意思! 所以這個單詞從字面上來理解,就是多組數(shù)據(jù)先做乘法再求和。下面我們來詳細(xì)解析這個函數(shù)。
函數(shù)參數(shù)說明 當(dāng)我們在單元格內(nèi)輸入SUMPRODUCT函數(shù)時,我們能看到參數(shù)提示: 這里array1,array2…表示要做乘法的數(shù)組或者區(qū)域(從字面看array其實(shí)就是數(shù)組的意思嘛?。?,而array2開始都有方括號,說明第二個數(shù)組或者區(qū)域之后是可選的,也就是可有可無,也就是這個函數(shù)你可以傳入一個或者多個數(shù)組或者區(qū)域。 函數(shù)參數(shù)倒是簡單,可說了一通是不是感覺還是云里霧里,那么就用幾個例子要演示下具體用法。
常規(guī)用法 1、兩個區(qū)域 最常規(guī)的用法就是上面的先乘法后求和,比如求下面的銷售總額,和開頭的例子一模一樣。 2、三個區(qū)域 從參數(shù)說明我們能看到,SUMPRODUCT函數(shù)支持傳入多個區(qū)域,比如求下面的銷售提成。 3、一個區(qū)域 如果參數(shù)只傳入一個區(qū)域,這個時候好像沒有另外一組數(shù)據(jù)與之相乘,所以這個時候就直接把這組數(shù)據(jù)求和,或者當(dāng)是乘以了一個同等大小的但是數(shù)值都是1的區(qū)域。這時的效果和SUM函數(shù)一模一樣??雌饋肀容^特殊,所以稍微放到后面一點(diǎn),一般不會直接這樣用。 數(shù)組用法 我們從一開始就說的是這個函數(shù)可以接受1個或者多個數(shù)組或者區(qū)域,那么和數(shù)組結(jié)合到底怎么用呢? 1、單條件求和 比如要求99套餐的銷售總量,可以將條件作為第一個數(shù)組,另一個數(shù)組是對應(yīng)的數(shù)量。 這里簡單解析一個這個數(shù)組公式。 (B2:B10='99套餐')這里是一個數(shù)組的條件寫法,也是利用數(shù)組公式求帶條件問題的通用套路。我們在編輯欄里把這個選中,然后按F9就會發(fā)現(xiàn)公式變成如下形式,TRUE的話表明B2:B10里對應(yīng)的套餐是99套餐。 然后我們把這個TRUE和FALSE組成的數(shù)組乘以1的結(jié)果用F9運(yùn)算出來,得到另外一個數(shù)組,原來的TRUE變成了1,F(xiàn)ALSE變成了0。這里利用到了TRUE*1=1,F(xiàn)ALSE*1=0這個性質(zhì),將邏輯值轉(zhuǎn)換成了數(shù)字。你看下面這個形式,不就是第一個參數(shù)是數(shù)組么。當(dāng)然第二個參數(shù)的這個區(qū)域也可以認(rèn)為是一個數(shù)組,不信你選中按F9看看。 另外說明一下,這里SUMPRODUCT函數(shù)的效果和SUMIF一致。 2、多條件求和1 如果我們要求1月份99套餐的銷售數(shù)量,可以將兩個條件乘起來作為第一個數(shù)組,另外一個數(shù)組即為對應(yīng)的銷量。 這里每個條件如果利用F9分步運(yùn)算會得到上述類似的TRUE和FALSE組成的數(shù)組,利用TRUE*TRUE=1,TRUE*FALSE=0,F(xiàn)ALSE*FALSE=0,可將TRUE和FALSE組成的數(shù)組相乘得到1和0組成的數(shù)組。這里SUMPRODUCT函數(shù)的效果與SUMIFS一致。具體分步運(yùn)算的結(jié)果大家可以試一下。 3、多條件求和2 如果我們要求1月或者2月的99套餐的銷售總量,我們可以利用下面這個公式。 這里我們將或的兩個條件用加法,注意里面的括號較多不要看花眼了。用到了TRUE FALSE=TRUE,FALSE FALSE=0的規(guī)則。這里SUMPRODUCT函數(shù)相當(dāng)于兩個SUMIFS相加。具體分步運(yùn)算的結(jié)果大家可以用F9試一下。 4、多條件求和3 如果我們要求1月份99套餐的銷售總額,我們可以用下面這個公式。 5、靈活的用法——數(shù)組運(yùn)算的靈魂 SUMPRODUCT函數(shù)可以將一組或者多個數(shù)組做乘法然后做加法,然而,數(shù)組本身就可以做乘法,結(jié)果是每一個元素對應(yīng)相乘得到的數(shù)組,所以我們完全可以把所有參數(shù)里的數(shù)組先做數(shù)組相乘然后傳入SUMPRODUCT函數(shù)作為第一個參數(shù)。 比如這種普通用法 比如三個數(shù)組 比如一個條件 比如兩個條件 大家注意看里面的逗號和乘號哦。另外我還要偷偷告訴你,不僅這種組合成一個數(shù)組可行,任一的數(shù)組組合也是可行的。 比如多條件求和3 很神奇吧,所以我要偷偷的告訴你,不然你要我把所有的情況都寫完我可真是累死了。 最后做幾點(diǎn)說明 1、關(guān)于數(shù)組的三鍵 如果大家對數(shù)組稍微了解的話,應(yīng)該知道數(shù)組公式是需要通過按CTRL SHIFT ENTER的形式才能得到結(jié)果,但是以上的數(shù)組公式,并沒有“{}”的標(biāo)識,也就是不需要三鍵結(jié)束。這里說明的就是在很多情況下,SUMPRODUCT函數(shù)可以將函數(shù)變得簡潔,畢竟很多人一看到數(shù)組公式就會感覺是座大山。 2、關(guān)于數(shù)組的大小 還有一點(diǎn)需要注意的是,這里面所引用的多個區(qū)域或者數(shù)組,所包含的單元格個數(shù)或者數(shù)組元素個數(shù)是必須相等的,如果不等會出錯的哦。 3、與數(shù)組乘法的差異 另外還有一點(diǎn)要說明的就是,雖然SUMPRODUCT函數(shù)是將多個數(shù)組先做乘法再求和,但是和實(shí)際的數(shù)組相乘求和有點(diǎn)差別。比如單條件求和的時候,如果是第一個條件數(shù)組沒有乘1就不能得到正確的結(jié)果,但是如果將第一個條件數(shù)組直接乘以第二個數(shù)組結(jié)果卻是正確的。 這是因?yàn)樵跀?shù)組的乘法里,還有一個規(guī)則是,TRUE*某數(shù)字=某數(shù)字,F(xiàn)ALSE*某數(shù)字=0,這個在上面的第二個公式可以體現(xiàn),有興趣的可以按F9分步驟運(yùn)算看看。顯然上面第一個公式中第一個數(shù)組是由TRUE和FALSE構(gòu)成的數(shù)組,但是無法得到正確的結(jié)果,說明SUMPRODUCT的運(yùn)算機(jī)制并不是直接的數(shù)組乘法。 留個家庭作業(yè),如果要求1月份99套餐的銷售提成,你可以用SUMPRODUCT寫出多少個公式來,如果能寫出多個公式,那么這篇文章你就是看明白了,或者你本來就明白的。
|
|