使用Excel匹配结果作为列选择
我有一个使用Excel匹配结果作为列选择,excel,worksheet-function,excel-match,Excel,Worksheet Function,Excel Match,我有一个MATCH表达式,返回有效的行号 现在,我需要将此结果与已知的列标识符相结合,以返回该单元格的结果 因此,如果在A50=“apple”,那么我可以得到单元格D50的内容 我查看了间接和索引,但没有看到它有什么帮助 回答: =INDEX('SHEET1'!A:D,MATCH(SHEET2!A2,'SHEET1'!B:B,0),4) 我得到了索引去工作。这需要更多的阅读 “SHEET1”!A:D是要使用的索引的范围 MATCH(SHEET2!A2,'SHEET1'!B:B,0)正在根据我的
MATCH
表达式,返回有效的行号
现在,我需要将此结果与已知的列标识符相结合,以返回该单元格的结果
因此,如果在A50
=“apple”
,那么我可以得到单元格D50
的内容
我查看了间接
和索引
,但没有看到它有什么帮助
回答:
=INDEX('SHEET1'!A:D,MATCH(SHEET2!A2,'SHEET1'!B:B,0),4)
我得到了索引
去工作。这需要更多的阅读
“SHEET1”!A:D
是要使用的索引的范围
MATCH(SHEET2!A2,'SHEET1'!B:B,0)
正在根据我的MATCH
标准拉动行
4
是列,使用上面的匹配
中的行号返回单元格内容
希望这能帮助其他人理解如何使用索引间接允许您通过使用动态值指定其位置来引用工作表中的任意单元格。在您的情况下,您需要执行以下操作:
=INDIRECT("D"&MATCH(<your match here>))
=间接(“D”&MATCH())
这将返回给定示例中单元格D50的值。Excel文档说它返回对该单元格的“引用”,但实际上它会立即计算为单元格的值
与VLOOKUP
相比,这种方法的主要优点是INDIRECT
将引用任何任意单元格,而VLOOKUP
需要已知的数据范围和匹配值。例如,如果您的匹配
标准引用了您想要提取的数据中的另一张表,那么最好的选择是间接
尝试一下VLOOKUP。比如说,
=VLOOKUP("apple",$A$1:$D$100,4,false)
这是一个非常有用的函数。=INDEX('SHEET1'!a:D,MATCH(SHEET2!A2,'SHEET1'!B:B,0),4)
我得去工作。我又读了几遍
“床单1”!A:D是索引要使用的范围。MATCH(SHEET2!A2,'SHEET1'!B:B,0)正在根据我的匹配条件提取行。4是使用上面匹配的行号返回单元格内容的列
但是,给出的其他选项也非常有用。您不想使用VLOOKUP()有什么特别的原因吗?看起来您的数据是以表格格式组织的。我找到了如何使索引工作的方法。我以前没有遇到过vlookup,但它看起来确实有效。你应该将你的答案作为答案发布,而不是对你的问题进行编辑。然后你应该接受自己的答案,将这个问题标记为已解决。为什么索引/匹配比VLOOKUP更好,有几个原因。索引/匹配在非常大的范围内更快;不要求查找字段位于返回字段之前,也不存在VLOOKUP有时遇到的升序问题。