在Excel中如何动态确定使用的表名?

在Excel中如何动态确定使用的表名?

我想要一个 VLOOKUP,其中我使用的表是动态确定的....例如:

If I have tables named Rnd_1, Rnd_2, Rnd_3...

我希望能够根据数字选择 VLOOKUP 将使用哪个表...

I have tried =VLOOKUP("value",CONCATENATE("Rnd_"+A1),2,FALSE) where A1 has a valid numeric value.
这是行不通的。

I also tried =VLOOKUP("value",INDIRECT(CONCATENATE("Rnd_"+A1)),2,FALSE)
这也行不通。

如何动态确定要使用的表名?

谢谢!

答案1

Engineer Toast 和 Byron Wall 都给出了正确答案。函数concatenate()应该是concatenate("Rnd_", $A$1),或者你可以简单地提出这个论点"Rnd_"&$A$1

我想补充一点。如果您保持A1原样,它将被视为相对引用。这意味着当您复制和粘贴公式时,它将引用相对于旧位置的新位置的单元格。为了保持公式指向,A1您需要使用 $,所以$A$1。您还可以命名要获取值的单元格并执行此操作"Rnd_"&ValName,这样引用将始终指向该单元格...如果您不希望它是相对的。

最后一条提示。如果您拥有非常大的数据集,则您希望尽可能保持简单,因为这将使开销保持较低。在动态单元格旁边创建一个连接单元格,说B1并创建它="Rnd_"&$A$1,然后让vlookup参数指向B1,否则您最终可能会让 excel 在不需要时调用数千次连接函数,从而减慢计算的执行速度。

相关内容