Excel實戰技巧64: 從工作簿中獲取數據(不使用VBA)

  • 2019 年 12 月 4 日
  • 筆記

這是在研讀《Escape From Excel Hell》時學到的技術,從本工作簿中或者其他工作簿中獲取所需要的數據,以便於作進一步的分析或者繪製Excel圖表。

下圖1所示是用於獲取數據的工作表。

圖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所示。

圖2

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

圖3

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

圖4

這應該是Office365對公式的新增功能!看來還是要好好學習一下,與時俱進了!

可以在完美Excel微信公眾號底部發送消息:

獲取數據

下載示例工作簿研究。