Excel實戰技巧64: 從工作簿中獲取數據(不使用VBA)
- 2019 年 12 月 4 日
- 筆記
這是在研讀《Escape From Excel Hell》時學到的技術,從本工作簿中或者其他工作簿中獲取所需要的數據,以便於作進一步的分析或者繪製Excel圖表。
下圖1所示是用於獲取數據的工作表。

在圖1中已經標示出了大部分單元格的用途。用於輸入的有4個單元格(背景色為橙色),其中單元格A6中輸入源數據(即要從哪裡獲取數據)所在的工作簿名稱;單元格A7中為源數據所在的工作表名稱;單元格A8中為源數據起始單元格的名稱;單元格C5中為數據所在列號。
單元格A11中的公式為:
="'"&(IF(LEN(A6)=0,B5,"["&A6&"]"))&A7&"'!"&A8
得到源數據的完整位置。
單元格B5中的公式為:
=MID(CELL("filename",B5),FIND("[",CELL("filename",B5)),1+FIND("]",CELL("filename",B5))-FIND("[",CELL("filename",B5)))
得到當前工作簿名稱(帶左右方括號)。
從單元格C6開始的列C中的公式為:
=OFFSET(INDIRECT(SourceDataLocation,A1Status),ROW()-ROW(C$5)-1,C$5-1)
獲取相應的數據。
其中,SourceDataLocation為源數據工作表中數據所在區域的起始單元格名稱。在本示例工作簿中,該單元格位置如下圖2所示。

如果在圖1所示的工作表單元格A6中沒有輸入任何工作簿名(即留空),那麼將獲取當前工作簿中源數據工作表(如圖2)的數據,如下圖3所示。

由於我是在Office 365中進行試驗的,無意中發現大多數公式中竟然有「@」符號,如下圖4所示。

這應該是Office365對公式的新增功能!看來還是要好好學習一下,與時俱進了!
可以在完美Excel微信公眾號底部發送消息:
獲取數據
下載示例工作簿研究。