Excel:根据两个引用返回单个值

我有两个值,一个人会在列B中input信息:

电子表格名称:信息
       AB
 1级2
 2class2class

在工作簿中的第二个电子表格中,我有一个包含各种表格的数据电子表格。

所以当一个人input信息的时候!InfoB2数据validation下拉菜单,它会返回公式应该使用的表格名称来search与InfoB1关联的数据表中的值。

    电子表格名称:数据
    表名称:1级
           AB
     1级BAB
     2 --------------------
     3 1 8
     4 2 3

    表名:第2类
           AB
     1级BAB
     2 --------------------
     3 1 2
     4 2 7

所以当有人进入Level:2和Class2时,我希望它返回BAB列中的值,我该怎么做?

编辑像这样的犹太人区,感觉就像是在正确的轨道上,但是它返回#VALUE!

     VLOOKUP(B1,VLOOKUP(B2,类,2,FALSE),2,FALSE)

表类

    表名:类
            AB
     1类名称表名称
     2类1类1表
     3类2类2表

你可以尝试下面的公式:

=INDEX(INDIRECT(B2&"[#All]"), MATCH(B1,INDIRECT(B2&"[[#All],[Level]]"),0), 2) 

这需要B2的值( Class2注意我删除了空格,因为表名不能包含空格),并与[#All]连接,所以你得到: Class2[#All] (这是表引用)。 INDIRECT将文本转换为有效范围。

INDIRECT(B2&"[[#All],[Level]]")类似地给出范围Class2[[#All],[Level]]

MATCH(B1,Class2[[#All],[Level]],0)给出了B1中的值被find的行号(即给出find2的行,意味着结果是4

=INDEX(Class2[#All], 4, 2)然后从第4行第2列的范围Class2[#All]返回值。

如果我理解正确,你会希望使用INDIRECT和/或这个结构化的参考语法 。 我目前无法访问Excel,所以无法检查是否可以正常工作。 一旦我尝试了一些东西,我会更新这个答案。