Google sheets Google电子表格,与arrayformula在同一列中的上述行单元格的操作
我在列的第一行中有Google sheets Google电子表格,与arrayformula在同一列中的上述行单元格的操作,google-sheets,Google Sheets,我在列的第一行中有arrayformula,因此我的值和计算可以从第2行开始,并适用于所有列的长度 我有这样的情况: 我需要一个简单的算术运算: 每行减去同一列的上述值 我正在使用: =arrayformula(IF(row(A:A)=1; "What I have now"; IF(ISBLANK(A:A); ""; A1:A-A2:A))) 但正如你所看到的,这是错误的 怎么做 更新问题: 然后在第二张表中,我需要一个列中有一些空白单元格的求和运算: 怎么做 如果您想将数组公式放在标
arrayformula
,因此我的值和计算可以从第2行开始,并适用于所有列的长度
我有这样的情况:
我需要一个简单的算术运算:
每行减去同一列的上述值
我正在使用:
=arrayformula(IF(row(A:A)=1; "What I have now"; IF(ISBLANK(A:A); ""; A1:A-A2:A)))
但正如你所看到的,这是错误的
怎么做
更新问题:
然后在第二张表中,我需要一个列中有一些空白单元格的求和运算:
怎么做
如果您想将数组公式放在标题中,这有点奇怪,因为您需要允许公式从技术上访问第0行,我们可以通过构造范围来实现这一点
=ArrayFormula(IF(
--(ROW(A1:A) > 2) + -ISBLANK(A1:A) = 1;
{0; A1:A} - {0; A2:A; 0};
""))
-(行(A1:A)>2)+-ISBLANK(A1:A)=1
检查是否填充了该行,而不是前两行中的一行,其方式与数组公式配合良好
{0;A1:A}-{0;A2:A;0}
执行以下操作:
0 Data 156 123 110 95 42
- - - - - - -
0 156 123 110 95 42 0
= = = = = = =
0 33 13 15 53 42 42
N N Y Y Y Y N <- Is shown
^ ^ ^
| | Because Row is blank
| |
Because row not > 2, thus it is never evalauated even though the second would cause an error
0数据156 123 110 95 42
- - - - - - -
0 156 123 110 95 42 0
= = = = = = =
0 33 13 15 53 42 42
因此,即使第二个将导致错误,也不会对其进行评估
我认为这相当棘手。问题是,在数组公式中,每个数组中的单元格数必须匹配-如果从第1行开始的数组与从第2行开始的数组一直到电子表格的底部,则不能将它们混合在一起
这里有一种方法可以得到你想要的结果
=arrayformula({"What I need";"";offset($A$1,1,0,count(A:A)-1)-offset($A$1,2,0,count(A:A)-1)})
你将需要改变你的想法;而且,对于您的区域设置
我使用{}符号建立了一个数组来定义元素。在我所在的地区;表示转到下一行,因此我将前两个单元格直接定义为字符串。之后,我选择使用偏移量得到A2:A5范围(A1下1行,0行,4个单元格高),然后减去A3:A6范围(A1下2行,0行,4个单元格高),这样就得到了其他4个单元格
B1 "What I need"
B2 ""
B3 A3-A2=33
B4 A4-A3=13
B5 A5-A4=15
B6 A6-A5=53
但是需要一个IF语句来添加数字之间是否有空白单元格
在更新问题的特殊情况下,D列中的数字少于C列中的数字,公式为
=arrayformula({"Special Case";"";offset($D$1,1,0,count(D:D))+offset($C$1,2,0,count(D:D))})
但在任何地方都有空白单元格的一般情况下,您必须测试所有内容
=arrayformula({"General Case";"";if(offset($D$1,1,0,rows(C:C)-2)="","",if(offset($C$1,2,0,Rows(C:C)-2)="","",offset($D$1,1,0,rows(C:C)-2)+offset($C$1,2,0,Rows(C:C)-2)))})
汤姆,行得通。你能把它解释得更多更好吗?给我的答案加上解释。好的。谢谢,请问这怎么可能是一个IF检查空白单元格呢?我指的是数字之间的空白单元格。如果在末尾有任何空白单元格,那么它会很好,因为计数函数计算出要计算多少个数字,如果在列的中间有空单元格?你能用IF写出这个公式吗?