Excel如何判断行内1的序列是否连续无0中断返回对应布尔值
Excel行内连续1序列判断操作方案
前提说明
假设你的表格列布局如下:
| 列号 | 对应年份 |
|---|---|
| A | 2018 |
| B | 2019 |
| C | 2020 |
| D | 2021 |
表头在第1行,数值数据从第2行开始,新增的Concurrent列对应E列。
操作步骤
- 点击E2单元格,输入对应版本的公式:
- 全版本通用公式(兼容2007及以上所有Excel版本):
=IF(OR(SUMPRODUCT((A2:C2=1)*(B2:D2=0))>0,COUNTIF(A2:D2,1)=0),FALSE,TRUE) - Excel 365/2021及以上版本简化公式:
=LET(val,A2:D2,IF(OR(SUM(val)=0,MAX((TAKE(val,,3)=1)*(DROP(val,,1)))=1),FALSE,TRUE))
- 全版本通用公式(兼容2007及以上所有Excel版本):
- 输入完成后按回车确认
- 选中E2单元格,鼠标移动到单元格右下角,待光标变为黑色十字填充柄时,下拉填充到所有数据行即可。
效果验证
按照上述公式计算后的结果和预期结果完全一致:
| 2018 | 2019 | 2020 | 2021 | Concurrent |
|---|---|---|---|---|
| 0 | 1 | 1 | 1 | True |
| 0 | 1 | 0 | 1 | False |
| 0 | 0 | 0 | 0 | False |
| 1 | 1 | 1 | 1 | True |
| 1 | 0 | 1 | 1 | False |
| 0 | 0 | 1 | 0 | False |
| 0 | 1 | 1 | 0 | False |
| 1 | 1 | 1 | 0 | False |
公式逻辑说明:
- 遍历当前行所有相邻数值对,只要存在任意一组「前值为1、后值为0」的组合,说明1的序列出现中断,返回False
- 若当前行全为0,也返回False
- 其余情况返回True
内容的提问来源于stack exchange,提问作者konsama
相关产品推荐
相关产品推荐

