excel怎麼在多表中求和?Excel多表之間的求和查詢要怎麼玩?今天聊一聊我個人的經驗,希望對大家有幫助,現在小編就來說說關于excel怎麼在多表中求和?下面内容希望能幫助到你,我們來一起看看吧!
Excel多表之間的求和查詢要怎麼玩?今天聊一聊我個人的經驗,希望對大家有幫助!
我們按照不同場景對應的案例來說明!
▍場景1:多表相同位置求和
我們有4個省份的銷售明細工作表,合計金額都在D2單元格,現在我們要一個總計要如何處理?
▼新手公式
這種逐個相加是我們第一個能想到的寫法,但是如果表格較多顯然這種辦法不能算作“好方法”!
▼巧妙寫法
=SUM('*'!D2)
回車後會變成如下公式:結果一緻!
=SUM(安徽省:黑龍江省!D2)
這種的星号表示除本工作表以外的全部其他工作表!算是一種“語法糖”!我們回車後,會自動轉化成 SUM(開始表:結束表!單元格地址)
利用這點,我們可以設計一個自動對新增表格求和的模闆!
我們在需要求和表的第一張表前面插入一張空白表,命名為“開始”,在最後一個表後面插入一個空白表,命名為“結束”
公式寫成
=SUM(開始:結束!D2)
這樣,用戶隻要在開始和結束表中間插入工作表,對應單元格中的内容就都會被公式求和。這是一種不利用編程手段就可以實現的動态求和方法!
▍場景2:多表不同位置求和
更多的時候,人家沒有把合計放在第二行的習慣,那麼合計位置就不固定了,也就是我們要解決的場景2,不同位置如何條件求和!
如下圖這樣!合計位置在不同的行,我們要求總計!
根據場景1,聰明的你可能想到了如下公式
但是,不好意思,他是錯誤的,因為SUMIF不支持這種區域跨表寫法!
那麼正确的公式要如何書寫呢?
▼多表不同位置求和
=SUM(SUMIF(INDIRECT({"安徽省";"北京市";"河北省";"黑龍江省"}&"!A:A"),
"合計",INDIRECT({"安徽省";"北京市";"河北省";"黑龍江省"}&"!D:D")))
看上去有點複雜,是因為我們把表名作為常量數組寫進了公式,當然你也可以放到單元格中,比如下面這樣!
▼表名放在單元格-數組公式
=SUM(SUMIF(INDIRECT(L3:L6&"!A:A"),"合計",INDIRECT(L3:L6&"!D:D")))
那麼根據上面我們可以得到一個多表條件求和的公式模闆!
▼多表條件求和-通用公式模闆
=SUM(SUMIF(INDIRECT(工作表名稱區域地址&"!條件區域地址"),"條件",
INDIRECT(表名區域&"!求和區域單元格地址")))
多條件呢?也是一樣的,隻是把SUMIF換成SUMIFS,對應的區域使用INDRIECT括起來就好!
▍場景3:多表數據查詢
求和,求平均都是一樣的操作,那麼多表查詢要如何處理呢?比如把合計金額都提取出來!
▼多表條件查詢
=VLOOKUP("合計",INDIRECT(A2&"!A:D"),4,)
其實用上VLOOKUP即可!核心還在于INDRIECT這個“快遞員函數”!
關于INDRIECT函數,我們之前寫過基礎教程,感興趣的可以作為擴展閱讀
>> INDIRECT函數基礎入門詳解!
這種是在對應的表中查詢,我們是否可以實現在多個表中依次查詢呢?
▍場景4:多表數據查詢-返回全部結果
比如我們查詢一下,每個表中的鮮花銷售日期,并全部返回要如何處理?
▼多表查詢-返回全部結果!
=DROP(REDUCE("",{"安徽省";"北京市";"河北省";"黑龍江省"},LAMBDA(x,y, IFERROR(VSTACK(x,TEXT(FILTER(INDIRECT(y&"!A:B"),INDIRECT(y&"!C:C")="鮮花"),"e-m-d;@")),x)) ),1)
使用FILTER篩選,如果一個表中有多個滿足條件的也會保留!
公式比較複雜,使用了一些最新版本中體驗函數,這獲取也是未來的方向,應該再過幾年就會普及開!Excel函數目前的發展超過了過去幾十年!這些新的函數,讓很多過去不可能靠函數實現的功能成為了可能!一般工作也就以上幾種場景,上面都學會,在不懂VBA和PQ的情況下,應該也基本夠用了!
今天就到這裡,覺得有幫助,不要忘記“關注、點贊、在看和轉發”,這些對創作者小編而言真的很重要!
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!