靖寬瓊
摘要:我們在使用公式查詢或匯總多工作表數(shù)據(jù)時經(jīng)常需要用到整個工作簿所有工作表的名稱,該文通過案例介紹如何用宏表函數(shù)GET.WORKBOOK來提取Excel工作表名稱。
關鍵詞:Excel;宏表函數(shù)
中圖分類號:TP317.3 文獻標識碼:A 文章編號:1009-3044(2016)27-0195-01
我們在使用公式查詢或匯總多工作表數(shù)據(jù)時經(jīng)常需要用到整個工作簿所有工作表的名稱,下面通過案例介紹如何用宏表函數(shù)GET.WORKBOOK來提取工作表名稱。
案例展示如圖1所示,2013級1-9班學生技能成績已統(tǒng)計出來,放在各工作表的E51:J52中,本例是要通過宏表函數(shù)GET.WORKBOOK和查找、引用函數(shù)將各工作表中的數(shù)據(jù)自動填入如圖2的統(tǒng)計表匯總表中。
操作步驟如下:
一、提取工作表名稱過程:
1)打開本例工作簿文件,選擇【公式】-【名稱管理器】命令,彈出“名稱管理器”對話框。
2)單擊“名稱管理器”對話框中的“新建”按鈕,打開“新建名稱”對話框。
3)在“名稱”框里輸入一個定義名稱(本例輸入SheetName),方便在工作表中引用,并在“引用位置”處輸入公式“=GET.WORKBOOK(1)&T(NOW())”,如圖3所示。
4)點擊“確定”按鈕后返回工作表,在單元格A2中輸入如下公式。
=REPLACE(INDEX(sheetname,ROW(A1))&T(NOW()),1,F(xiàn)IND("]",INDEX(sheetname,ROW(A1))),"")
提示:sheetname的工作表名稱返回的是包括工作簿名稱和工作表名的全名稱。我們用REPLACE函數(shù)是將工作表名以外的所有字符替換掉,即只留下工作表名稱。
5)按公式向下填充,就可以看到順序返回了所有工作表名稱,這樣就可以在其他函數(shù)中引用了。結果如圖4所示。
二、批量提取表中數(shù)據(jù)
工作表名稱提取出來后,我們就可以套用在公式中,讓指定表中的相關數(shù)據(jù)乖乖的來到匯總表中了。如圖5所示,在D4單元格中建立公式=INDEX(INDIRECT(""&$K2&"!52:52"),COLUMN(E$52)),確定后即可得出工作表中數(shù)據(jù),分別向右、向下復制公式,就可得到如圖2的數(shù)據(jù)了。
計算完后將“統(tǒng)計匯總表”工作表中的K列數(shù)據(jù)進行隱藏即可。
本例中首先利用宏表函數(shù)取出當前工作簿中的所有工作表名稱,再利用INDEX函數(shù)依次取出各個工作表名稱,利用REPLACE函數(shù)將工作表名以外的所有字符替換成空白。這里需要說明的是GET.WORKBOOK宏函數(shù)公式在工作表發(fā)生新建或刪除工作表后不能自動更新,所以在公式里用了T(NOW())函數(shù),其意義是讓NOW函數(shù)產(chǎn)生當前時間,再利用T函數(shù)轉換成0,從而在不影響提取工作表名稱的前提下,能讓公式可以自動重算。
另外,如果是在2007版Excel中使用宏表函數(shù),在保存工作簿時可選擇另存為97-2003版Excel格式,也就是擴展名為.xls的格式。
參考文獻:
[1] 起點文化. 圖書:Excel2010函數(shù)與公式速查手冊,2011-02.