Excel 使用另一个单元格的值进行结构化引用查找

Excel 使用另一个单元格的值进行结构化引用查找,excel,Excel,以下几点效果很好: =查找(A9,人物[姓名],人物[年龄]) 其中A9包含我正在查找的人的姓名。这是他们的年龄,没问题 以下是我想做的: =查找(A9,项目[名称],项目[D4]) 其中D4包含我在表中查找的列的标题。因此,如果D4包含“年龄”一词,它将收集该人的年龄 我该怎么做呢? 谢谢大家! [修订] 如果列是可变的,我想您需要一个INDEX/MATCH/MATCH公式,例如,对于名为Items的表,请尝试此公式 =索引(项目,匹配(A9,项目[名称],0),匹配(D4,项目[#标题],0

以下几点效果很好:
=查找(A9,人物[姓名],人物[年龄])
其中A9包含我正在查找的人的姓名。这是他们的年龄,没问题

以下是我想做的:
=查找(A9,项目[名称],项目[D4])
其中D4包含我在表中查找的列的标题。因此,如果D4包含“年龄”一词,它将收集该人的年龄

我该怎么做呢? 谢谢大家!

[修订]

如果列是可变的,我想您需要一个INDEX/MATCH/MATCH公式,例如,对于名为
Items
的表,请尝试此公式

=索引(项目,匹配(A9,项目[名称],0),匹配(D4,项目[#标题],0))
[修订]

如果列是可变的,我想您需要一个INDEX/MATCH/MATCH公式,例如,对于名为
Items
的表,请尝试此公式


=INDEX(Items,MATCH(A9,Items[Name],0),MATCH(D4,Items[#Headers],0))
您可以使用
INDIRECT()
解析文本字符串作为引用

=LOOKUP(A9,Items[Name],INDIRECT("Items["&D4&"]"))

您可以使用
INDIRECT()
解析作为引用的文本字符串

=LOOKUP(A9,Items[Name],INDIRECT("Items["&D4&"]"))

我不确定查找是否是最好的方法,即使是对于原始公式。仅当查找范围(在本例中为“人员[姓名])按升序排序时,查找才会正常工作……即使如此,您也可能会得到错误的匹配-如果A9列表中不包含姓名,则公式将返回年龄(在大多数情况下),可能最好使用INDEX/match进行精确匹配,即
=INDEX(人员[年龄]、match(A9,人员[姓名]、0))
Ok@barryhoudini,我可以改变。。。那么,我该如何实现另一半呢?很抱歉,当我问这个问题时,没有给出答案。我不确定查找是否是最好的方法,即使对于您最初的公式也是如此。仅当查找范围(在本例中为“人员[姓名])按升序排序时,查找才会正常工作……即使如此,您也可能会得到错误的匹配-如果A9列表中不包含姓名,则公式将返回年龄(在大多数情况下),可能最好使用INDEX/match进行精确匹配,即
=INDEX(人员[年龄]、match(A9,人员[姓名]、0))
Ok@barryhoudini,我可以改变。。。那么我该如何实现另一半呢?很抱歉,当我问这个问题时,没有给出答案。