我正在尝试使用Google表格查询来匹配字符串,其中两个字符串都不确定是否包含特殊字符。我会尽力解释:
我有一个数据表
<div><span id="MapTwoResultOne"></span></div>
<div><span id="MapTwoResultTwo"></span></div>
<div><span id="MapTwoResultThree"></span></div>
我的查询功能看起来像这样:
+-----+------+-----+-----+
| A | B | C | D |
|x | y |ø |z |
|xx | yy |á |zz |
|xxx | yyy |e |zzz |
+-----+------+-----+-----+
当前,使用此查询将仅返回1行,因为
=QUERY(A1:D3, "SELECT * WHERE (C = 'ø') OR (C = 'è') OR (C = 'a')")
与'ø'完全匹配,但是其他任何一个都不匹配。
对于
(C = 'ø')
,我们可以将字符串中的所有重音字符替换为它们的未重音字符。
在这种情况下,“è”变为“ e”并具有匹配项-现在查询将返回第二行。(我找到了替换字符串here中所有重音字符的好方法。)
最后,这是我的主要问题所在:
(C = 'è')
。除非我检查了'a'的每个重音变体,否则我想不出一种使其与'á'相匹配的方法,但这似乎很愚蠢。
不幸的是,也无法执行类似(C = 'a')
的事情。
正如我之前提到的,比赛的每一边可能包含也可能不包含重音/特殊字符。
我还应该提到,它将不仅仅是一个字符,而是一个完整的字符串。
如果有人对此有任何可能的解决方案,将不胜感激。
答案 0 :(得分:1)
您可以使用QUERY
公式代替FILTER
公式。
=FILTER(A2:D22,REGEXMATCH(C2:C22,"ø|è|á")=TRUE)
(请根据需要调整范围。您还可以添加/删除更多特殊字符。)
使用的功能: