Excel VLOOKUP,其中键不在第一列中

Excel VLOOKUP where the key is not in the first column

提问人:BrianFreud 提问时间:7/28/2016 更新时间:9/29/2022 访问量:76447

问:

“查找值所在的范围。请记住,查找值应始终位于 VLOOKUP 正常工作的范围内的第一列中。例如,如果您的查找值位于单元格 C2 中,则您的范围应以 C 开头。

但有时我希望能够进行双向查找。即,使用 A 列中的键查找以获取 B 列中的值,同时在其他公式中查找 B 中的值以获取 A 中的值。

我知道的唯一方法是添加一个镜像 A 的列 C,然后使用 AB 进行第一次查找,使用 BC 进行第二次查找。但必须有一些更清洁的解决方案。有没有办法强制 VLOOKUP 使用除第一列以外的其他列来查找键值,或者是否有不同的函数可以允许等效的列?

顺便说一句,我问的是 Excel,但我实际上使用的是 LibreOffice。据推测,这些功能应该是相同的,但最好是在 LibreOffice 中也有效的答案。

Excel 电子表格 vlookup libreoffice

评论

2赞 Scott Holtzman 7/28/2016
Index | Match

答:

51赞 Scott Craner 7/28/2016 #1

INDEX/MATCH 将执行任何搜索方向。

因此,对于您的 B --> A 示例:

=INDEX(A:A,MATCH(yourCriteria,B:B,0))

MATCH 返回匹配项的行号。第三个标准是可选的。这与 VLOOKUP 的第四个标准相同,因为它寻找完全匹配。00FALSE

默认情况下,对数据进行排序后,它将返回小于或等于条件的匹配项,例如 VLOOKUP 的 TRUE。1

从中,INDEX 找到并返回正确的值。


随着动态数组公式 XLOOKUP 的引入,我们可以使用:

=XLOOKUP(yourCriteria,B:B,A:A,"",0)

评论

0赞 BrianFreud 7/28/2016
非常感谢!让它工作有点麻烦,但它有效。:)
0赞 David Leal 3/21/2019
@Scott Craner,您是否有类似的 excel 表而不是范围的解决方案?
0赞 Scott Craner 3/21/2019
@DavidLeal这是一个新问题,请发布一个新问题,而不是在旧线程上提问。
3赞 David Leal 3/29/2019
@ScottCraner 我使用您的想法找到了它: ,其中分别是 excel 表对象和第一列和第二列的名称。INDEX(Table1[A], MATCH(yourCriteria, Table1[B],0)Table1AB
0赞 David Leal 9/30/2022
@ScottCraner我删除了我的答案,对不起,我没有意识到在您的答案末尾,您为引入的新 excel 函数提供了解决方案。我很抱歉。XLOOKUP