案例:EXCEL取工作表名

這是前些年發(fā)表在網(wǎng)易博客上的舊文,稍事修改。

問題:如何將EXCEL文件中的工作表名字提取出來?

1、定義名稱sheetname,公式=REPLACE(GET.DOCUMENT(1),1,FIND("]",GET.DOCUMENT(1)),)&T(NOW())

2、在單格中輸入=sheetname,則單元格顯示所在工作表的表名。

3、用途

(1)我們要做很多單位的報表,格式一樣,只是單位名稱不同

(2)比如表頭為江蘇分公司,而表頁也是江蘇分公司,當我們再做另一個單位的表,我們把前的表復制一張(鼠標左鍵拖動表頁+crtl,再松開鼠標)更改表頁名稱時,不用再手工去改表頭中的單位名稱,有此函數(shù)可以實現(xiàn)自動更新,可以避免一些無心的小失誤(表的內(nèi)容是上海分公司的數(shù)據(jù),而報表中的單位名稱卻是江蘇分公司,這種事情估計也不少見)

(2)如果表頭不是簡單的跟表頁一樣,比如表頭是2010年9月江蘇分公司利潤表,而表頁名稱是江蘇分公司,我們可以這樣做,在表頭中輸入="2010年9月"&sheetname&"利潤表"

(3)還有稍微復雜一些的運用,比如報表間的取數(shù)查詢等,后續(xù)專題分享。

4、EXCEL2003的安全級別要設置成中及以下。設成中就可以了,每次打開表的時候,提示是否運行宏,選擇是即可;EXCEL2007及以后版本,在信任中心設置,宏設置點選“禁用無數(shù)字簽名的所有宏”,并且文件要保存為啟用宏的工作簿(后綴名為”.xlsm“)


附:公式解讀

1、名稱:對某單元格或某個單元格區(qū)域指定一個“名字”,可以進行引用、運算等操作。

2、REPLACE(old_text, start_num, num_chars, new_text):將從指定的字符串(old_text),指定位置開始(start_num),指定字符數(shù)量(num_chars),替換成新的字符(new_text)

3、GET.DOCUMENT(1),宏表函數(shù)(早期版本的函數(shù),現(xiàn)在只能在定義名稱中使用),取得文件名,比如“[EXCEL取工作表名.xlsx]Sheet1”

4、FIND(find_text, within_text, [start_num]):用于在第二個文本串中定位第一個文本串,并返回第一個文本串的起始位置的值,該值從第二個文本串的第一個字符算起。

5、T(value):返回值引用的文字,如果值是文字或引用文字,則 T 返回值。 如果值未引用文字,則 T 返回 ""(空文字)。

6、NOW():返回當前日期和時間的序列號。當需要在工作表上顯示當前日期和時間或者需要根據(jù)當前日期和時間計算一個值并在每次打開工作表時更新該值時,使用NOW函數(shù)很有用。

EXCEL取工作表名公式思路總結:

a、利用宏表函數(shù)GET.DOCUMENT(1),取得工作表名A,如“[EXCEL取工作表名.xlsx]Sheet1”;

b、利用FIND函數(shù),找到“]"的位置B;

c、再利用REPLACE函數(shù),將工作表名A從開始到位置B的所有字符替換成空(截去)

d、再利用T()函數(shù)、NOW()函數(shù)相結合,實時更新結果(因宏表函數(shù)不會自動更新值)

e、大功告成。

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容