這是一個非常實用的技巧,不用寫代碼,就可以獲得所有工作表的列表,還可以獲得文件夾下所有文件的列表
緣起
其實這個問題我經常會遇到,也經常有朋友問起,我也一直想寫篇文章介紹一下這個技巧,卻總是想不起來寫!
今天我又一次遇到了這個問題,終于決定寫一寫。
很簡單,我有一個Excel文件,這裡有很多個Sheet,其中有一些Sheet記錄了各省的數據:
我想做一個下拉列表框,可以選擇省份。但是不要所有的省份,而是需要我這個工作簿中有數據的那些省份:
事情其實很簡單,隻要找一個區域輸入各個Sheet名稱,然後設置數據驗證就可以了。
但是操作起來有點麻煩,要一個一個輸入,顯得有點多。當然,我這種情況還好了,上一次來問的朋友好像有100多個Sheet,要一個一個輸入就不太可取了。
我們可以用下面的方法獲得所有工作表列表。
本方法在Excel 2016中可以直接使用,如果是Excel 2013,請激活Power Query。具體方法見這裡
1. 新建查詢
在“數據”選項卡下,點擊“新建查詢”,“從文件”,“從工作簿”:
浏覽找到當前文件:
點擊“導入”,在“導航器”左邊随便選一個省份工作表,點擊右下角“轉換數據”按鈕:
彈出“Power Query編輯器”:
2. 修改查詢設置
在右邊的查詢設置面闆中,将名稱修改為:Province
在查詢設置中,将“應用的步驟”中除了“源”之外的所有步驟删掉(隻要點擊每個步驟前面的叉号就可以了):
在左邊的表格區域,可以看到如下的表格:
可以看到這一列就是我們要的所有省份的列表。
3. 最後修改
删掉其他列。按照Shift,用鼠标點選其他列,點鼠标右鍵,選擇“删除列”:
然後删掉第一行(我們的列表中不需要Index表)。點擊”主頁“選項卡下的“删除行”,點擊“删除最前面幾行”:
在對話框中将行數設為1:
點擊确定後,得到如下表格:
4. 上載結果
點擊“主頁”選項卡下的“關閉并上載”,點擊“關閉并上載至...”:
在對話框中,選擇顯示方式為“表”,位置為“現有工作表”,區域為你選定的區域,點擊“加載”:
片刻後,你得到了一個你需要的工作表的列表。
很多時候我們的數據不是存放在一個文件的多個Sheet中,而是放在多個文件中,此時我們就需要獲得多個文件的名稱。這時,也可以使用這個技巧。
1. 新建一個查詢
同樣,我們新建一個查詢,這次不是從工作簿,而是選擇從文件夾:
選擇文件存放的文件夾路徑:
點擊确定後,來到下面的對話框:
點擊右下角的“轉換數據”,彈出Power Query編輯器:'
2. 删掉除Name外的其他列
選中Name列,點擊鼠标右鍵,選擇“删除其他列”:
3. 删掉.xlsx
在“轉換”選項卡中,點擊“替換值”,
将要查找的值修改為“.xlsx”,替換為保持不變:
點擊确定,替換完成:
點擊關閉并上載至:
選擇合适的位置,點擊确定,就得到了所有文件名的列表了
今天就分享到這裡了!
這個技巧是一個非常實用的技巧,盡管我寫了很多,但是實際操作非常簡單,大家趕緊學會了,趕緊用起來,至少可以節省15分鐘
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!