今天要講的是在昨天按位置求和的基礎(chǔ)上做一下升級(jí),更加實(shí)戰(zhàn)化!
后續(xù)小編可能對(duì)推文的部分做一下難度評(píng)估,方便大家閱讀,初步分為
函初、函中和函高!具體小編根據(jù)經(jīng)驗(yàn)給出!
先看一下數(shù)據(jù)源:每個(gè)月的人名順序不一致且有多有少!
需求:按照匯總表姓名匯總1-4月銷售總金額!
公式有一定的難度,如果看完解析還是不懂,就需要補(bǔ)補(bǔ)一下基礎(chǔ)的方式的基礎(chǔ)了!
公式:=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$4)&"月!A:A"),A2,INDIRECT(ROW($1:$4)&"月!B:B")))
簡(jiǎn)單解析:
1、公式涉及到4個(gè)方式,部分函數(shù)之前出過專題,比如SUMIF(強(qiáng)化閱讀)
其他三個(gè),重點(diǎn)是解釋一下ROW和INDIRECT!
2、ROW函數(shù)本身是返回對(duì)應(yīng)參數(shù)的行,比如ROW(A1)=1,ROW(A2)=2
關(guān)注的是行,當(dāng)然Excel中整行可以使用使用開始行號(hào):結(jié)束行號(hào)來表示,比如公式中的ROW(1:4)對(duì)應(yīng)就是一個(gè){1;2;3;4}的垂直數(shù)組。
ROW($1:$4)&"月!A:A"的結(jié)果也就變成了{(lán)"1月!A:A";"2月!A:A";"3月!A:A";"4月!A:A"},其實(shí)只要你不覺得麻煩,你也可以直接手寫{"1月!A:A";"2月!A:A";"3月!A:A";"4月!A:A"},也是一樣的,但是顯然月份較多不合適!
3、{"1月!A:A";"2月!A:A";"3月!A:A";"4月!A:A"}只是一組常量數(shù)組,其中只是字符串,如果想轉(zhuǎn)成可以計(jì)算的對(duì)應(yīng)表的區(qū)域,就需要我們的INDIRECT函數(shù)
INDIREC函數(shù)本身是間接的意思,根據(jù)提供的字符串地址,返回對(duì)應(yīng)的區(qū)域引用
方便SUMIF函數(shù)計(jì)算!
4、SUMPRODUCT的函數(shù)之所以出現(xiàn),是因?yàn)槲覀僑UMIF部分結(jié)果是根據(jù)對(duì)應(yīng)的表的個(gè)數(shù)來的,這里就有4個(gè)結(jié)果組成的內(nèi)存數(shù)據(jù),想要最后合計(jì)就需要
SUMPRODUCT再次求和,SUMPRODUCT自帶多重運(yùn)算,無需三鍵,使用SUM的話,記得三鍵結(jié)束!
然后根據(jù)我的經(jīng)驗(yàn),大家可能會(huì)問的,我提前回答一下:
Q&A:
Q:如果工作表名稱不是你這樣有規(guī)律的1月、2月……怎么辦?
A:如果沒有規(guī)律,可以使用宏表函數(shù)提取工作表名稱或者VBA,也可以提取在匯總表中準(zhǔn)備好,直接引用。對(duì)應(yīng)的宏表函數(shù)一般使用GET.WORKBOOK(1),減輕大家閱讀負(fù)擔(dān),今天不再擴(kuò)展,有興趣的同學(xué)自行學(xué)習(xí)或者等后期推文!
Q:如果我沒有全部的姓名怎么辦?
A:一般我們都是有員工花名冊(cè)的,直接使用花名冊(cè)(只多不少),但是現(xiàn)實(shí)工作中確實(shí)會(huì)有這種情況。出現(xiàn)了一般我們使用的是多表去重的思路,把每個(gè)表的姓名依次粘貼到一列,然后使用數(shù)據(jù)-刪除重復(fù)值就得到的全部姓名,確保不遺漏,太多表就可以使用VBA處理(一般使用字典的唯一key的特性處理?。?/span>
聯(lián)系客服