2016-04-13 3 views
0

私は初心者ですので、私の無知を許してください。私はGoogleを検索したが、私は何を探すべきか分からないと思う。 カラムCの値は、0または整数で表されます。Excelのヘルプ。値> 0の次のセルに値が0の場合にのみ縫合する必要があります

C1 145

C2 0

C3 0

C4 142

C5 0

C6 0

C7 140

私はD4セルで、Cでゼロでない次の値からC4を減算する式を作成しようとしています。次に、ゼロより大きい値を持つ次のセルからのC7の減算からD7で同じ計算を行います。私にD4 = 3とD7 = 2をそれぞれ与えてください。 私にこれを与えることができる機能はありますか?スプレッドシート全体には多くの計算があり、その値は以前の値によっては必ずしも特定のセルに収まるとは限りません。 D4で

答えて

0

は入れ:

=IF(C4<>0,INDEX($C$1:$C3,AGGREGATE(14,6,ROW($1:3)/($C$1:$C3<>0),1))-C4,"") 

そして限り、必要に応じてダウンコピーを。

![enter image description here

間違った答えを与える式のタイプミス修正するために編集。

+0

私はあなたの数式に2つの質問があります。 1)大規模ではなく集約する理由それは正規の数式の中で配列計算を行うためですか?それとも単にデータの潜在的なエラー(つまり6つのオプション)のためだけですか? 2)集合式 'row($ 1:$ 3)/($ C $ 1:$ C3 <> 0)'の配列部分を理解できません。私はレンジをある範囲で割った値を見るのに慣れていません。これが単なる質問であれば、私はそれをスタンドアローンとして掲示することを知っていますか? –

+0

3番目の質問は、これは数字のパターンのためにのみ働いていますか? –

+0

私はLarge(if())の代わりにAggregate()を使用します。なぜなら、CSE配列の式ではないからです。分割部分はエラーを投げる部分です。ボトム配列がfalseのときは0になり、0で割り算するとエラーが発生するため、集合体はそれを無視します。これは列の0の行数には関係ありません。 '$ C $ 1:$ C3'を見ると、最後の数字は行4よりも1少なく、相対的です。つまり、数式がドラッグされると、行番号より常に1つ少なくなるように変更されます。 –

関連する問題