我需要帮助在列E中搜索值= 1并返回同一行的列A的值。 VLOOKUP不起作用,因为搜索的列很多,查找中有几个1,我似乎无法使用VLOOKUP搜索一列。这是我的电子表格的外观......
A B C D E
1 Name Weight WeightRank Height HeightRank
2 Mike 170 3 6.3 2
3 Richard 200 1 6.0 3
4 Charles 185 2 7.0 1
所以我想在列E中搜索value = 1并在A列中返回相应的值,在本例中将搜索" HeightRank" for" value = 1"并返回"查尔斯"
我尝试使用=VLOOKUP(1,E:E,1)
,但会返回错误。
我尝试使用=VLOOKUP(1,A1:E3,1)
,但会返回错误。
答案 0 :(得分:4)
INDEX(A:A,MATCH(1,E:E,0))
VLOOKUP在这里不起作用 - 它总是在表的第一列中搜索并返回一个给定列数的列的值到右边。
INDEX / MATCH组合更灵活,您只需选择所需的两列即可。它也更容易阅读(您不必计算列数以查看它的作用)如果您在使用的列之间插入或删除列,它不会中断,VLOOKUP。如果使用跟踪公式功能,VLOOKUP也会错误地暗示其间的所有列都是结果公式的先例。 (你能告诉我,我不喜欢VLOOKUP吗?我总是使用INDEX / MATCH,我的生活也更容易。)
OFFSET解决方案有效,但它不稳定,因此如果许多单元格依赖于公式的结果,那么您将真正陷入工作表。
答案 1 :(得分:0)
MATCH(x,E2:E4,0)
返回x
范围内E2:E4
的相对位置。例如,MATCH(1,E2:E4,0)
返回3,因为1是E2:E4
范围内第三个单元格的值。
OFFSET(A2,r,c)
会返回距离r
远的单元格c
行和A2
列。
因此,您可以说=OFFSET(A2,MATCH(1,E2:E4,0)-1,0)
从A列返回对应于E列中包含1的单元格的值。