要求:
在一個(gè)工作簿中有很多個(gè)工作表在相同的單元格中儲(chǔ)存著需要匯總的數(shù)據(jù),根據(jù)需求要把這些數(shù)據(jù)匯總到同一張工作表里,合并后的效果如下圖所示。
操作步驟:
一.使用宏表函數(shù)批量獲取工作表名稱
1. 切換到公式選項(xiàng)卡---點(diǎn)擊自定義名稱---在名稱框里輸入gzbm、范圍選擇工作簿、引用位置里輸入公式=get.workbook(1)----點(diǎn)擊確定。
2再需要匯總的工作表A1單元格里輸入公式=INDEX(gzbm,ROW(A1))---向下拖動(dòng)鼠標(biāo)填充公式---將所有的工作表名粘貼為數(shù)值---打開(kāi)替換窗口將工作簿名替換為空白---點(diǎn)擊確定。
二.修改匯總工作表的表頭、在對(duì)應(yīng)單元格輸入公式(B2單元格輸入='='&A2&'!A2',C2單元格輸入='='&A2&'!B2')---向下拖動(dòng)鼠標(biāo)填充公式---打開(kāi)替換窗口(查找內(nèi)容=,替換為=)---點(diǎn)擊確定。
三.打開(kāi)名稱管理器(摁住鍵盤(pán)上的Ctrl+F3鍵)將定義宏表函數(shù)刪除,否則保存的時(shí)候會(huì)提示錯(cuò)誤。
說(shuō)明:
1. 宏表函數(shù)已經(jīng)逐步被VBA代碼取代,但是為了兼容性在后續(xù)更新的版本中還可以使用。
2. 宏表函數(shù)get.workbook(1)的功能是批量獲取工作表名稱,必要要通過(guò)定義名稱來(lái)使用。
3. INDEX(gzbm,ROW(A1))的第一個(gè)參數(shù)gzbm是包含所有工作表名的數(shù)組;ROW(A1)返回A1單元格的行號(hào)也就是數(shù)字1、向下填充時(shí)會(huì)返回一個(gè)1、2、3的數(shù)字?jǐn)?shù)列,配合INDEX函數(shù)就可以返回所有工作表的名稱。
4. 公式'='&A2&'!A2'和公式'='&A2&'!B2'前面A2是引用對(duì)應(yīng)單元的工作表名,后面的!A2和!B2是對(duì)單元格的引用。
注意事項(xiàng):
1. 一定不要忽略兩步粘貼為數(shù)值的操作。
2. 不要忽略將=替換為=,這一步是為了更新數(shù)據(jù)。
3. 最后要?jiǎng)h除定義的名稱。
聯(lián)系客服