一、需求
Excel 中,在一列(某范围内)查找另一列特定的值,并返回同一行中另一指定列的值, 查找列和返回列的顺序不一样
二、 实现
1、下面是一个使用 INDEX
和 MATCH
函数的例子:
假设你有以下数据:
A | B | C | D |
---|---|---|---|
Name1 | Value1 | Value2 | Value3 |
Name2 | Value4 | Value5 | Value6 |
Name3 | Value7 | Value8 | Value9 |
你想要根据名字查找,并返回相应的值,但你希望查找范围的顺序和返回列的顺序不同。
你可以使用以下公式:
=INDEX(B1:D3, MATCH("Name2", A1:A3, 0), 1)
这个公式将会在 A 列中查找 "Name2",然后返回与之匹配的行的第一列(B 列)的值。这个例子中,它会返回 "Value4"。
2、如果你想在填充公式时保持被引用的范围不变,你可以在范围的字母和数字部分上添加 $
符号。这样做可以锁定范围,使其在填充时不会改变。在你的公式中,如果你希望范围 X5:X604 保持不变,你可以这样修改:
=INDEX($X$5:$X$604, MATCH(AH6, $Y$5:$Y$604, 0), 1)
在这个修改后的公式中,$
符号将 X5:X604
和 Y5:Y604
这两个范围锁定,这样当你向下填充时,这些范围不会改变。
3、实例
=INDEX(B2:B5000, MATCH(E2, A2:A5000, 0), 1)