【发布时间】:2021-03-25 21:42:00
【问题描述】:
我正在尝试计算与正则表达式模式匹配的所有单元格。到目前为止,我已经提出了一个解决方案,即每列使用 query,然后使用 SUM() 对不同列的计数求和。
这相当笨拙,查询中的更改意味着我需要更改很多单元格和部分公式。理想情况下,我有一个对查询中的计数求和的解决方案,或者其他更易于维护的解决方案。
我现在拥有的:
=sum(
query(I10:I19,"select count(I) where I matches '^[A-Za-z\s]{4,64}$' label count(I) ''"),
query(J10:J19,"select count(J) where J matches '^[A-Za-z\s]{4,64}$' label count(J) ''"),
query(K10:K19,"select count(K) where K matches '^[A-Za-z\s]{4,64}$' label count(K) ''"),
[etc. etc.]
)
我最理想的:
=query(I10:L19,"select sum(count(J),count(K),count(L)) where L matches '^[A-Za-z0-9\s\-]{4,64}$' OR J matches '^[A-Za-z0-9\s\-]{4,64}$' OR K matches '^[A-Za-z0-9\s\-]{4,64}$' label sum(*) ''")
但似乎不支持在sum() 中嵌套count()s。
有没有办法实现这样的目标?
注意label count(X) '' 是去掉任何标签和标题,并在第一个单元格中获取结果。
【问题讨论】:
标签: google-sheets google-sheets-formula array-formulas