Excel中每3行批量调整公式行数组的方法咨询
批量处理Excel每3行一组的审批日期最大值计算
核心自动分组公式
假设你第一个结果单元格(对应第一组3位审批人:N4:N6)在P4,直接输入以下公式后下拉即可自动适配每3行的区间:
=IF(COUNTIF(OFFSET($N$4,INT((ROW()-ROW($P$4))*3),0,3,1),"")>0,"",MAX(OFFSET($N$4,INT((ROW()-ROW($P$4))*3),0,3,1)))
公式逻辑拆解
- 自动分组偏移计算:
INT((ROW()-ROW($P$4))*3)根据当前结果行的位置,自动计算对应审批日期组在N列的起始偏移量:- 第一行结果(P4):偏移量为0 → 取
N4:N6 - 第二行结果(P5):偏移量为3 → 取
N7:N9 - 第三行结果(P6):偏移量为6 → 取
N10:N12,以此类推
- 第一行结果(P4):偏移量为0 → 取
- 空值检查:
COUNTIF(..., "")>0检测当前组内是否存在未填写的审批日期,只要有一个空值就返回空单元格 - 最大值提取:当组内所有日期都填写完成时,返回该组3个日期的最大值
适配不同起始位置的调整
如果你的第一个结果单元格不是P4,只需把公式中的$P$4替换为你实际的第一个结果单元格地址即可,比如第一个结果在Q2,就改成ROW()-ROW($Q$2)。
内容的提问来源于stack exchange,提问作者ShrubberySoftware
相关产品推荐
相关产品推荐

