У меня есть таблица с такими значениями:

blah   1    12
       2    12
       3    12
foo    1     6
bar    1     2
foo    1     6
       2     5

Числа в средней колонке колеблются от 1 до 8; числа в правом столбце колеблются от 1 до 12. Средний столбец всегда в порядке без пропусков, но может вернуться к 1 после любого значения. Левый столбец всегда имеет непустое (но не обязательно уникальное) значение в 1 строке и пустое значение в> 1 строке. Значения для строк> 1 обычно совпадают со строками 1, но не всегда (и я не хочу предполагать, что они есть).

Я хотел бы добавить новый столбец с одной формулой, которая для каждой строки:

  • если первое число равно 1, то суммируйте все вторые числа до 1, но не включая следующую строку, с 1.
  • если первое число - что-то еще, выведите 0.

то есть. требуемый вывод для данных выше:

36
 0
 0
 6
 2
11
 0

Если это проще, сумма может появиться в строке с наибольшим номером каждой подгруппы вместо 1 строки (хотя я определенно предпочитаю ее в 1 строке). Но необходимо поддерживать отношения строк - он не может выводить только 4 строки.

В качестве альтернативы решение о группировке может быть основано на пустом / непустом столбце вместо столбца подсчета; еще раз, если это проще.

1 ответ1

1

Предполагая, что таблица, которую вы предоставляете, находится в A1:C7, в D1 и скопируйте:

=IF(B1=1,SUM(C1:INDEX(C1:C$1000,IFERROR(MATCH(TRUE,INDEX(B2:B$1000=1,,),0),MATCH(10^10,C:C)))),0)

Отрегулируйте 1000 до достаточно большого номера строки, если требуется.

Обратите внимание, что это решение предполагает, что значения в столбце C являются числовыми, а не, например, числами, хранящимися в виде текста.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .