问题描述
当我在Google表格中使用此查询时
=QUERY('Kontoutdrag länsförsäkringar'!$A$3:$F$1000186;"SELECT sum(F) WHERE B >= date'" & TEXT(DATEVALUE(J$4);"yyyy-mm-dd") & "' AND B <= date '"& TEXT(DATEVALUE(J$5);"yyyy-mm-dd") &"' AND D matches '" & JOIN("|";$T10:$CZ10) &"' AND D != '' label sum(F)'' ")
它将跳过文本中某个位置包含星号的所有单元格
*
此匹配项中存在错误
AND D matches '" & JOIN("|";$T10:$CZ10)
如果D列的文本(以及联接范围中相应的相同单元格)包含星号,则它将不匹配。
有没有一种方法可以避免这种情况,以便我可以在文本中包含带有星号的单元格?
此值有效
K Batteriexp
K*Batteriexp
解决方法
如果唯一的问题是星号,则可以使用正则表达式对其进行转义:
AND D matches '" & ARRAYFORMULA(JOIN("|";REGEXREPLACE($T10:$CZ10,"\*","\\*")))
此
K*Batteriexp //Means 'K' repeated 0 or more times
成为
K\*Batteriexp //means a literal *