Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Excel匹配结果作为列选择_Excel_Worksheet Function_Excel Match - Fatal编程技术网

使用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有时遇到的升序问题。