Excel中按col1不规则单元格区域汇总col2值的公式需求
Excel不规则间隔col1对应的col2范围汇总方案
假设你的数据表头在第1行,col1对应A列,col2对应B列,col3对应C列,数据从第2行开始,以下是两种可批量下拉的公式方案:
方案1:仅在col1有值的行显示对应区间汇总(推荐非易失版)
在C2单元格输入公式后直接下拉填充:
=IF(A2<>"",SUM(B2:INDEX(B:B,IFERROR(MATCH("*",A3:A$1048576,0)+ROW(A2),1048576))),"")
- 逻辑:先判断当前col1是否有值,有值的话就找下方第一个非空col1的位置,汇总当前行到该位置前一行的col2数值;如果是最后一个有值的col1,就汇总到Excel最后一行的col2。
方案2:基于LOOKUP定位上一个col1位置的累计汇总
如果需要在每一行都显示从上个col1到当前行的累计和,col1有值的行自动显示该区间的最终汇总,用这个公式:
=IF(A2<>"",SUM(INDEX(B:B,LOOKUP(2,1/(A$1:A1<>""),ROW(A$1:A1))+1):B2),"")
- 逻辑:用
LOOKUP找到当前行上方最后一个非空col1的行号,然后从该行下一行开始,求和到当前行的col2值,解决你之前定位后选不了范围的问题。
小提示
- 公式里的A、B列可以根据你实际的列号调整
- 如果数据行数不多,把公式里的
1048576改成你数据的最后一行号,能加快计算速度
内容的提问来源于stack exchange,提问作者Gabriel Jarrin
相关产品推荐
相关产品推荐

