google gsheets 数组公式偏移量(引用同一列中的前一行)

google gsheets array formula offset (referencing previous row in same column)

我正在尝试在 gsheets 中构建一个简单的银行登记册。

数据如下所示:

Transaction       Debit   Credit   Balance    Formula
opening balance                    100
first             20               80         D3=D2-B3+C3  
second                     30      110        D4=D3-B4+C4

我想使用数组公式,但我无法让它处理对与数组公式相同列中的另一个单元格的引用。

我在单元格 D3 中试过:

ArrayFormula(D2:D-B3:B+C3:C) 

但是我得到一个循环引用错误。有什么想法吗?

在单元格 D2 中,尝试:

=ArrayFormula(if(isblank(A2:A),,mmult(transpose(if(transpose(row(B2:C))>=row(B2:C),if(row(A2:A)=2, 100, B2:B*-1+C2:C), 0)),row(B2:C)^0)))

请注意,'startbalance' (100) 在公式中编码。如果需要更改。

同理,简单一点

=ArrayFormula(if(isblank(A2:A),,(mmult(1*(transpose(row(B2:C))<=row(B2:C)),C2:C-B2:B))))