-2

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

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

电子表格链接

4

3 回答 3

3

使用 Google 表格使用查询:

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

在此处输入图像描述


由于您有 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))),"")

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

在此处输入图像描述

于 2017-04-25T14:36:18.370 回答
2

另一种选择是

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

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

于 2017-04-25T14:43:46.633 回答
0

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

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

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

于 2017-04-25T14:36:41.110 回答