我正在学习使用数组公式并且已经成功地做了一些简单的事情,比如在第三列中添加两列。例如,我可以将=arrayformula(B:B+C:C)
放在D1中,并为每行添加B和C.
但是现在我想要在同一列中减去两个数字。我想在当前行中获取该列的值,并从中减去前一行的值。没有数组公式,这很简单:在O7中我把= N7-N6和警察放下来,所以O8得到= N8-N7等等。但这需要每次复制 - 我可以用数组公式做同样的事吗?
基本上,我可以执行=arrayformula(B:B+(B-1):(B-1))
之类的操作吗?
上下文:N列是每月帐户余额。我想计算每个月平衡变化多少。所以对于第7行,= N7-N6给出了我的区别。但我正在将整个电子表格更改为数组公式,因此我可以停止粘贴所有公式,因为它正在比较相同的列,所以我会坚持使用这个公式。
我正在尝试将所有内容放入第1行,因此我的值和计算可以从第2行开始。例如,这是第1行中的一个公式:
arrayformula(if(row(A:A)=1,"Total gross income",if(LEN(B:B),B:B+C:C,"")))
不幸的是,如果我这样做,在O列(我最初询问的那个)中:
=arrayformula(if(row(A:A)=1,"Amount saved this month",if(row(A:A)>1,if(LEN(N:N),N2:N-N:N,""))))
或者这个:
=arrayformula(if(row(A:A)=1,"Amount saved this month",if(row(A:A)>1,if(LEN(N:N),offset(N:N,1,0)-N:N,""))))
每一行都是1 - 结果应该放在第3行进入第2行,等等。如果我这样做:
=arrayformula(if(row(A:A)=1,"Amount saved this month",if(row(A:A)>1,if(LEN(N:N),N:N-offset(N:N,-1,0),""))))
然后它给了我一个错误,因为偏移函数试图评估一些超出范围的东西(可能它从N1开始并试图获取一个高于N1的值1行?)
有关如何处理超出范围的错误的任何建议吗?
答案 0 :(得分:0)
我认为错误是因为偏移范围N:N从N1开始,你试图将它移位-1或一个单元格,这会使公式脱离工作表。
请尝试使用此公式:
=arrayformula(
{"Amount saved this month";
if(LEN(N2:N),N2:N-offset(N2:N,-1,0),"")})
它使用{}
创建一个数组。查看更多信息:
https://support.google.com/docs/answer/6208276?hl=en
奖金。现在没有理由检查行号。