excel函數(shù)教程:怎么對變化區(qū)域進行動態(tài)求和

小編收到粉絲tikizz的求助,做一份動態(tài)區(qū)域求和。如果你點進來了,那就順便看看下面的問題,看能否幫忙解決:

針對粉絲tikizz的問題,老菜鳥給出了解答。首先看看問題解決后的效果:

看明白了吧,選擇對應(yīng)的產(chǎn)品名稱,開始月份和結(jié)束月份,就會自動計算合計。
怎么實現(xiàn)的?答案就是在C12求和單元格中輸入以下公式:
=SUM(OFFSET(A1,MATCH(B11,A2:A9,0),MATCH(B12月",B1:M1,0),1,B13-B12+1))

一臉蒙圈?為何會是這樣一個公式??現(xiàn)在來看看老菜鳥的解答思路。
因為求和的范圍是根據(jù)指定條件而發(fā)生變化的,所以這類求和被形象地稱為動態(tài)區(qū)域求和。動態(tài)求和的關(guān)鍵就是根據(jù)條件確定求和區(qū)域。
我們先看看人工用計算器求和的過程:
根據(jù)條件找到求和數(shù)據(jù)的區(qū)域位置——獲取區(qū)域中的數(shù)據(jù)——求和。
譬如求產(chǎn)品6第3~8月的銷量。首先對照“產(chǎn)品6”和起始月份“3月”查看坐標(biāo)在表格中找到起始數(shù)據(jù)D7,再對照終止月份“8月”找到結(jié)束數(shù)據(jù)I7,如此大腦就劃定了求和數(shù)據(jù)區(qū)域D7:I7。然后讀取區(qū)域中的數(shù)據(jù)995、181、……982,輸入計算器進行相加。

我們現(xiàn)在Excel中要做的就是把三個人工過程通過公式自動完成。
要求和就離不開SUM函數(shù)(相當(dāng)于計算器),要得到求和區(qū)域數(shù)據(jù)信息經(jīng)常會用到的函數(shù)有OFFSET、INDIRECT和INDEX(相當(dāng)于人腦讀取數(shù)據(jù)區(qū)域),而要定位區(qū)域位置,MATCH函數(shù)(相當(dāng)于人眼對照條件查看坐標(biāo))是跑不了的。今天我們以O(shè)FFSET來獲取區(qū)域數(shù)據(jù),因此,得到了解決方案:用SUM-OFFSET-MATCH函數(shù)組合。
下面具體解釋公式:
=SUM(OFFSET(A1,MATCH(B11,A2:A9,0),MATCH(B12月",B1:M1,0),1,B13-B12+1))
第一層:SUM
這個函數(shù)就不用多說了吧,給個范圍就能得到范圍中所有數(shù)字的和,格式為:SUM(求和范圍)。只是強調(diào)一點,這里面的范圍可以直接指定,例如A1:H1,C:F等等,也可以使用函數(shù)來獲得求和范圍。
第二層:OFFSET
這個函數(shù)咱們之前也有講過,今天再來復(fù)習(xí)一下。函數(shù)一共有五個參數(shù),分別表示:起始位置,行偏移數(shù),列偏移數(shù),高度,寬度。

從函數(shù)的提示信息里可以比較清楚地看到每個參數(shù)的含義,這也是初學(xué)者可以獲得的最直接的幫助信息。
將公式中各個參數(shù)的具體結(jié)果使用F9顯示出來后,效果是這樣的:

OFFSET(A1,6,3,1,6)所表示的就是紅色方框的區(qū)域。起始位置A1,然后向下6行(行偏移為6),就到了A7,繼續(xù)向右3列(列偏移為3),就到了D7。從D7開始,獲取高度為1,寬度為6的區(qū)域,也就是D7:I7這個區(qū)域了。
以上就是OFFSET得到求和區(qū)域的過程,這個應(yīng)該不難理解。
難理解的是這個區(qū)域怎么根據(jù)條件自己變動,如怎么知道偏移多少行,多少列,讀取多寬?要想徹底弄清楚這個公式的思路,我們只能繼續(xù)挖向核心地帶,搞清楚第三層的MATCH究竟是什么作用。
第三層:MATCH
這個函數(shù)堪稱是一個百搭函數(shù),最常見的是VLOOKUP+MATCH和INDEX+MATCH組合。實際上MATCH函數(shù)的用處只有一個,就是根據(jù)某個數(shù)值來確定這個數(shù)值在一組數(shù)值中的序號位置。
舉個簡單的例子:
我們想要找到B11中的產(chǎn)品在品名范圍(A2:A9)中的位置,在G12單元格中使用MATCH可以這樣寫:
=MATCH(B11,A2:A9,0)

MATCH(查找值,查找范圍,精確查找),注意第三個參數(shù),有-1,0和1三種選項,0表示精確查找,-1和1的情況比較復(fù)雜,今天不做討論。通過這個公式得到結(jié)果是6,如果我們改變了B11中的內(nèi)容,結(jié)果就會隨之變化:

從這個例子里我們可以看到,利用MATCH函數(shù)就可以根據(jù)條件的變化得到一個會變的數(shù)字。MATCH(B11,A2:A9,0)可以根據(jù)產(chǎn)品名稱變化行數(shù),MATCH(B12月",B1:M1,0)可以根據(jù)開始月份變化列數(shù)?;氐角懊鍻FFSET的區(qū)域怎么變動的問題,現(xiàn)在有了答案:分別利用這兩個能變化的數(shù)字作為行偏移和列偏移,OFFSET的范圍就會相應(yīng)變動了。
最后的高度和寬度就很好確定了,因為只是對同一個產(chǎn)品進行求和,高度就是1,而寬度就是終止月份-起始月份+1。
通過以上分析,我想大部分朋友是能明白的,當(dāng)然談到具體運用,可能還需要多加練習(xí),徹底理解函數(shù)的作用后才可以運用自如。函數(shù)就是這樣,思路有了還得多動手,多折騰,才能達到熟能生巧的效果。
****部落窩教育-excel動態(tài)區(qū)域求和****
原創(chuàng):老菜鳥/部落窩教育(未經(jīng)同意,請勿轉(zhuǎn)載)
微信公眾號:exceljiaocheng
更多教程:部落窩教育(www.itblw.com)