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

时间:2017-04-25 14:27:39

标签: excel google-sheets excel-formula vlookup gs-vlookup

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

[1.0, 0.5, 0.25, 0.125, 0.0625]

SPREADSHEET LINK

3 个答案:

答案 0 :(得分:3)

使用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

答案 1 :(得分:2)

另一种选择是

data

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

答案 2 :(得分:0)

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

  1. 在列旁边创建一个列(在您的情况下为A:A),并用条件=IF($A1 = ("*" & B3 & "*", 1, 0)填充它。此列应填充0和1,具体取决于列B的内容。
  2. 使用A列中的值执行任何操作,并将新创建的列作为条件。例如,将A列中与您的条件匹配的所有值相加:=SUMIFS(A:A, B:B, "=1")
  3. 我希望这有助于简化您的Excel。如果您需要进一步的帮助,请详细说明A列和B列的内容以及您希望通过=vlookup()实现的目标。