如何将D列最后10行数据求和并将结果显示在F列单元格中
D列最后10行动态求和实现方案
全版本通用方案(兼容所有Excel、WPS版本)
直接在F列指定单元格输入以下公式,后续新增D行数据无需手动调整公式位置或插入行:=SUM(OFFSET(D1,COUNTA(D:D)-10,0,10,1))
COUNTA(D:D)自动统计D列有内容的单元格总数量,识别当前D列的最后一行位置OFFSET以D1为基准,向下偏移「D列总数据行数-10」的位置,截取连续10行的D列区域,即为当前D列最后10行的求和范围- 若D列包含表头,将公式中的
COUNTA(D:D)修改为COUNTA(D:D)-1扣除表头行数即可;如果D列中间存在空白行,可替换为MAX(IF(D:D<>"",ROW(D:D),0))精准匹配最后一个非空行的行号。
高版本专属方案(适用于Excel 365、2021及以上、WPS最新版)
采用TAKE+FILTER组合更稳定,无偏移函数的易失性问题:=SUM(TAKE(FILTER(D:D,D:D<>""),-10))
FILTER(D:D,D:D<>"")先过滤掉D列的空单元格,仅保留有效数据行TAKE(..., -10)直接提取有效数据的最后10行,求和后即可得到结果
你之前使用的
INDIRECT+ADDRESS组合是基于公式所在行的相对位置取上10行数据,因此必须固定放在数据行的下一行才能生效,替换为上述公式后,公式可放在F列任意位置,每天在D列末尾新增数据时会自动识别最新的最后10行计算,无需再手动插入行调整位置。
内容的提问来源于stack exchange,提问作者sun auto
相关产品推荐
相关产品推荐

