使用vlookup获得完全匹配,而is_sorted为TRUE

时间:2018-03-24 20:02:38

标签: google-sheets

使用排序== TRUE 选项时,是否可以使用Google表格 VLOOKUP 获得完全匹配

  • 更喜欢使用VLOOKUP,因为我返回了多个列。
  • 想要使用sort选项,因为数据范围非常大 (20,000行)

在阅读文档时我没有找到任何选项。如果有问题,我可能错过了一个选项。

EDIT;我还检查了 MATCH 函数,但sort选项与VLOOKUP相同 - 同样的情况。

EDIT;一个ArrayFormula spreadsheet供用户参考

EDIT;完整的公式我的目的参考使用答案(双VLOOKUP) - 甚至20,000行非常快

 ARRAYFORMULA(IF(VLOOKUP(B:B,SORT(UNIQUE(B:B)),1,TRUE)=B:B,VLOOKUP(B:B,QUERY(A:B,"select B, count(A) group by B order by B label count(A) ''"),2,TRUE),0))

1 个答案:

答案 0 :(得分:2)

双vlookup方法首先搜索主键本身,并且只有在找到主键时才继续从其他列中检索值。

如果A:B已按A排序,我们查找的值为42,那么公式为:

=if(vlookup(42, A:B, 1, true) = 42, vlookup(42, A:B, 2, true), na())

其中第一个vlookup检查42是否在A列中,然后才将作业传递给第二个。

如果A:B未排序,则可以按照

中的顺序进行排序
=if(vlookup(42, sort(A:B), 1, true) = 42, vlookup(42, sort(A:B), 2, true), na())