У меня есть электронная таблица, которая содержит список точек данных с течением времени, а также некоторые значения времени, которые обозначают события. Я хочу суммировать все точки данных между каждым из значений события.

Моя таблица выглядит примерно так:

Индекс ячейки, ближайшей к событию, который я могу получить, используя =MATCH(K13, $B$12:$B$8889, 1) (например), который возвращает индекс (например, 301 как указано выше). Однако я не знаю, как перейти от тех признаков, которые указывают ячейку, к сумме ряда.

Значение, которое я могу нанести на что-то вроде =INDEX($G$12:$G$8889,M13) , но мне не нужно только одно значение, я хочу суммировать все между, скажем, 1 (он же B12) и 301 (B312).

2 ответа2

3

Зачем вам индексы? Используйте функцию SUMIFS. Я не вижу строки 301 на вашей картинке, но допустим, что вы хотите сложить все между третьим (K14) и десятым (K20) событием. Формула должна быть что-то вроде

=SUMIFS(G2:G8889, B2:B8889, ">" & K14; B2:B8889, "<" & K20) 

Может потребоваться некоторая настройка, потому что я не пробовал это на вашем примере. Ссылка на функцию приведена выше.

1
=SUM(INDIRECT(ADDRESS(1, 7) & ":" & 
              ADDRESS(MATCH(K13, $B$12:$B$8889, 1), 7))

но лично я бы использовал функцию SUMIFS, как показано в ответе Румчо.

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