Суммирование соседних ячеек в одном столбце, которые 0

Суммирование соседних ячеек в одном столбце, которые 0

У меня есть список чисел (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. Как это сделать? Могу ли я использовать некоторую комбинацию функции if в столбце B?

Как вы можете видеть, числа <> 0 появляются случайным образом, поэтому я думаю, что нужна какая-то формула, которая проверяет, равна ли строка до или после = 0, и если строка после равна <> 0, она должна начать суммировать числа выше.

Например, я хочу сложить сумму следующих чисел в одну ячейку.

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. В противном случае суммируются значения, которые встречаются до следующего нуля.

Образец:

введите описание изображения здесь

Связанный контент