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

Google Sheets:满足指定相邻字符串对且排除特定配对的行计数

Google Sheets 行统计公式实现(满足特定配对条件并排除冲突行)

需求明确

  • 核心统计条件:行内第1/4/7列任意单元格为指定值(如"a"),且其右侧相邻单元格为目标值(如"b")
  • 强制排除规则:只要同一行内第1/4/7列任意单元格为指定值(如"a"),且右侧相邻单元格为冲突值(如"c"),无论是否满足核心条件,该行都不计入统计
  • 计数规则:同一行内多次符合核心配对,仅计1次

通用公式实现

=SUMPRODUCT(
  --(
    ARRAYFORMULA(
      (MMULT(--((A:A="a")*(B:B="b")+(D:D="a")*(E:E="b")+(G:G="a")*(H:H="b")), ROW(INDIRECT("A1:A3"))^0)>=1)
      *
      (MMULT(--((A:A="a")*(B:B="c")+(D:D="a")*(E:E="c")+(G:G="a")*(H:H="c")), ROW(INDIRECT("A1:A3"))^0)=0)
    )
  )
)

公式拆解

  1. 核心配对判断:(A:A="a")*(B:B="b") 检测第1列是"a"且右侧第2列是"b",同理覆盖第4/7列的配对场景
  2. 行级聚合判断:MMULT(..., ROW(INDIRECT("A1:A3"))^0) 将每行3个配对结果求和,>=1表示该行至少存在1个符合要求的核心配对
  3. 冲突排除判断:第二个MMULT逻辑与核心配对一致,仅把目标值替换为冲突值,=0表示该行无冲突配对
  4. 最终计数:两个条件相乘后转数值,SUMPRODUCT求和得到符合要求的总行数

实际表格适配(对应你的需求场景)

针对results表E7单元格,需要统计data表中"Firey War Axe"与"保留"的有效配对,同时排除存在"Firey War Axe"+"丢弃"的行,公式调整为:

=SUMPRODUCT(
  --(
    ARRAYFORMULA(
      (MMULT(--((data!A:A="Firey War Axe")*(data!B:B="保留")+(data!D:D="Firey War Axe")*(data!E:E="保留")+(data!G:G="Firey War Axe")*(data!H:H="保留")), ROW(INDIRECT("A1:A3"))^0)>=1)
      *
      (MMULT(--((data!A:A="Firey War Axe")*(data!B:B="丢弃")+(data!D:D="Firey War Axe")*(data!E:E="丢弃")+(data!G:G="Firey War Axe")*(data!H:H="丢弃")), ROW(INDIRECT("A1:A3"))^0)=0)
    )
  )
)

由于data表44、56行同时存在"Firey War Axe"+"保留"和"Firey War Axe"+"丢弃",冲突判断结果为真,因此这些行被排除,最终E7返回0,符合预期。

示例验证

按你的示例规则:

  • row1:存在有效配对且无冲突 → 计入
  • row2:配对位置不符合第1/4/7列要求 → 不计入
  • row3:存在冲突配对 → 不计入
  • row4:存在有效配对且无冲突 → 计入
    最终统计结果为2,符合需求。

内容的提问来源于stack exchange,提问作者Mr. J

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 20:52:33