Excel如何跨工作表動態引用數據(合并匯總必備)
在進行一些合并、匯總工作中excel如何實現跨表引用數據,經常碰到的一個問題是有一堆格式類似的不同工作表,希望能有一張匯總表顯示其中的一些數據,又不想一個個手動link。而想用公式拉時又會發現工作表名無法作為變量隨之移動。
這里介紹一個常用函數:(以下都不解釋函數原理,反正寫了也沒人看^ ^)
*但這種方法Link的話無法通過追溯公式直接定位到對應單元格,推薦使用建立工作表的超鏈接替代
內容分為三塊
1、的簡單使用
2、配合/使用
3、其他配套事項
1、的簡單使用
簡單來說excel如何實現跨表引用數據,當使用跨工作表引用時,規律如下:=(“工作表名!單元格區域”)
*也可以跨工作簿,但一定要工作簿維持打開才可以保持引用有效,沒啥用就不介紹了。跨工作簿大量&維持鏈接的引用至今沒有很好的解決方法。
觀察規律,發現括號里頭尾各有一個雙引號,如果這時非動態引用一個名為C.現金的工作表的B2單元格,公式如下:=("' C.現金'!B2") 即工作表名部分變為單引號+工作表名+單引號
則動態引用時工作表名部分如下:雙引號+&單元格位置&+雙引號,即如圖所示:
這時就達成了最簡單的跨工作表動態引用的效果。(注意引用工作表名里不能有空格)
2、配合/使用
不過這是在知道我們要引用B2單元格的情況下,那如果這個單元格的位置在每個工作表里都不確定呢?比如我們需要引用每張工作表的合計數。該合計數在不同表中列數相同但行數不同。
這時有兩種方法,函數與函數。這兩個函數都是用來查找的,前者返回查找的單元格的位置,后者返回單元格的內容。
比如在兩個工作表里有一行結果&數字,分別為第二行和第五行,對應值分別為5和10.
使用+引用則返回對應行號:=($A$1,(A3&"!A:A"),0)
然后使用+引用行號以及工作表名與相應的列則返回結果對應的數據:=(("'"&$A3&"'!B:B"),$C3)
注意:函數的最后一個變量寫0就會查找第一個匹配的值。此時數列可以以任意順序排列。
如果使用函數則公式如下:=(1,0/((A3&"!A:A")=$A$1),(A3&"!B:B"))
原理就不解釋了,這時候可以避開函數對應列必須升序排列的缺陷并且直接得到結果,但這僅適用該列只有一個“結果”的情況。當存在多個“結果”時,由于使用二分法查找,故不會像一樣返回第一個匹配的值。
此時,就可以根據你的需求,隨心所欲地獲取你想要的單元格的數據了,包括可以實現引用倒數幾行等等。
3、其他配套事項
所以我一般碰到一個需要1、合并多張工作簿中的工作表-2、重命名工作表-3、做一張匯總表 的時候一般步驟如下:
1、利用VBA(網上有很多代碼or插件)把多個工作簿里的工作表合并到一個工作簿里
2、利用VBA獲取現有的工作表名
3、這樣會在A列按順序列示現有工作表名,在旁邊寫上重命名成什么
4、利用VBA重命名工作表
5、按照上述關于的指引增加匯總工作表
6、增加工作表超鏈接:=("#'"&A3&"'!A1",A3)
以上就是我個人對于這類匯總工作常見需求的應對方法,如果有更方便的歡迎討論。此外,其實網上也有很多插件匯總了各種批量合并批量改名等等功能,我自己也裝了。不過由于付費、安全等等因素,有時候不一定適用所有人,VBA+函數則是微軟默認功能,不會存在突然用不了了的問題。
以上函數由于展開來講內容太長了,其實能夠復制然后對應著自己的需求改下公式就行了。
最后之前有個小伙伴后臺問關于 合并重復的問題,因為過了48小時就沒法再回復了excel如何實現跨表引用數據,就直接在這里回復:
我不清楚你用的是2013還是2016版本,根據我2013的經驗來說,如果是從文件夾合并,這時會自動進行如你發的那個專欄文章所說的刪除其他列并拓展,比如此時我從文件夾加載一堆表,選擇合并和編輯,在尚未進行任何其他操作的情況下,左側默認選擇其他查詢:
右側顯示如下:
不用進行任何其他操作,自動就是把幾個工作表按順序拼起來的樣子了。我不確定你說的問題是由于版本不同造成的還是其他原因。
在看點一下 大家都知道
聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網絡資源。如若本站內容侵犯了原著者的合法權益,可聯系本站刪除。