我这里有一个 Google 表格:https://docs.google.com/spreadsheets/d/1s7tzyz9A9caaJGbiWPm1CDNBxmnv0Xrh3lb5yj9CDOk/
第一个选项卡只是从 Google 表单收集信息。输入您的姓名(示例电子表格中的所有名称均已更改为随机生成器名称),选择您可以参加音乐会的日期,然后选择您演奏的乐器。点击提交。回复将转储到“Google 表单链接”选项卡中。
然后,我想使用“主列表”选项卡生成可以参加每个日期的人员列表,然后按他们演奏的乐器进行细分。在主表中,我用于生成每个部分的当前公式是:
=IFERROR(SORT(FILTER('Google Form Link'!$B$2:$B,'Google Form Link'!$D$2:$D = A15,'Google Form Link'!$C$2:$C = REGEXEXTRACT('Google Form Link'!$C$2:$C,".*" & CellThatProvidesTheDate & ".*")),1,TRUE),"")
它对于每个部分都运行良好,除了 7 月 3 日星期三的部分,因为我的正则表达式无法处理 7 月 3 日到 7 月 31 日之间的情况。当它编译 7 月 3 日的列表时,它需要所有可用的人7 月 3 日和 ALSO 包括可以参加 7 月 31 日的人员(如果他们已经不在名单上)。 我目前在 7 月 3 日部分使用的公式是:
=IFERROR(SORT(FILTER('Google Form Link'!$B$2:$B,'Google Form Link'!$D$2:$D = A15,'Google Form Link'!$C$2:$C = REGEXEXTRACT('Google Form Link'!$C$2:$C,".*" & $A14 & ".*")),1,TRUE),"")
我尝试将公式更改为下面的公式,其中我使用
\b
断言“3”之后的位置,但该公式不提供任何匹配项,而是触发 IFERROR() 条件,导致空白单元格适用于该日期的所有工具。
=IFERROR(SORT(FILTER('Google Form Link'!$B$2:$B,'Google Form Link'!$D$2:$D = A15,'Google Form Link'!$C$2:$C = REGEXEXTRACT('Google Form Link'!$C$2:$C,"[a-zA-Z]* Wednesday, July 3\b")),1,TRUE),"")
有人可以引导我走向正确的方向吗?我不确定为什么像
[a-zA-Z]* Wednesday, July 3\b
这样的正则表达式在 https://regex101.com/上对我有用,但在 Google Sheets 公式中却不起作用。
提前谢谢您!您可以替换整个日期匹配条件: