瞬間搞定一月數(shù)據(jù)匯總!這個(gè)Excel求和公式太牛了
我推過(guò)一期跨表公式合集,其中有一個(gè)是利用sum進(jìn)行多表求和
【例】如下圖所示,需要在匯總表中統(tǒng)計(jì)1~30日的各個(gè)商品銷(xiāo)量合計(jì)(日?qǐng)?bào)表和匯總表格式、位置完全一樣)
"在匯總表B2中輸入公式:
=sum(‘*’!b2)
輸入后會(huì)自動(dòng)替換為多表引用方式
=SUM(‘1日:30日 ‘!B2)
有同學(xué)提問(wèn):如果各個(gè)表中商品的位置(所在行數(shù))不一樣,該怎么求和?我今天要分享一個(gè)更強(qiáng)大的支持行數(shù)不同的求和公式。
分析及公式設(shè)置過(guò)程:
如果對(duì)單個(gè)表(比如1日)進(jìn)行對(duì)A商品進(jìn)行求和,可以直接用sumif函數(shù)搞定:
1日表
"在匯總表中設(shè)置求和公式:
=SUMIF(‘1日’!A:A,A2,’1日’!B:B)
"依此類(lèi)推,如果對(duì)求和,公式應(yīng)為:
=SUMIF(‘1日’!A:A,A2,’1日’!B:B)+SUMIF(‘2日’!A:A,A2,’2日’!B:B)
+…….+SUMIF(’30日’!A:A,A2,’30日’!B:B)
這公式也太長(zhǎng)了吧……
細(xì)心的同學(xué)會(huì)發(fā)現(xiàn),公式雖然,但還是有規(guī)律的:對(duì)各個(gè)表的求和除了表名外,其他公式部分都相同。
利用這個(gè)特點(diǎn),我們可以用row函數(shù)自動(dòng)生成對(duì)1~的引用。
=Row(1:30) 的結(jié)果為
{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17;18;19;20;21;22;23;24;25;26;27;28;29;30}
為證明這一點(diǎn),可以在單元格中輸入公式后,選中row(1:30)按F9鍵
"連接成對(duì)各個(gè)表A列和B列的引用
=ROW(1:30)&”日!A:A”
=ROW(1:30)&”日!B:B”
"連接成的只是字符串,并不能代表1:30日的A列和B列。把字符串地址轉(zhuǎn)換成真正的引用,這是indirect函數(shù)的特長(zhǎng):
=Inidrect(ROW(1:30)&”日!A:A”)
=Indirect(ROW(1:30)&”日!B:B”)
有地址了,把它套進(jìn)sumif函數(shù)中會(huì)怎么樣?
=SUMIF(Inidrect(ROW(1:30)&”日!A:A”),A2,Indirect(ROW(1:30)&”日!B:B”))
結(jié)果是會(huì)把各個(gè)表中的A產(chǎn)品銷(xiāo)量分別進(jìn)行求和,查看結(jié)果按F9。
"最后用sumproduct函數(shù)進(jìn)行求和(這里不用sum的原因是:sum無(wú)法直接支持?jǐn)?shù)組運(yùn)算,本公式中同時(shí)對(duì)多數(shù)組進(jìn)行運(yùn)算屬數(shù)組運(yùn)算)
最終的公式為:
=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$30)&”日!a:a”),A2,INDIRECT(ROW($1:$30)&”日!b:b”)))
由于公式復(fù)制后row(1:30)中的行數(shù)會(huì)發(fā)生變化,所以這里必須要添加絕對(duì)引用符號(hào)$
"注:如果是多表多條件求和,可以用sumifs函數(shù),原理相同。