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

Google Sheets根据日期区间匹配对应活动名称公式实现咨询

前提约定

先统一两个表的引用规则,你可以根据自己的实际表格位置调整:

  • 活动信息表:假设表名为「活动信息」,活动名称在A列、活动开始日期在B列、活动结束日期在C列,有效数据行范围为A2:C100(可根据实际数据量调整行数上限)
  • 客人信息表:要填充的是「活动?」列,我们以第一行客人数据对应的E2单元格为例,客人开始日期为C列、结束日期为D列

匹配逻辑

判断两个日期间隔存在重叠的核心条件:

客人开始日期 ≤ 活动结束日期 且 客人结束日期 ≥ 活动开始日期

可直接使用的公式

1. 仅返回第一个匹配到的活动(适用于单个客人仅对应一个活动的场景)

在客人信息表的E2单元格输入以下公式,下拉填充到所有客人行即可:

=XLOOKUP(TRUE, (C2<='活动信息'!C:C) * (D2>='活动信息'!B:B), '活动信息'!A:A, "无匹配活动")

匹配不到符合条件的活动时会返回「无匹配活动」,可自行修改最后的提示文本

2. 返回所有匹配到的活动,用顿号分隔(适用于单个客人可能参与多个活动的场景)

在E2单元格输入以下公式,下拉填充即可:

=TEXTJOIN("、", TRUE, FILTER('活动信息'!A:A, (C2<='活动信息'!C:C) * (D2>='活动信息'!B:B), "无匹配活动"))

可修改第一个参数的分隔符,换成逗号、空格等都可以

补充规则

如果要求客人的参与区间完全被活动区间覆盖才算匹配,把上述公式里的条件替换为(C2>='活动信息'!B:B) * (D2<='活动信息'!C:C)即可。

注意事项

  • 确保两个表的日期列统一设置为「日期」格式,避免文本格式的日期无法正常匹配
  • 如果两个表在同一个工作表内,直接调整对应的列引用范围即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 00:39:02