如何在Google Sheet中检查最近7单元格内值为“3”的事件连续性
Google Sheets 实现连续“3”检测功能
公式实现方案
假设待检测数据在A列,结果输出到B列,以下是两种适用场景的公式:
固定窗口检测(以第8行为例,检测A2:A8)
在B8单元格输入公式:
=IF(MAX(SCAN(0,A2:A8,LAMBDA(a,c,IF(c=3,a+1,0))))>=2,1,0)
动态自适应每一行的最近7个单元格
如果需要每一行自动检测当前行及往上6行的7个单元格(比如第n行检测A(n-6):An),在B列对应单元格输入公式:
=IF(MAX(SCAN(0,OFFSET(A1,ROW()-7,0,7,1),LAMBDA(a,c,IF(c=3,a+1,0))))>=2,1,0)
公式逻辑说明
OFFSET(A1,ROW()-7,0,7,1):动态定位当前行对应的最近7个单元格范围,确保每次取到目标窗口SCAN(0, 范围, LAMBDA(a,c,IF(c=3,a+1,0))):遍历窗口内的每个单元格,遇到值为“3”时累计计数,遇到非“3”则重置计数为0,生成一组连续计数结果MAX(...)>=2:判断计数结果中是否存在≥2的数值,即窗口内存在至少连续2个“3”IF(...,1,0):满足连续“3”的条件时返回1,否则返回0
自定义调整
如果需要检测连续N个“3”,只需将公式中的>=2修改为>=N即可(比如检测连续3个“3”就改成>=3)
内容的提问来源于stack exchange,提问作者Hawfinch Taylor
相关产品推荐
相关产品推荐

