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

Google Sheets 按两列重复值分组 按第三列指定内容筛选方法

Google Sheets 分组筛选SKU实现方案

注意:如果你的实际数据源范围不是A3:C,只需要修改公式第一行source_data, A3:C里的单元格范围即可,其余逻辑不需要调整。
直接在结果输出起始单元格(比如你之前测试用的M3)粘贴以下公式即可,无需提前排序、无需辅助列,一步满足所有规则:

=LET(
  source_data, A3:C,
  // 第一步:永久过滤SKU含ADD-ON的行
  filtered_no_addon, FILTER(source_data, NOT(REGEXMATCH(INDEX(source_data,,2), "ADD-ON"))),
  date_col, INDEX(filtered_no_addon,,1),
  sku_col, INDEX(filtered_no_addon,,2),
  email_col, INDEX(filtered_no_addon,,3),
  // 生成日期+邮箱的分组唯一键
  group_id, date_col & "|" & email_col,
  // 标记每个分组是否存在含BUNDLE的SKU
  group_has_bundle, MAP(group_id, LAMBDA(g, COUNTIFS(group_id, g, sku_col, "*BUNDLE*")>0)),
  // 标记当前行是否为BUNDLE行
  is_bundle_line, REGEXMATCH(sku_col, "BUNDLE"),
  // 最终筛选:无BUNDLE的组保留全部行,有BUNDLE的组仅保留BUNDLE行
  FILTER(filtered_no_addon, NOT(group_has_bundle) + is_bundle_line)
)

公式逻辑说明

  • 基础过滤规则完全对齐你已调试通过的ADD-ON排除逻辑,不会漏过或错删非ADD-ON数据
  • 分组维度严格使用A列日期+C列邮箱作为唯一判定依据,和预期的归并规则一致
  • 自动识别每个分组的SKU特征:
    • 分组内存在SKU含BUNDLE的行时,自动过滤组内其他非BUNDLE行,仅返回BUNDLE条目
    • 分组内无BUNDLE类SKU时,返回该分组下所有过滤完ADD-ON的有效行
  • 最终返回结果无重复无效值,不需要二次去重

你之前使用的SORTN方案仅能返回分组排序后的首行数据,无法动态识别BUNDLE行的优先级,所以必须依赖预排序才能拿到近似结果,上述公式通过LET函数封装全流程计算,不存在该限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 18:06:33