如何在公式中使用单元格中的工作表名称?

如何在公式中使用单元格中的工作表名称?

我正在尝试根据单元格值在公式中引用另一张表。

我有一本工作簿,其中有 3 个工作表,分别是“公式”、“字母”和“数字”。在公式工作表上,单元格 B1 是工作表名称的列表,即:“字母”或“数字”。单元格 B2 是值 1-4 的列表。

我想根据单元格 B1 中选择的内容(即工作表名称),使用 B4 中的公式对“字母”或“数字”工作表进行 VLookup。

当我尝试将包含工作表名称的单元格放入 Vlookup 公式中时,它会打开一个对话框供我选择一个工作簿。

=VLOOKUP(B2,'B1'!A1:B4,2,0)

答案1

我找到了解决方案INDIRECT() 这里

以我为例:

=VLOOKUP(B2,INDIRECT("'"&B1&"'!A1:B4"),2,0)

答案2

请注意 INDIRECT() 是不稳定的,即它会减慢工作簿的速度,因为它会在工作簿中发生任何更改后导致重新计算。

如果您的工作表名称在单元格 B1 中,则可以使用非易失性方法和现代函数,例如 IFS() 或 SWITCH()。

=IFS(B1="Formulas",VLOOKUP(B2,Formulas!A1:B4,2,0),B1="Letters",VLOOKUP(B2,Letters!A1:B4,2,0),B1="Numbers",VLOOKUP(B2,Numbers!A1:B4,2,0))

=SWITCH(B1,"Formulas",VLOOKUP(B2,Formulas!A1:B4,2,0),"Letters",VLOOKUP(B2,Letters!A1:B4,2,0),"Numbers",VLOOKUP(B2,Numbers!A1:B4,2,0))

设置工作需要多做一些工作,但从长远来看,工作簿将通过更快的计算来弥补这一点。

相关内容