回答网友提问:统计区域内连续为 1 的次数,连续 3 次算一次达标,计算出总达标次数。
案例:按以下规则计算出下图 1 中每个人业绩达标次数:
每连续 3 次符合要求计 1 次达标;
如果连续不满 3 次,则作废,从重新开始计数;
如果连续次数超过 3,则每 3 次算 1 次达标,例如,连续 6 次算 2 次达标,连续 9 次算 3 次达标,依此类推
效果如下图 2 所示。
解决方案:1. 将 D 列设置为辅助列 a,在 D2 单元格中输入以下公式 --> 下拉复制公式:
=IF(C1=1,(D1+1)*C2,C2)
公式释义:
如果上方单元格 C1=1,那么将 (D1+1) 后与 C2 相乘;
当 C2 是 1 时,公式开始累计求和,达到了计算 1 累计出现次数的效果;
如果 C2 是 0,需要返回 0 值,此时 *C2 就正好发挥了功效;
如果上方单元格不是 1,则重新计数,于是就等于 C2 单元格的值 1 或 0
2. 将 E 列设置为辅助列 b,在 E2 单元格中输入以下公式 --> 下拉复制公式:
=QUOTIENT(IF(C3=0,D2,0),3)
公式释义:
IF(C3=0,D2,0):如果下方的单元格 C3=0,说明 C2 是连续为 1 的最后一个单元格,那么取 D2 的值;否则,一概不需要取值,都为 0;
QUOTIENT(...,3):
QUOTIENT 函数的作用是返回除法的商的整数部分;
语法为 QUOTIENT(除数,被除数)
此处的公式就是将 if 的结果除以 3,得出 3 的整数倍
3. 选中数据表的任意单元格 --> 选择工具栏的“插入”-->“数据透视表”
4. 在弹出的对话框中选择“现有工作表”及所需上传至的位置 --> 点击“确定”
5. 在右侧的“数据透视表字段”区域按以下方式拖动字段:
行:“姓名”
值:b
6. 双击值列的标题 --> 在弹出的对话框中将名称修改为“达标次数”--> 点击“确定”
这样就成功计算出了每个人的达标次数。