Google Sheets中如何在球员未参赛(DNP)时统计连胜场次?
Google Sheets 忽略空白行的连胜场次统计公式修改
方案一:修改原FREQUENCY公式
原公式的问题在于把空白行当成了连胜的分隔符,我们需要调整条件,仅将非1且非空白的行作为分隔符,同时只提取值为1的行号进行统计:
=sortn(frequency(if(M2:M=1, row(M2:M)), if((M2:M<>1)*(len(M2:M)>0), row(M2:M))), 1, 0, 1, 0)
逻辑说明:
if(M2:M=1, row(M2:M)):仅提取所有值为1的行的行号if((M2:M<>1)*(len(M2:M)>0), row(M2:M)):仅将值不等于1且不为空白的行作为分隔符(空白行不再打断连胜)frequency函数会自动计算连续1的行号区间长度,最后用sortn取出最大值
方案二:用SCAN函数实现更直观的统计
如果需要更易读、更灵活的公式,推荐使用SCAN函数逐行计算连胜累计值,再取最大值:
=MAX(SCAN(0, M2:M, LAMBDA(acc, val, IF(val=1, acc+1, IF(val="", acc, 0)))))
逻辑说明:
- 初始化累计值为0,遍历M列每一行:
- 若当前值为1,累计值+1(连胜延续)
- 若当前值为空白,累计值保持不变(空白不中断连胜)
- 若当前值为其他内容(如0代表输球),累计值重置为0(连胜中断)
MAX函数取出所有累计值中的最大值,即为最长连胜场次
内容的提问来源于stack exchange,提问作者Able Archer
相关产品推荐
相关产品推荐

