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

Vlookup all the values matching the search term instead of just one.

所以下面的公式 returns 只是范围中的第一个值。我有点需要将所有匹配的搜索结果编入索引,而不仅仅是 1 个。

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

SPREADSHEET LINK

使用 Google 个工作表使用查询:

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


因为你有 Excel 标签,所以使用这个公式 excel:

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

Copy/drag它足够满足你的需要了。

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

  1. 在您的列旁边创建一列(在您的情况下 A:A)并用您的条件填充它 =IF($A1 = ("*" & B3 & "*", 1, 0)。此栏应根据您的栏 B 的内容填充 0 和 1。
  2. 对A列中的值做任何你想做的事情,并把你新创建的列作为条件。例如,对 A 列中符合条件的所有值求和:=SUMIFS(A:A, B:B, "=1")

我希望这有助于简化您的 Excel。如果您需要进一步的帮助,请详细说明 A 列和 B 列的内容以及您希望通过 =vlookup().

实现的目标

另一种选择是

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

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