You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

谷歌表格REGEXMATCH匹配两类网站路径用户数的公式优化问题

问题:统计网站两个板块用户数量的公式异常解决

我需要统计访问网站两个板块的用户数量:

  • /blog/
  • resources.company

最初使用带|分隔符的REGEXMATCH函数编写统计公式:

=SUMPRODUCT(('raw data'!$B$2:$B),REGEXMATCH('RAW - New Users'!$A$2:$A,"/blog/|resources.company")) 

但使用分两次调用REGEXMATCH再加和的公式时,统计到的用户数更多:

=SUMPRODUCT(('raw data'!$B$2:$B),REGEXMATCH('RAW - New Users'!$A$2:$A,"/blog/") + REGEXMATCH('RAW - New Users'!$A$2:$A,"resources.company"))

已确认是正则中的.导致第一个公式异常,尝试过/blog/|resources\.company但无效,需修改第一个公式,让REGEXMATCH能同时匹配包含resources.company和/blog/的内容。


公式逻辑差异分析

两个公式的统计逻辑本质不同:

  • 第一个公式:统计至少访问其中一个板块的用户总数,每个用户仅被计算1次(无论访问几个板块)
  • 第二个公式:统计访问/blog/的用户数 + 访问resources.company的用户数,同时访问两个板块的用户会被重复计算

你遇到的转义后无效问题,可能是正则匹配范围未覆盖数据实际格式,以下是修正方案:


修正方案

1. 确保正则正确匹配字面.(保持逻辑或,不重复计数)

在Google Sheets的REGEXMATCH中,.是匹配任意单个字符的元字符,必须转义为\.才能匹配字面意义的.。若数据中目标子串在任意位置,可添加.*确保全范围匹配:

=SUMPRODUCT(('raw data'!$B$2:$B),REGEXMATCH('RAW - New Users'!$A$2:$A,".*(/blog/|resources\.company).*"))

2. 匹配逻辑与第二个公式一致(允许重复计数交叉用户)

若要和第二个公式的统计结果对齐,可将正则改为匹配任意一个条件时累加计数,最直接的写法是保留双REGEXMATCH结构并修正转义:

=SUMPRODUCT(('raw data'!$B$2:$B),(REGEXMATCH('RAW - New Users'!$A$2:$A,"/blog/") + REGEXMATCH('RAW - New Users'!$A$2:$A,"resources\.company")))

若要整合为单个REGEXMATCH,可利用正则的正向预查实现多条件计数,但写法较复杂,推荐使用上述更直观的双函数结构。


内容的提问来源于stack exchange,提问作者Damien

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:56:34