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

Google Sheets正则匹配日期问题求助:无法区分7月3日与31日

解决Google表格正则匹配日期的问题

问题根源

  1. 原公式用.*&CellThatProvidesTheDate&.*的匹配逻辑,会把包含目标日期子串的内容全部纳入,导致“Wednesday, July 3”错误匹配到“July 31”(因为包含“3”这个子串)。
  2. 尝试的\b正则写法无效,一是错误用REGEXEXTRACT提取后和原单元格内容对比(逻辑冗余且错误),二是表单提交的多日期通常用逗号分隔,仅靠单词边界\b的匹配精度不足。

修正后的公式

用REGEXMATCH直接判断单元格是否包含独立的目标日期,替代原有的REGEXEXTRACT对比逻辑:

=IFERROR(SORT(FILTER('Google Form Link'!$B$2:$B, 'Google Form Link'!$D$2:$D = A15, REGEXMATCH('Google Form Link'!$C$2:$C, "(^|, )" & CellThatProvidesTheDate & "(, |$)")), 1, TRUE), "")

公式说明

  • (^|, ):匹配日期的起始边界——要么单元格内容以目标日期开头,要么日期前是逗号加空格(对应多日期分隔的场景)。
  • (, |$):匹配日期的结束边界——要么日期后是逗号加空格(后续还有其他日期),要么单元格内容以目标日期结尾。
  • 这种写法能确保只匹配完整的“Wednesday, July 3”条目,不会误触包含该日期子串的其他内容。

如果表单日期的分隔符不是逗号加空格,可根据实际情况调整正则里的分隔符部分。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 00:30:57