2016-08-03 81 views
0

我想從不同的excel文件(比如File-AAA.xlsx,File-ABC.xlsx等)獲取值。 ¿如何在不手動輸入文件名的「ABC」部分的情況下引用所述文件,但是要從當前表單中取出從單元格獲取文件名的參考Excel文件

Excel question example

在這個例子中,我們的電流片,我們希望得到A1和A2的值,從文件,ABC.xlsx文件,總結他們。

例如,在B2的,而不是寫:

=SUM('\\server\path\[File-ABC.xlsx]Data'!A1:A2) 

我希望能夠把它寫成

=SUM('\\server\path\[File-*REFERENCE TO CELL*.xlsx]Data'!A1:A2) 

其中*參考CELL *爲尋求文本字符串引用包含「ABC」(A2)的單元格。

回答

3

您可以使用間接功能。 事情是這樣的 -

=SUM(INDIRECT("'\\server\path\[File-"&A2&".xlsx]Data'!A1"&":"&"A2")) 

編輯-1: 您可以使用相同的語法來引用所需的本地目錄,只需更換\服務器\路徑[文件 -與路徑新的目錄。瀏覽到相關文件夾後,您可以從文件資源管理器複製路徑。

例如,以路徑從您的評論(修正後)

=SUM(INDIRECT("'C:\Users\PeteThePanda\Spreadsheets[File-"&A3&".xlsx]Data'!A1"&‌​":"&"A2")) 
+0

FWIW,在[INDIRECT函數(https://support.office.com/en-us/article/indirect-function-21f8bcfc-b174 -4a50-9dc6-4dfb5b3361cd)不能用於引用已關閉的外部工作簿。 – Jeeped

+0

這工作!但是如果它是一個本地文件,比如位於C盤中,我無法弄清楚它的語法。如果該文件位於 「C:\ Users \ PeteThePanda \ Spreadsheets \」目錄中,該怎麼辦?你能否提供另一個案例的例子? –

+0

我在回答編輯中提供了一個示例。希望有所幫助。 – Mohit

0

更直接的方法是在總和之外設置一個條件語句,例如:如果當前工作簿中A2的值是ABC,則轉到此路徑並輸入總和。

例如

=if(A2="ABC",sum('\\server\path\[File-ABC.xlsx]Data'!A1:A2),if(A2="AAA", sum('\\server\path\[File-AAA.xlsx]Data'!A1:A2),"No File"))

注意,你可以,如果有更多的文件添加額外的嵌套的IF。只要開始一個新的,如果我寫了「無文件」。

相關問題