2016-03-09 3 views
0

У меня есть данные, разделенные на колонки следующим образом:Excel сумма один столбец на основе другого

 
Runs RunsAfter Switch  New 
0   2   1 
0   2   0 
1   2   0 
0   1   0 
1   1   0 
0   0   0 
0   0   0 
0   0   1 
0   1   0 
1   1   0 
0   0   0 

Я хочу преуспеть суммировать столбец прогонов по не принимая каждую ячейку и суммируя вниз оставшуюся часть колонки до тех пор, это 1 в столбце Switch. Затем он должен начать вычислять снова до другого коммутатора. Весь этот вывод должен быть помещен в столбец New. Результат должен выглядеть как столбец RunsAfter, который я сейчас вычисляю вручную. Я буду продолжать делать это, но набор данных будет слишком большим, чтобы продолжать делать это вручную.

Я проверил вопросы, подобные этому, но не смог найти то, что я ищу. Если я пропустил ответ в другом месте, пожалуйста, дайте мне знать.

ответ

0

Если я правильно понимаю, я думаю, вы хотите использовать комбинацию формулы соответствия, чтобы найти следующий «переключатель» и косвенную формулу для определения диапазона для суммирования. Я не могу придумать простой способ сделать это.

Предполагается, что ваши заголовки находятся в строке 1, а ваши столбцы - это Runs (A), RunsAfter (B), Switch (C) и результаты D. Я использовал 100 для вашей последней строки, но вы вам нужно будет изменить это, если у вас больше строк. Это то, что я сделал в D2:

Чтобы найти следующую строку, для которой переключатель 1: MATCH (1, C3: $ C $ 100,0) + ROW()

Я также включил IFERROR сделать он не прерывается для строк после последнего переключения: IFERROR (MATCH (1, C3: $ C $ 100,0) + ROW() - 1,100)

Я включил это как часть косвенной формулы, чтобы рассказать ей, какой диапазон Подводя итог:

D2=SUM(INDIRECT("A"&ROW()&":A$"&IFERROR(MATCH(1,C3:$C$100,0)+ROW()-1,100))) 

Так что для D2 он суммируется от A2 до строки до следующего s ведьма, в этом случае строка 8. Вы должны убрать его с D2 с помощью этих якорей.

+0

Это сработало красиво, спасибо! – rjones