Board logo

標題: [發問] 請問各位用excel的高手們!如何收尋指定儲存格位置的路徑檔案"函數要如何設 [打印本頁]

作者: 棋語鳥鳴    時間: 2011-4-12 20:48     標題: 請問各位用excel的高手們!如何收尋指定儲存格位置的路徑檔案"函數要如何設

[attach]5333[/attach]
如上圖所示!如何在test檔案中抓取B1所指路徑名稱(test2)並且在test A3位置傳回test2裡的A2檔案!
其路徑會隨著B1而變動,但是檔案名稱及其相對位置都是依樣的,簡單的說就是要將C:\Documents and Settings\Administrator\桌面\新資料夾更改為B1所顯示的路徑就對了!
如果將B1更改為其他的值,而路徑就會跟著變!
請問各位高手,此函數要如何寫,或者VBA也可以!
作者: Hsieh    時間: 2011-4-12 21:08

你的目的是甚麼?
超連結?還是要在公式內引用路徑指定檔案取值?
作者: 棋語鳥鳴    時間: 2011-4-12 21:23

回復 2# Hsieh


    我要取那個路徑的值,因為要從電腦裡直接抓取資料,當電腦每次跑完之後,檔案會存在不同的資料夾中,但是檔名及檔案位置都是依樣的,所以才想看看,能不能只在同一格儲存格中更換路徑名稱就好,就能知道其裡面內容的值或者資料!
作者: Hsieh    時間: 2011-4-12 21:26

本帖最後由 Hsieh 於 2011-4-12 21:29 編輯

取得當前檔案目錄
B1=LEFT(CELL("filename",B1),FIND("[",CELL("filename",B1))-1)
作者: 棋語鳥鳴    時間: 2011-4-12 21:57

回復 4# Hsieh


   不好意思~我還是看不太懂!
如果我要在test的A3得到B1路徑(C:\Documents and Settings\Administrator\桌面\新資料夾)中的test2檔案的A2值(1),我要如何設??
正常的話是在A3輸入='C:\Documents and Settings\Administrator\桌面\新資料夾\[test2.xlsx]Sheet1'!$A2,即可得到其值1
如果我要將='C:\Documents and Settings\Administrator\桌面\新資料夾\[test2.xlsx]Sheet1'!$A2,那段的路徑換成B1的路徑那A3的函數要如何更改?才會得到那個值1??
作者: Hsieh    時間: 2011-4-12 22:25

或許你要的是這個
indirect(B1&"[test2.xlsx]Sheet1'!$A2")
作者: james417    時間: 2011-4-14 09:29

又多學了一個函數
感謝分享
作者: yanto913    時間: 2011-5-12 08:47

回復 7# Hsieh


  我依此操作設定可是無法成功耶!其他人測試都成功嗎?
作者: mark15jill    時間: 2011-5-12 09:02

回復 10# yanto913


   可以上傳您所謂的 無法成功的檔案嗎??
不然很難讓人幫助到您
作者: jimmuLu    時間: 2011-5-12 11:14

本帖最後由 jimmuLu 於 2011-5-12 11:16 編輯

回復 7# Hsieh


    版大

我依照函式去寫,好像行不通,煩請檢視一下,感謝囉



好像是差了  '    吧
作者: ANGELA    時間: 2011-5-12 16:58

=INDIRECT("'"&B1&"[test2.xlsx]Sheet1'!$A2")
作者: yanto913    時間: 2011-5-12 17:42

上傳檔案給各位先進看看,哪裡有問題
檔案我放在路徑最簡易的D槽第一層
作者: 棋語鳥鳴    時間: 2011-5-12 19:26

試試這個看看indirect('B1&"[test2.xlsx]Sheet1'!$A2")
作者: Hsieh    時間: 2011-5-12 19:27

本帖最後由 Hsieh 於 2011-5-12 19:28 編輯

外部連結的檔案目錄字串
你把任一儲存格輸入=
然後點選該檔案的任儲存格,公式就會直接顯示出來,沒有磁碟目錄的位址
把該檔關閉後就會顯示出全部的目錄字串
依照該字串來看該怎樣拼湊出該字串
[attach]6150[/attach]
作者: yanto913    時間: 2011-5-13 08:08

回復 17# Hsieh


    版主大大
在14樓的附檔我已經這樣做了,可是仍然不行耶!
可以煩請幫我看一下是哪裡有問題嗎?
作者: jimmuLu    時間: 2011-5-13 10:26

本帖最後由 jimmuLu 於 2011-5-13 10:28 編輯

回復 18# yanto913


    Hello,我也有這個問題,Hsieh已經提示了,

函式沒問題,我去看了說明,原來是我們沒注意,應該先開參考檔後再開書寫函式那個檔就可以看到了。

PS:也就是先開2.xls,再開1.xls

語法

INDIRECT(ref_text,a1)

Ref_text   是個單一儲存格的參照位址;而這個儲存格含有依 A1 格式或 R1C1 格式所指定的參照位址、一個定義為參照位址的名稱或是一個定義為參照位址的字串。如果 ref_text 不是一個有效的儲存格位址,則 INDIRECT 傳回錯誤值 #REF!。

如果 ref_text 指向另一個活頁簿 (外部參照),則那個活頁簿必須已經是開啟的,否則 INDIRECT 傳回錯誤值 #REF!。
作者: yanto913    時間: 2011-5-13 16:46

回復 19# jimmuLu


    必須開啟另一個XLS,那應用面就比較少了
而且檔案必須是開啟的,所以就不需設定路徑
直接設檔名就好,設路徑反而無法連結
=INDIRECT("'"&B1&"[test2.xlsx]Sheet1'!$A2")
改成
=INDIRECT("'"&"[test2.xlsx]Sheet1'!$A2")




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)