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

基于前置/后置值及Column C条件的0/1连续组统计需求问询

基于前置/后置值及Column C条件的0/1连续组统计需求问询

嗨,我来帮你搞定这些0/1连续组的统计需求,全部用Excel公式就能实现,咱们一步步拆解:

一、统计「前置为1且对应Column C值≥指定阈值」的0组数量(你提到预期结果是4)

假设你的0/1数据在B列(从B2到B121,共120行),Column C是对应行的数值,阈值放在E1单元格(可自行调整位置)。我们需要找到每个符合条件的0组的起始位置——也就是当前行是0、上一行是1,且当前行C值达标,统计这样的起始点数量就是符合要求的0组总数。

用这个公式:

=SUMPRODUCT(--(B2:B121=0), --(B1:B120=1), --(C2:C121>=E1))

解释下各部分:

  • --(B2:B121=0):标记当前行是0的位置
  • --(B1:B120=1):标记上一行是1的位置(确保0组前面是1)
  • --(C2:C121>=E1):标记当前行C值≥阈值的位置
    三个条件同时满足时,SUMPRODUCT会统计这样的行数,也就是符合要求的0组数量。

二、统计「后置为0」的1组数量(每个1组算1次)

同样基于B列的0/1数据,我们找每个1组的结束位置——当前行是1、下一行是0,统计这样的位置数就是1组的总数。

公式如下:

=SUMPRODUCT(--(B1:B120=1), --(B2:B121=0))

这个公式会自动识别每个1组的最后一行(因为下一行是0),每出现一次就计数1,正好对应1组的数量。

三、统计符合条件的0组内的单元格总数

如果需要统计所有属于「前置为1且C值达标」的0组里的单元格数量,用辅助列实现会更直观:

  1. 在D2单元格输入公式:
    =IF(AND(B2=0, (B1=1 OR (B1=0 AND D1=1)), C2>=E1), 1, 0)
    
  2. 把公式下拉到D121,这个辅助列会标记所有符合条件的0组单元格为1
  3. 最后用=SUM(D2:D121)就能得到这些单元格的总数

如果不想用辅助列,也可以用数组公式(输入后按Ctrl+Shift+Enter确认):

=SUM(IF((B2:B121=0)*((B1:B120=1)+(B1:B120=0)*(OFFSET(B2:B121,0,2)=1))*(C2:C121>=E1),1,0))

不过辅助列的方式更不容易出错,也方便你检查标记是否正确。

备注:内容来源于stack exchange,提问作者Amr Ezzat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 09:05:33