2016-01-22 118 views
1

我正在Excel中做一些數據處理工作。我需要做的是從順序編號的工作簿(如1.xlsx,2.xlsx,3.xlsx等)中獲取單元格中的值(如D3)。等等。帶有Excel INDEX()函數的動態文件名

我不能使用INDIRECT()函數,因爲它需要打開所有的目標文件(在我的情況下這是不可能的)。所以,我使用INDEX()函數具有以下值:

性指數(1.xlsx]工作表Sheet1 d:d,1,1)

現在,我想大膽的部分公式基於左列中的數字是dyamic如下圖所示的圖像: enter image description here 有人請提出解決手頭的問題,因爲我在提前google搜索:)

感謝累。

+0

應該做的一切你需要:'公共功能evalu(str作爲字符串)作爲變:evalu =評估(STR):端功能' –

回答

0

也許有人會證明我錯了,但我不相信這是可能產生這樣的動態參考無資源,間接的,除非你是開心的手寫(靜態)方法,例如:

=INDEX(CHOOSE(ROWS($1:1),[1.xlsx]Sheet1!D:D,[2.xlsx]Sheet1!D:D,[3.xlsx]Sheet1!D:D),1,1)

雖然這要求在公式中明確輸入每個工作簿參考。因此,這也意味着無法通過引用工作表中的任何單元格創建這些內容,正如您可能希望的那樣。

或者,如果VBA是一個選項:

Sub Indexing() 

Dim i As Long 

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row 
    Range("B" & i).Formula = "=INDEX([" & Range("A" & i).Value & ".xlsx]Sheet1!D:D,1,1)" 
Next i 

End Sub 

問候

+0

是否有通過VBA進行此操作的方法? –

+0

你沒有在你的帖子中標記「VBA」。只有「excel」和「索引」。 –

+0

現在「VBA」在標籤中,現在有可能嗎? –