Vlookup匹配搜索词的所有值,而不只是一个。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Vlookup匹配搜索词的所有值,而不只是一个。相关的知识,希望对你有一定的参考价值。

因此,以下公式仅返回范围中的第一个值。我需要索引所有匹配的搜索结果而不是1。

=Vlookup("*" & B3 & "*",A:A,1,0)

SPREADSHEET LINK

答案

使用Google表格使用查询:

=QUERY(A:A,"select A where A contains """ & B3 &"""")

enter image description here


由于您有Excel标签,因此请使用excel的此公式:

=IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:INDEX(A:A,MATCH("ZZZ",A:A)))/(ISNUMBER(SEARCH($B$3,$A$2:INDEX(A:A,MATCH("ZZZ",A:A))))),ROW(1:1))),"")

复制/拖动它足以满足您的需求。

enter image description here

另一答案

另一种选择是

=FILTER(A2:A, SEARCH(B3, A2:A))

过滤掉可以找到字符串的值,并且还支持字符串中的通配符,或者可以扩展为匹配正则表达式。

另一答案

vlookup旨在始终为您提供一个结果。您的查询匹配然后它将返回值,否则它将返回错误。如果你想要所有的价值观,我会推荐一种不同的方法。

  1. 在列旁边创建一个列(在您的情况下为A:A),并用条件=IF($A1 = ("*" & B3 & "*", 1, 0)填充它。此列应填充0和1,具体取决于列B的内容。
  2. 使用A列中的值执行任何操作,并将新创建的列作为条件。例如,将A列中与您的条件匹配的所有值相加:=SUMIFS(A:A, B:B, "=1")

我希望这有助于简化您的Excel。如果您需要进一步的帮助,可以详细说明A和B列的内容以及您希望使用=vlookup()实现的目标。

以上是关于Vlookup匹配搜索词的所有值,而不只是一个。的主要内容,如果未能解决你的问题,请参考以下文章

公式中另一个工作簿的不匹配的Vlookup数据

excel公式中:查找值,数据表,列序表,匹配条件各是啥意思?

VLOOKUP 具有多个标准,在一个单元格中返回值

VLOOKUP 最后一个值 用0和1匹配不准确 改为2就可以了 请问2代表的是啥?

如何仅搜索 HTML 列表中的特定跨度标记而不搜索所有列表项? (jQuery)

es深入搜索之部分匹配