2017-04-20 18 views
1

列の最初の行にarrayformulaがあります。したがって、値2と行のすべての列の長さで値と計算を開始できます。すべての行の同じ列の値が上記Googleスプレッドシート、配列形式の同じ列にある行セルの操作

減算:

Test

https://docs.google.com/spreadsheets/d/11oDra7Vja4-5C0Uix7JTgLLSMG3gPj-6fkajXlWqqQk/edit?usp=sharing

私は単に演算を必要とする:

私はこのような状況を持っています。

=arrayformula(IF(row(A:A)=1; "What I have now"; IF(ISBLANK(A:A); ""; A1:A-A2:A))) 

をしかし、あなたが見るように間違っている:

私が使用しています。

どうすればよいですか?

UPDATED QUESTION:

そして、私は列内のいくつかの空白のセルを持つSUM操作必要セカンドシートに:

​​

はどのようにそれを行うには?

https://docs.google.com/spreadsheets/d/11oDra7Vja4-5C0Uix7JTgLLSMG3gPj-6fkajXlWqqQk/edit#gid=931743679

答えて

1

あなたは式は技術的にアクセス行0にできるようにする必要があるとして、これは少し奇妙であるヘッダイオン配列数式を持つようにしたい場合は、我々は範囲を構築することにより、これを行うことができます。

=ArrayFormula(IF(
    --(ROW(A1:A) > 2) + -ISBLANK(A1:A) = 1; 
    {0; A1:A} - {0; A2:A; 0}; 
    "")) 

--(ROW(A1:A) > 2) + -ISBLANK(A1:A) = 1チェックした行は人口ではなく1配列数式

{0; A1:A} - {0; A2:A; 0}とうまく動作する方法の最初の2つの行の場合は、次の処理を行います

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 
2

私はこれを考えますかなりトリッキーです。問題は、配列式で各配列のセル数が一致しなければならないことです.1行目から始まる配列と2行目から始まる配列を、スプレッドシートの一番下までずらすと混在さ​​せることはできません。

ここでは、あなたが変更する必要があります

=arrayformula({"What I need";"";offset($A$1,1,0,count(A:A)-1)-offset($A$1,2,0,count(A:A)-1)}) 

enter image description here

を望む結果を得るための一つの方法があります。あなたのロケールのために。

要素を定義するために{}表記を使用して配列を構築しました。私のロケールでは、次の行に移動することを意味するので、最初の2つのセルを直接文字列として定義しました。その後、範囲A2:A5(A1から行が1行、横が4行、行が0行)を取得するためにオフセットを使用し、範囲A3:A6を差し引くことを選択しました。細胞高)それは私に他の4細胞を与えます。

B1 "What I need" 
B2 "" 
B3 A3-A2=33 
B4 A4-A3=13 
B5 A5-A4=15 
B6 A6-A5=53 

しかし、数値の間に空白のセルがある場合はIF文を追加する必要があります。列Cよりも、列Dで少ない数字がある、あなたの更新の質問の特定のケースで

、式は

=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)))}) 
+0

トム、それは動作します。あなたはそれをより多く、より良く活用できますか? –

+0

私の答えに説明が追加されました。 –

+0

ありがとう、それはどのようにIFの空白のセルをチェックすることができますか? –

関連する問題