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

求Google Sheets中基于姓名动态累加计算E列余额的公式

Google Sheets 按姓名连续行动态累加余额公式

方法1:使用BYROW+LET函数(推荐,逻辑清晰)

在E2单元格输入以下公式,按回车即可自动填充整列:

=BYROW(B2:B, LAMBDA(row_val, 
  LET(
    current_row, ROW(row_val),
    current_name, row_val,
    prev_name, IF(current_row=2, "", INDEX(B:B, current_row-1)),
    prev_bal, IF(current_row=2, 0, INDEX(E:E, current_row-1)),
    current_cd, INDEX(C:C, current_row)-INDEX(D:D, current_row),
    IF(current_name=prev_name, prev_bal+current_cd, current_cd)
  )
))

逻辑说明:

  • BYROW遍历B列每一行数据,逐行处理
  • LET定义变量简化公式,避免重复引用
  • 判断当前行姓名与上一行是否相同:
    • 相同则用上一行余额加上当前行的「借出-归还」
    • 不同则直接取当前行的「借出-归还」作为初始余额

方法2:使用SCAN函数(更简洁的数组累加)

在E2单元格输入以下公式:

=SCAN(0, B2:B, LAMBDA(acc, name, 
  IF(name <> INDEX(B:B, ROW(name)-1), 
    INDEX(C:C, ROW(name))-INDEX(D:D, ROW(name)), 
    acc + INDEX(C:C, ROW(name))-INDEX(D:D, ROW(name))
  )
))

逻辑说明:

  • SCAN函数负责逐行累加,acc代表上一行的累计余额
  • 每次判断当前姓名与上一行是否一致,一致则累加,不一致则重置为当前行的「借出-归还」

注意事项

  • 确保表头在第1行,数据从第2行开始
  • 如果表格有空白行,公式会自动跳过(空白姓名会被视为新姓名,重置计算)

内容的提问来源于stack exchange,提问作者Milen Ninan

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 01:38:10