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,所以无法检查是否可以正常工作。 一旦我尝试了一些东西,我会更新这个答案。