Sumif Indirect函數雙雄組合,實現多表匯總求和

大家知道,Sumif是單條件求和函數,我們一般用於單表求和,如果涉及多表呢?例如30個表,不可能一直是sumif() sumif() sumif() sumif() sumif()......

那樣太累了!

單靠Sumif,勢單力薄,我們請來Indirect函數幫忙。

看例子,有1-5日3個列相同,行數不同的明細表,要求匯總出每個省份的銷量總和。

分表:

匯總表:

思路分析:

如果是單表,只需要Sumif函數直接求和即可:

=SUMIF("1日"!B2:B9,總計!A2,"1日"!C2:C9)

但,對於多個表,可藉助INDIRECT函數生成對多個表區域的引用,即是:

INDIRECT(ROW($1:$5)&"日!B:B") -- 引用每個表的B列數據區域

以及

INDIRECT(ROW($1:$5)&"日!C:C") -- 引用每個表的C列數據區域

最後,用Sumif函數組合起來,即是:

=SUMIF(INDIRECT(ROW($1:$5)&"日!B:B"),A2,INDIRECT(ROW($1:$5)&"日!C:C"))

需要注意,上面公式返回的是每個表的求和結果,是一組數,數組求和,當然還要請Sumproduct函數過來幫襯一把。最後結果即是:

=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$5)&"日!B:B"),A2,INDIRECT(ROW($1:$5)&"日!C:C"))) ,滑鼠下拉公式,最終結果如圖:

復盤一下:

1、本例涉及需要引用數據,自然想要Vlookup,或者Index,Match等。但要多表引用,只能求助INDIRECT了,最後求和,自然要請到Sumproduct。所以Sumif函數多表求和,關鍵要掌握Indirect和Sumproduct函數的基礎用法,這兩個函數相對來說有一定的難度,感興趣者可以參閱學習尚西的165集函數透視表視頻教程,目錄如下:


推薦閱讀:

下頜角整形 讓你實現v臉夢
最容易實現的家常版貴州味道 酸湯金菇肥牛
從痛恨、鄙夷、厭惡自己到愛上自己,我到底是怎麼實現的?
探秘:線纜巨頭亨通如何實現「從精益到智能」?
袁世凱:毀掉了三次實現民主共和的機會

TAG:函數 | 組合 | 實現 |