Excel教程下載和軟件下載中心,Microsoft技術社區聯盟成員,全球極具影響力的Excel門戶,Office技術培訓社區

一個公式,將數據提取到指定工作表

2019-02-24  作者:ExcelHome  閱讀:
又到了學習函數的時間了,今天繼續和大家分享CELL函數的知識。
在日常應用中,從總表中拆分數據還是經常會用到的。比如說,將銷售數據提取到各個銷售部工作表、將學生名單提取到各個班級工作表……
今天分享的內容,就是和拆分有關的那些事。

動態獲取工作表名稱
打開一個Excel工作薄,在某個單元格里輸入公式:
=CELL("filename",A1)
會返回一串字符串,比如D:\學習\[me.xlsx]總表。
其中,“學習”是文件夾的名稱;“[me.xlsx]”是工作薄的名稱和類型;“總表”是A1單元格所在工作表的名稱。
如果我們要單獨獲取工作表的名稱,比如此處的“總表”,可以使用文本函數對CELL函數的結果進行加工處理。
=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99)
FIND函數查詢字符"]"在字符串中的位置并加1,(為啥加1?你猜唄),MID函數在此結果上開始取數,取99個數,99是一個很大的數,此處也可以是66、88等,只要超過了預想字符串的長度,改成250或者25也是可以的。
好啦,這是我們今天分享的第一個知識,用CELL函數動態獲取工作表名稱。
有小伙伴說了,工作表名就在那,我一眼就看的到,你用函數算計它干哈子嘛?做人可不要太宮心計……這當然是有意義的。

批量拆分數據
有這么一份表格,是某公司的人員信息表,現要根據性別,把相關人員的信息批量填充到分表里,比如女生填寫到女生表,男生填寫到男生表等。
而當總表里的信息發生改變或者有新增數據時,分表里的數據也發生相應的改變。


接下來就看看具體的步驟:
1、選取要拆分數據的工作表
2、單擊位于左側的【男生】工作表標簽,按住Shift鍵,再單擊最右側的【人妖】工作表,此時除【總表】外的分表會成為一個【工作組】,每個分表均處于選中狀態。
3、輸入公式,拆分數據
在成組工作表中的A2單元格,輸入下方的數組公式,按組合鍵<Ctrl+Shift+Enter>,向下向右復制填充到A2:B50區域。
=INDEX(總表!B:B,SMALL(IF(總表!$C$2:$C$13=MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99),ROW($2:$13),4^8),ROW(A1)))&""
太陽照,長城長——嗨,那誰,你看,這個長長的老太太裹腳布函數又來了,又是INDEX+SMALL+IF的函數套路。
之前咱可就說過,這是一個萬金油套路,是玩函數必會的套路之一,也不知道你后來學了沒?你不說話不點贊,俺就當你學了哈。
還是簡單說下這個公式的意思。
MID(CELL("filename",A1),FIND("]",CELL("filename",A1))+1,99)
用于獲取A1單元格所在工作表的表名。
需要說明的是,此處CELL("filename",A1)第二參數A1是不能省略的,倘若省略,獲取的將是最后更改單元格所在工作表的表名,會導致公式得出錯誤結果。
IF函數判斷總表C2:C13單元格區域的值是否和相應工作表表名相等,如果相等,則返回C列值對應的行號,否則返回4^8,結果得到一個內存數組。
SMALL函數對IF函數的結果進行從小到大取數,隨著公式的向下填充,依次提取第1、2、3、4……N個最小值。由此依次得到符合條件——性別和公式所在工作表的名稱一致的單元格的行號。
INDEX函數根據SMALL函數返回的索引值,得出結果。
當SMALL函數所得到的結果為4^8,即65536時,意味著符合條件的行號已經被取之殆盡了。此時INDEX函數將返回B65536單元格的值,通常來說,這么大行號的單元格是空白單元格,使用&“”的方式,規避空白單元格返回零值的問題,使之返回假空。
4、取消組合工作表狀態
公式填寫完成后,單擊不屬于成組工作表的【總表】標簽,Excel會自動取消組合工作表狀態。
至此根據工作表名稱批量拆分總表數據的操作也算是完成了;當總表的數據發生改變時,分表的數據也會隨之改變,耳聽為虛,口說無憑,那咱就眼見為實唄:


暖心小貼士
利用數據透視表的【顯示報表篩選頁】功能或者VBA編程等,也可以達到快速拆分數據的目的。但三者之間在可操作性、可接受性、動態性、適用性上是有蠻多區別的。

轉載請注明來源"ExcelHome"并保留原文鏈接。
固定鏈接:http://www.fvtgnn.tw/lesson/animation/excel/1939.html
分享到:
Copyright 1999 - 2017 Excel Home.All Rights Reserved.
本站特聘法律顧問:徐懷玉律師 李志群律師   滬ICP備11019229號

滬公網安備 31011702000001號

征信       
35选7摇奖器