Google 工作表查找范围内的子字符串

Google sheets lookup with substring on range

我正在尝试使用 Google 表格进行子字符串查找。

当子字符串应用于查找字符串时,我能够做到这一点:

Match = VLOOKUP("*"&A2&"*",$C:$C,1,FALSE)

但是,在将子字符串逻辑应用于范围时我遇到了困难:

知道如何实现吗?

注意:为了示例,我使用了简单的值,实际上 search/range 值并不总是遵循 [0-9][a-z][0-9] / [a-z] 模式,因此删除来自搜索的数字然后执行搜索不是我正在寻找的解决方案。

将下面的公式放到B2中,然后需要复制下来(唉,我在FILTER中没有找到将ARRAYFORMULA应用于第二个范围的方法)。

=filter(C:C, regexmatch(A2, C:C))

=TEXTJOIN(",",1,QUERY(C:C,"select C where '"&A2&"' contains C"))
  • QUERY 查找匹配的子字符串
  • TEXTJOIN 连接匹配的子字符串,如果找到多个。

@ttarchala 的回答有效。如果您的范围包含多个匹配项但只需要 1 个,请用 INDEX:

包装它
=INDEX(FILTER(C:C, regexmatch(A2, C:C)),1)

另一种方法是使用以下内容,它允许范围内的值是正则表达式:

=REGEXEXTRACT(A2,JOIN("|",C:C))

例如,看看 3c3 如何因为 \b 字边界而无法匹配 c\bc 匹配它。