我正在建立一個工作簿(電子表格),其中有按月份標記的工作表;例如,「12 月 12 日」、「12 月 12 日」等。我需要 VLOOKUP 能夠根據任何給定工作表的名稱更改它的外觀,而不必每次都更改公式。我找到了這個答案,它對於我也擁有的不同工作簿中的 VLOOKUP 非常有用,但我無法讓它在同一個工作簿中工作。
=VLOOKUP(A1, INDIRECT(CONCATENATE("'[Datafile.xlsx]",B1,"'!$A1:F500")), 3, False)
答案1
首先,
CONCATENATE(
事情1,
事情2,
事情3)
可以縮寫
事情1
&
事情2&
事情3
它們的含義相同,但第二種形式(顯然)佔用的空間更少,因此有些人可能會發現它更容易閱讀。
您的問題似乎有點模糊 - 您沒有說何時要引用同一工作簿,以及何時要訪問不同的工作簿。所以請填空。由於您似乎已經使該VLOOKUP
部分正常工作,因此問題歸結為參考部分。換句話說,如何適應
INDIRECT(CONCATENATE("'[Datafile.xlsx]", B1, "'!$A1:F500"))
我們可以縮寫為
INDIRECT("'[Datafile.xlsx]" & B1 & "'!$A1:F500")
所以嘗試一下
INDIRECT("'" & IF(
狀態, "", "[Datafile.xlsx]") & B1 & "'!$A1:F500")
在哪裡狀態是您要使用目前文件的條件。換句話說,連接單引號 ( '
),有條件地顯示工作簿名稱(在括號中)或不,然後是工作表名稱(我假設這就是 中的內容B1
)、第二個引號、感嘆號和單元格範圍。