ARRAYFORMULA 对前一行列和当前行列求和
ARRAYFORMULA to SUM previous row column and current row column
https://docs.google.com/spreadsheets/d/1wlWqdFwgv90s50iP-bXXBHciyualohj610qFiSatcmQ/edit?usp=sharing
分享了以上 sheet 示例。我想要一个数组公式来对前几行列和当前行列求和。
尝试通过脚本来完成。
function calcBalance(range,InitialBalance){
var total = [];
total[0] = InitialBalance;
for (var i=2;i<range.length;i++) {
if (range[i][0] !== "") {
total[i-1] = range[i][0]-range[i][1]+total[i-2];
}
}
total = total.slice(1);
return (total);
}
在单元格 D3 中键入
=calcBalance(B:C,D2)
希望对您有所帮助
在 F2 中我输入了这个公式:
=ArrayFormula(if(row(B2:B)=2, B2, if(len(B2:B)+len(C2:C), mmult(transpose(if(transpose(row(B2:C))>=row(B2:C),if(B2:B<>"", B2:B,0)+(if(C2:C<>"", C2:C,0)*-1), 0)),row(B2:B)^0),)))
但是.. 为了让这个公式起作用,你必须在 B2 中写下你的 'starting' 余额。另请参阅您共享的电子表格。
希望对您有所帮助?
https://docs.google.com/spreadsheets/d/1wlWqdFwgv90s50iP-bXXBHciyualohj610qFiSatcmQ/edit?usp=sharing
分享了以上 sheet 示例。我想要一个数组公式来对前几行列和当前行列求和。
尝试通过脚本来完成。
function calcBalance(range,InitialBalance){
var total = [];
total[0] = InitialBalance;
for (var i=2;i<range.length;i++) {
if (range[i][0] !== "") {
total[i-1] = range[i][0]-range[i][1]+total[i-2];
}
}
total = total.slice(1);
return (total);
}
在单元格 D3 中键入
=calcBalance(B:C,D2)
希望对您有所帮助
在 F2 中我输入了这个公式:
=ArrayFormula(if(row(B2:B)=2, B2, if(len(B2:B)+len(C2:C), mmult(transpose(if(transpose(row(B2:C))>=row(B2:C),if(B2:B<>"", B2:B,0)+(if(C2:C<>"", C2:C,0)*-1), 0)),row(B2:B)^0),)))
但是.. 为了让这个公式起作用,你必须在 B2 中写下你的 'starting' 余额。另请参阅您共享的电子表格。
希望对您有所帮助?