如何在 Google Sheet 中按字符串长度查询

use*_*934 3 google-sheets

我需要在 Google Sheet Spreadsheet 中使用查询来返回给定长度的 B 列中的文本,以及其他各种条件。为方便起见,下面是一个仅专注于 Len() 函数的简化版本。看起来很简单,但不幸的是不起作用。

=QUERY(Valuations!B1:B,"select B where LEN(B)>3 ")
Run Code Online (Sandbox Code Playgroud)

我知道 SQL 使用 LEN(),而 LENGTH() 用于 MySQL。

我的语法不正确还是无法在 Google Sheet Query 中检查字符串长度?

s1c*_*0j1 7

可以使用正则表达式:

=QUERY(Valuations!B1:B, "select B where B matches '.{3,}'")


正则表达式解释:

.匹配任何字符
{3,}匹配前面的符号 ( the. ) 3 次或更多次


您还可以通过将表达式修改为^.{3}$
OR 范围^.{3,10}$
OR 最大值来搜索特定长度^.{,10}$

^字符串的开头 字符串的
$结尾


regex101.com是正则表达式的宝贵资源。
我与该网站没有任何关系,但我一直使用它。


Tom*_*rpe 6

您可以使用过滤器来完成

=filter(B:B,len(B:B)>=3)
Run Code Online (Sandbox Code Playgroud)

然后如果你想把它与其他条件结合起来,你可以把它放在一个查询中,例如

=query(filter(A:B,len(B:B)>=3),"select Col1,Col2 where Col1>1")
Run Code Online (Sandbox Code Playgroud)

看到这个问题

在此处输入图片说明