You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Excel 365中如何利用列的最后非空值计算行内账户余额总和

Excel 365中如何利用列的最后非空值计算行内账户余额总和

嗨,针对你这个需求,Excel 365里有非常贴合的解决方案,完全不用手动复制旧数据(避免误导),直接用公式就能自动取每个账户的最后已知余额求和,我给你详细说下:

一、Total列的公式实现

假设你的数据结构是:

  • A列:Date(表头A1)
  • B列:Bank Account 1(表头B1)
  • C列:Bank Account 2(表头C1)
  • D列:Total(表头D1)
    数据从第2行开始。

你可以在D2单元格输入以下公式,然后下拉填充到所有行:

=IFERROR(LOOKUP(2,1/(B$2:B2<>""),B$2:B2),0) + IFERROR(LOOKUP(2,1/(C$2:C2<>""),C$2:C2),0)

公式解释:

  • B$2:B2:锁定起始行($2),引用从第2行到当前行的Bank Account 1数据,下拉时会自动扩展范围到当前行。
  • B$2:B2<>"":判断这个范围内的单元格是否非空,生成一个TRUE/FALSE的数组。
  • 1/(...):把TRUE转为1,FALSE转为#DIV/0!错误值(LOOKUP会自动忽略错误值)。
  • LOOKUP(2,1/(...),B$2:B2):找小于等于2的最大值(也就是1)对应的位置,即最后一个非空单元格的余额。
  • IFERROR(...,0):如果某一列到当前行还没有任何数据,就用0代替,避免出现错误值。

这个公式完全匹配你想要的结果:

  • 01/01/2023:只有Bank Account 1有£100,总和=100+0=£100
  • 05/01/2023:Bank Account 1最后余额还是£100,Bank Account 2新增£678,总和=100+678=£778
  • 09/01/2023:Bank Account 1更新为£100,Bank Account 2余额不变,总和=100+678=£778
  • 22/01/2023:Bank Account 1余额不变,Bank Account 2更新为£821,总和=100+821=£921

如果你偏好更直观的Excel 365专属函数,也可以用TAKE+FILTER的组合:

=IFERROR(TAKE(FILTER(B$2:B2,B$2:B2<>""),-1),0) + IFERROR(TAKE(FILTER(C$2:C2,C$2:C2<>""),-1),0)

FILTER(B$2:B2,B$2:B2<>"")筛选出当前列到当前行的所有非空值,TAKE(..., -1)取最后一个值,逻辑和上面一致,只是写法更易懂。

二、折线图优化建议

你要做包含三个系列的折线图,直接选中整个数据区域(包括表头)插入折线图即可。如果发现账户的折线在空值处断开,可以这样调整:

  • 右键点击对应账户的折线 → 选择「数据系列格式」
  • 在「系列选项」里找到「空单元格的显示方式」,选择「用前一个值填充」
    这样账户的折线就会延续最后已知的余额,和Total列的逻辑保持一致,图表展示更准确。

备注:内容来源于stack exchange,提问作者Percy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 12:23:09