網友問到:在 Excel 中如果參照到另一個檔案的內容,如何因應檔案名稱會更改,希望仍能讀到資料,該如何處理?

Excel-檔名改變如何取得檔案內儲存格內容

以上圖為例,在儲存格的B4:B6,要分別讀取DATA1.xlsx、DATA2.xlsx、DATA3.xlsx中的儲存格A1。公式設計:

儲存格B4:='V:\Google Downloads\[DATA1.xlsx]工作表1'!$A$1

其中「V:\Google Downloads\」是路徑,DATA1.xlsx是活頁簿,工作表1是工作表,是儲存格$A$1。

在此,路徑和檔名都是以「定數」形式來呈現。但是因為檔案名稱會變動(更名),所以儲存格中的公式會讀不到正確的內容。因此,可以將路徑和檔案名稱改為「變數」來設計。

儲存格B12:=INDIRECT("'"&$C$10&"["&A12&".xlsx]工作表1'!$A$1")

(1) 以「"'"&$C$10&"["&A12&".xlsx]工作表1'!$A$1"」字串組成儲存格的絶對位置。

(2) 以INDIRECT(第(1)式)將儲存格的絶對位置字串轉換為路徑。

在此要注意:

第1種方式:

(1) 會因為檔案名稱修改而抓不到資料

(2) 檔案不須開啟也能抓取儲存格內容

第 2 種方式:

(1) 將路徑和檔名設定為變數方便修改

(2) 檔案必須開啟才能抓取儲存格內容

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(1) 人氣()