使用Excel匹配结果作为列select

我有一个MATCHexpression式返回有效的行号。 我现在需要将这个结果与已知的列标识符结合起来,以返回该单元格的结果。

所以,如果A50 =“apple”,那么我可以得到单元格D50的内容。

看着间接和索引,但没有看到如何帮助。

回答:

= INDEX( 'SHEET1' A:d,MATCH(SHEET2 A2, 'SHEET1' B:!B,0),4)

我得到INDEX工作。 再读了一些。

“SHEET1”!A:D是INDEX的范围。 MATCH(SHEET2!A2,'SHEET1'!B:B,0)根据我的MATCH标准拉行。 4是使用上面的MATCH中的行号返回单元格内容的COLUMN。

希望这会帮助别人了解如何使用INDEX。

给VLOOKUP一个尝试。 例如,

=VLOOKUP("apple",$A$1:$D$100,4,false) 

这是一个非常有用的function。

= INDEX( 'SHEET1' A:d,MATCH(SHEET2 A2, 'SHEET1' B:!B,0),4)

我得到INDEX工作。 再读了一些。

“SHEET1”!A:D是INDEX的范围。 MATCH(SHEET2!A2,'SHEET1'!B:B,0)根据我的MATCH标准拉行。 4是使用上面的MATCH中的行号返回单元格内容的COLUMN。

不过,其他选项也非常有帮助。

INDIRECT允许您通过使用dynamic值指定其位置来引用表单中的任意单元格。 在你的情况下,你会想要做这样的事情:

 =INDIRECT("D"&MATCH(<your match here>)) 

这将返回您给出的示例中单元格D50的值。 Excel文档说,它返回一个“参考”的单元格,但实际上它立即评估单元格的价值。

VLOOKUP ,这种方法的主要优点是INDIRECT可以引用任意的单元,而VLOOKUP需要一个已知的数据范围和一个匹配的值。 例如,如果您的MATCH条件引用了您要提取的数据中的另一个工作表,那么您的最佳select是INDIRECT