小民
Lv 6
小民 發問時間: 電腦與網際網路程式設計 · 1 0 年前

Excel中從不同檔案抓取資料的問題

請問高手,我每個月會產生一個統計表,每月的統計表中會有一些欄位會抓取上一個月的同一欄位,舉例說明:

如果我的檔案名稱都取為 account.01-2008 , account.02-2008. account.03-2008 .......等等

我在產生account.02-2008檔案時,其中的 a1欄位要抓前一個月account.01-2008 中的同一欄位a1,同樣的產生account.03-2008 檔案時其中的 a1欄位亦要抓前一個月account.02-2008 中的同一欄位a1,依此類推....

請問是否在a1欄位中可以用什麼方式(函數),去自動抓取前一個月的資料.

已更新項目:

cocolee 你的方法我知道,但是每一個月我都要手動去抓前一個月的資料(用你的方法)

我想要的方式是在a1欄位裡自動判斷現在是幾月,然後就自動去抓前一個月檔案裡a1欄位的資料,也就是='[account.01-2008]sheet1'!$a$1裡 --01--那個月份字串可不可以隨月份變動,比如說: 如果現在是3月我在a1格內可以知道目前是3月,然後a1格內會變成[account.02-2008]sheet1'!$a$1,

可以嗎?

2 個已更新項目:

當月份的這個儲存格都會去抓前一個月此儲存格的資料

例:

12月份的 A1儲存格(前月花費金額) 會去抓11月份A2儲存格(本月花費金額)的資料

我的檔名都是 account_12-2008, account_11-2008 .....

所以我想知道檔名中月份的地方是否可以變成變動的,也就是說我可以知道本月是幾月然後減一,就可以抓到前一個月的資料.

3 個已更新項目:

Jason,謝謝您啦! 但是有一個問題就是,用INDIRECT所抓取的檔案必需是開啟狀態,如果沒有開啟就無法傳值.

有無辦法解決此一問題.

謝謝!

2 個解答

評分
  • Jason
    Lv 4
    1 0 年前
    最佳解答

    可用 GET.CELL 去抓目前檔案名稱

    再用參照方式修改成要抓取前一個月的檔案名稱

    但是 GET.CELL 需要用定義名稱

    不能直接寫在儲存格

    可以試試看 Ctrl+F3 出現定義名稱視窗後

    在 "現有名稱" 輸入一個名稱,如:fname

    然後在底下 "參照到" 輸入 "=GET.CELL(62)" 後按確定

    之後可在任意儲存格輸入 =fname

    就可看到目前檔案的名稱

    2008-12-28 21:22:52 補充:

    有個問題是

    每個新工作表都去抓前一個月的資料

    代表這個儲存格每個月都不會改變嗎?

    2008-12-30 08:37:35 補充:

    試試看下面的公式能不能符合需求

    =INDIRECT("'[account_"&TEXT(DATE(YEAR(NOW()),MONTH(NOW())-1,DAY(NOW())),"mm-yyyy")&".xls]Sheet1'!$A$1")

    原理:

    利用 DATE 函數將目前日期 NOW()

    減去一個月得到上個月的日期字串

    再用 TEXT 函數指定出所需顯示的格式

    組合成想要的檔案名稱

    2008-12-30 14:28:01 補充:

    試了一下

    也找了歷史資料

    發現好像沒辦法解決不開檔的問題

    可能只有用 VBA 來解決了

  • 1 0 年前

    有一問題excel 除了檔案外還有sheet

    所以如果你要捉account.01-2008 檔案 sheet 1 的a1欄位的話

    直接在account.02-2008的a1欄位打上

    ='[account.01-2008]sheet1'!$a$1

    在按Enter鍵即可

    如果是我的話我會用另一方法更方便也更不會錯

    我會同時開account.02-2008檔案及account.01-2008 檔案

    在account.02-2008的a1打上

    =

    此時請勿在此檔案內打任何一字及任何一鍵包括Enterr鍵

    直接進入account.01-2008

    用滑鼠點入account.01-2008 的a1欄位

    此時直接按Enter鍵

    螢幕會直接回account.02-2008

    你的設定也已經完成

    試試看 Excel 真的是好用又好玩

還有問題?馬上發問,尋求解答。