使用`VLOOKUP`返回搜索键的上一列(Google表格)

时间:2019-10-25 21:00:25

标签: google-sheets google-sheets-formula

我需要一个可以使用ARRAYFORMULA的系统,所以我使用VLOOKUP。让我们转到示例:

ABA   ZZZ
EBE   XXX
IBI   TTT
OBO   UUU
UBU   VVV

在这种情况下,如果我想查找IBI并返回下一列,我将使用=VLOOKUP("IBI",A1:B,2,FALSE)并返回TTT

现在,如果是这样,如果我想搜索TTT以返回其前面的列,以获取值IBI,我应该如何进行?

我尝试在-1的{​​{1}}中使用index,并且还尝试使用VLOOKUP来反转列,但没有一个可行。

如果认为最好直接通过电子表格进行帮助,请在此处保留链接:

https://docs.google.com/spreadsheets/d/1PTmWDpD_xmI4WEIGuveduuTZGdyndc9aJd_GRPX8E4k/edit?usp=sharing

4 个答案:

答案 0 :(得分:2)

我能够找到最好的方法,仅搜索一个值,就可以按如下方式使用它:

=ARRAYFORMULA(iferror(VLOOKUP("TTT",{B:B,A:A},2,FALSE)))

如果您要查找放置在不同行上的多个值,则可以安静地与ARRAY一起使用,只需将"TTT"更改为所需值列,例如D列,像这样:

=ARRAYFORMULA(iferror(VLOOKUP(D1:D,{B:B,A:A},2,FALSE)))

答案 1 :(得分:1)

  

如果我想搜索TTT以返回其前面的列,以获取IBI值,我应该如何进行?

我不了解Google表格,但是您无法使用Excel。您的数据必须从左到右排列,并且您要查询的索引被解释为在右边。您不能要求它向左走。

有一些技巧和替代公式可以反向执行,但是对VLOOKUP的香草调用只是从左到右。

反方向的替代方法:https://www.exceltip.com/lookup-formulas/reverse-vlookup-in-microsoft-excel.html

答案 2 :(得分:1)

将标头添加到数据中可以快速解决问题,并使您可以向左或向右移动。

=INDEX($A$1:$B$6,MATCH(E5,$B$1:$B$6,0),MATCH(D5,$A$1:$B$1,0))
=INDEX(Index('entire data set'), MATCH('TTT', column where 'TTT' is,0),match('Your data header along row 1')

your data with headers

答案 3 :(得分:0)

尝试一下:

=index(A:A, match("TTT", B:B), 1)

Match返回行号,索引在'A:A'中的行号处搜索第一列。

参考:https://www.excel-easy.com/examples/left-lookup.html