在EXCEL中调用不同工作表的相同单元格

我有一个下拉列表(带名称的表),并根据这个值,假设我select图片中的Sheet4,我想把另一个表格中的select的值,比方说单元格B8。

在这里输入图像描述

我知道这是有效的:

=IF(B1="Sheet1", Sheet1!B8, IF(B1="Sheet2", Sheet2!B8, Sheet3!B8)) 

这只是3张,但有没有更好或更有效的方法来做到这一点?

一般情况下,这些表格是这样的:

在这里输入图像说明

使用INDIRECT从text-that-looks-like-a-worksheet-and-cell-reference 1构造有效的工作表和单元格引用

间接接受一个string并将其转换为有效的引用。

 =INDIRECT("'" & B1 & "'!B8") 

所以在上面的情况下,它会创build一个string"'Sheet4!B8" 。 然后间接将它变成一个有效的单元格引用。

由于Jeeped在注释B8中也指出,因为它是文本文本,所以如果公式被复制或拖拽到另一个单元格,它将不会改变。

B1是一个单元格引用,是相对的,因为它被复制或拖动到不同的单元格。


1根据@Jeeped评论