English Deutsch Français Italiano Español Português 繁體中文 Bahasa Indonesia Tiếng Việt ภาษาไทย
所有分類

我要使用VLOOKUP函數
在這之中 vlookup(lookuo_value, table_arrary, Col_index_num, [range_lookup])
在table_arrary的部份,是一個變數,我必須指定某欄位給予的值或文字,來使用它

例如
A1=001
A2=abc
A3=vlookup($A$1, [abc.xls]Sheet1!$A$1:$S$24, 1, false)

因為A2是要我找尋資料ㄉ依據,想將table_arrary用A2.xls
但是 我一直無法將table_arrary改成隨A2改變找資料

各位大大 有好的建議嗎

2007-02-20 00:01:16 · 3 個解答 · 發問者 小硯硯 2 in 電腦與網際網路 軟體

小螃蟹大大 謝謝你喔
依照你的方法,我還是無法順利解決
=VLOOKUP($A$1,INDIRECT( 'C:\Documents and Settings\Miffy\桌面\TEST\[&"$A$2"&.xls]Sheet1'!$A$1:$S$24), 2, FALSE)

2007-02-21 09:20:52 · update #1

果真如同螃蟹大大所言,必須開啟相關的檔案,才能正確的執行

=VLOOKUP($A$1,INDIRECT("["&$A$2&".xls]Sheet1!$A$1:$S$24"),2,FALSE)

以上是可以使用的,但是如果我想要加上正確的路徑就無法正常的使用
另外
要開啟相關的檔案部份相當的多(可能會有100個以上),因此,我才會想用A2欄位,來輸入相關的檔名,進而連接相關的檔案求取資料,或許螃蟹大大有其他好用的函數可以代替,我特地買了2本相關的書籍,努力研究中,也請大大協助我解除疑惑

2007-02-21 13:44:45 · update #2

我測試結果也是如此
使用INDIRECT 必須開啟檔案
如果使用VLOOKUP 就不用
但是 VLOOKUP就必須將路徑寫死

螃蟹兄 謝謝你

2007-02-24 10:15:28 · update #3

3 個解答

將公式修改如下,
=VLOOKUP($A$1,INDIRECT(``[`` & A2 & ``.xls]Sheet1!$A$1:$S$24``),1,FALSE)

只要A2的值改變,公式中的table_arrary也會改變至A2的值所代表的檔案,但在修改A2值,要將相關檔案開啟 (因路徑的關係)

我做了一個例子測試,供你參考.
檔案 abc.xls        檔案 cde.xls
   A   B         A   B
-----------------------------    ----------------------------------
1 |A001  5      1 |A001  3
2 |B002  1      2 |B002  9
3 |C003  8      3 |C003  6

當我在另一個檔案輸入下列資料

   A
--------------------------
1 |A001
2 |
3 |=VLOOKUP($A$1,INDIRECT(``[`` & A2 & ``.xls]Sheet1!$A$1:$S$24``),2,FALSE)

當我A2輸入值 abc,A3得出結果為 5
當我A2輸入值 cde,A3得出結果為 3

不知道你的意思是不是這樣

(公式中 ``為Excel代表文字所使用之符號,在輸入Excel記得要修改,因為我po到知識會變亂碼)

2007-02-21 18:04:56 補充:
我曾試著將路徑輸入公式中,就如同你所列出的公式,但是失敗,
只能如同我列出的公式,並將相關檔案開啟,如此可隨著A2的值變更其值.

2007-02-21 23:49:55 補充:
我查詢了Excel說明有關Indirect:
如果 ref_text 指向另一個活頁簿 (外部參照),則那個活頁簿必須已經是開啟的,否則 INDIRECT 傳回錯誤值 #REF!。

我試著將路徑加入公式中
=VLOOKUP(A1,INDIRECT("'C:\Documents and Settings\ABC\My Documents\[" & A2 & ".xls]Sheet1'!$A$1:$B$3"),2,FALSE)

當A2改變時,相關檔案要開啟才會更新.這是目前我所能想到的,或許其他Excel高手有更好的方法.

2007-02-22 12:43:22 補充:
=VLOOKUP(A1,INDIRECT("'C:\Documents and Settings\ABC\My Documents\[" & A2 & ".xls]Sheet1'!$A$1:$B$3"),2,FALSE)

2007-02-22 12:44:07 補充:
斜線不見啦...

2007-02-20 09:11:14 · answer #1 · answered by 明純 5 · 0 0

若傳回的值皆為數值,建議試試sumif

2007-02-21 19:12:17 · answer #2 · answered by ? 3 · 0 0

依您A3的公式與您的問題,有些意見提供給您參考:
1.公式中的$A$1,與您發問中的「A2是要我找尋資料ㄉ依據」有衝突,應該把公式改為:vlookup($A$2, ......)吧!?

2.另外公式中的第三參數「1」,也有點怪,因為通常不會傳回第一欄的值,因為第一欄的值就等於您要找尋的依據....若您是要比對是否有資料,那麼應該用COUNTIF就可以了!否則公式中的1應該更改為2~19吧!

2007-02-20 05:51:01 · answer #3 · answered by 6 · 0 0

fedest.com, questions and answers