我需要一个可以使用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
答案 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')
答案 3 :(得分:0)
尝试一下:
=index(A:A, match("TTT", B:B), 1)
Match返回行号,索引在'A:A'中的行号处搜索第一列。