Google 表格查询不返回带有特殊字符的单词

问题描述 投票:0回答:1

所以我不知道如何很好地解释我的问题,所以我将举一个例子,我认为这是理解它的最好方法,但基本上我试图返回与 a 中的单词匹配的订单列表,这些单词可以包含特殊字符,示例如下:

我有一个参考文献列表,例如:

A
污垢
草+

现在我有一个订单列表,例如:

B C
1
2 草+
3 土豆
4 草+
5

现在我想做的是查询订单列表,并获取与参考列表匹配的所有订单,所以我所做的是:

=QUERY(
    B1:C,
    "SELECT Col1, Col2
    WHERE Col1 IS NOT NULL AND Col2 MATCHES '"&TEXTJOIN("|";TRUE;A1:A)&"' ORDER BY Col1 ASC",0
)

这返回给我:

D E
1
5

而不是这个:

D E
1
2 草+
4 草+
5

为什么最后带+的“草”被忽略了?有办法解决这个问题吗?我做错了什么吗?

感谢大家的帮助!

google-sheets google-sheets-formula
1个回答
0
投票

某些字符(*+?^$)需要转义,因为它们在正则表达式匹配中具有含义。尝试改变这个

TEXTJOIN("|";TRUE;A1:A)

substitute(TEXTJOIN("|";TRUE;A1:A);"+";"\+")

替代配方

=sort(filter(B:C;xmatch(C:C;A:A)))
© www.soinside.com 2019 - 2024. All rights reserved.