![如何在 Excel 中使用 INDIRECT 引用工作表名称?](https://linux22.com/image/1622530/%E5%A6%82%E4%BD%95%E5%9C%A8%20Excel%20%E4%B8%AD%E4%BD%BF%E7%94%A8%20INDIRECT%20%E5%BC%95%E7%94%A8%E5%B7%A5%E4%BD%9C%E8%A1%A8%E5%90%8D%E7%A7%B0%EF%BC%9F.png)
例如,我有床单
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
来表示这些名称并进行引用。例如,F2
当Level 3 Grade G
我希望
=VLOOKUP(A2,'Level 3 Grade G'!$A$1:$B$30,2)
什么时候F2
是Level 4 Grade F
,
=VLOOKUP(A2,'Level 4 Grade F'!$A$1:$B$30,2)
什么时候F2
是Level 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
答案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
。为了显示来自三张表的数据,因为我需要在一个屏幕上容纳数据,这就是为什么你会在不同的列中找到它们,否则应该具有相同的数据范围。
您可以根据需要更改工作表名称以及公式中的单元格引用。