如何在 Excel 中使用 INDIRECT 引用工作表名称?

如何在 Excel 中使用 INDIRECT 引用工作表名称?

在此处输入图片描述

例如,我有床单

Level 3 Grade G
Level 4 Grade F
Level 5 Grade E
Level 6 Grade D
Level 7 Grade C
Level 8 Grade B

我希望使用单元格F2来表示这些名称并进行引用。例如,F2Level 3 Grade G

我希望

=VLOOKUP(A2,'Level 3 Grade G'!$A$1:$B$30,2)

什么时候F2Level 4 Grade F

=VLOOKUP(A2,'Level 4 Grade F'!$A$1:$B$30,2)

什么时候F2Level 5 Grade E

=VLOOKUP(A2,'Level 5 Grade E'!$A$1:$B$30,2)

我尝试过类似

=VLOOKUP(A2,Indirect(F2)!$A$1:$B$30,2)

但似乎没有起到作用。

正如你从下面看到的,B2我使用了精确的公式,

=VLOOKUP(A2,'Level 3 Grade G'!$A$1:$B$30,2)

我怎样才能让它自动F1作为工作表名称?

答案1

如果Sheet 2 (请注意工作表名称中的空格)就好像:

在此处输入图片描述

然后在另一张表中:

=VLOOKUP(A2,INDIRECT("'" & F1 & "'!$A$1:$B$30"),2,FALSE)

在此处输入图片描述

答案2

您真正想要尝试的是,使用查找方法从相同数据范围获取多张工作表中的值,以便与中的数据进行特定匹配A2

在此处输入图片描述

怎么运行的:

  • 在 中Sheet 4输入工作表名称,如范围 所示G150:G152
  • 分配标题Sheet List,或您选择的任何内容。
  • 选择G149:G152,然后从Formula TAB,名称管理器部分,点击C从选择和检查中得出电视操作行。
  • 在单元格中输入此公式J149并向下填充。

    =VLOOKUP(I149,INDIRECT("'"&INDEX(Sheet_List,MATCH(1,--(COUNTIF(INDIRECT("'"&Sheet_List&"'!$G$141:$H$144"),I149)>0),0))&"'!$G$141:$H$144"),2,FALSE)
    

您也可以使用这个。

 =IFERROR(VLOOKUP(I149, Sheet1!$G$141:$H$144, 2, FALSE), IFERROR(VLOOKUP(I149, Sheet2!$G$141:$H$144, 2, FALSE), IFERROR(VLOOKUP(I149, Sheet3!$G$141:$H$144, 2, FALSE),"Not found")))

注意:

  • Sheet_List是命名范围,从 Sheet 1 到 Sheet 3 读取匹配数据G141:H144

  • 为了显示来自三张表的数据,因为我需要在一个屏幕上容纳数据,这就是为什么你会在不同的列中找到它们,否则应该具有相同的数据范围。

  • 您可以根据需要更改工作表名称以及公式中的单元格引用。

相关内容