
数字のリストがあります (1 つの列に 8780 個の値 - サンプルは下に掲載されています)。そのうちのいくつかは <> 0 で、いくつかは 0 です。
数字のリスト:
0
0
0
0
0,127227198
0
0
0,229366036
0,174893344
0
0,247079364
0
0,508165499 0,380252705
0,221018177 0,703514629 0 0,49853953 0,891621276 1,795142292 0 0 0 0 1,405576577 0,965799766 0,347987496 0,15944612 0,087348148 0 0
0 未満の隣接する一連の数字ごとに、それらのセルの値を集計し、その合計を列 B の別のセルに追加します。どうすればいいでしょうか。列 B で if 関数のいくつかの組み合わせを使用できますか。
ご覧のとおり、数字 <> 0 はランダムに表示されるため、前の行または後の行が = 0 であるかどうかを確認し、後の行が <> 0 の場合は上の数字を合計し始めるような何らかの数式が必要だと思います。
たとえば、以下の数字の合計を 1 つのセルに追加したいとします。
1,405576577
0,965799766
0,347987496
0,15944612
0,087348148
どのような助けでも本当に感謝しています! これでより明確になったと思います :)
答え1
の元のデータについてはA1:A25
、以下を使用できます。
B1
数式バーに貼り付けてCtrl+ Shift+ を押し、次の配列数式を入力しますEnter。
=SUMPRODUCT((MIN(IF($A1:$A$25=0,ROW($A1:$A$25),ROW($A$26)))>ROW($A1:$A$25))*($A1:$A$25))
この数式は、最初のゼロの前にある A1 以下の値を合計します。
B2
追加の条件を付けた同様の配列数式を入力します(これも+ Ctrl+Shiftを使用Enter)。
=IF(A1<>0,0,SUMPRODUCT((MIN(IF($A2:$A$25=0,ROW($A2:$A$25),ROW($A$26)))>ROW($A2:$A$25))*($A2:$A$25)))
これには、列 A の上にある非ゼロのセルをチェックする条件があります。非ゼロの場合は、0 が返されます。それ以外の場合は、次のゼロの前に発生する値を合計します。
サンプル: