2

В моей таблице есть затраты и дополнительные затраты. Я хотел бы подсчитать расходы автоматически. Есть ли формула, которая будет суммировать столбец item_cost для всех строк ниже этой до первой строки, которая помечена как rollup ? Что-то вроде SUM(A13:A[first_row_with_rollup=Yes]-1)

2 ответа2

3

Вы можете использовать функцию MATCH(lookup_value, lookup_array, match_type) чтобы найти первое вхождение значения в столбце. Затем вы можете использовать это значение для определения диапазона функции суммы. Что-то вроде:

=SUM(INDIRECT(CONCATENATE("B1:B";MATCH("asd";B:B;0)-1)))

Объяснение:

MATCH("asd";B:B;0) - 1 // finds the first occurrence of "asd" on B column, gets the cell above it
CONCATENATE("B1:B";$) // get the interval b1 to bn, where n is the cell found
INDIRECT($) // makes reference to the cell specified by the string "b1:bn"
SUM($) // sums the interval

Протестировано в Google Spreasheets, но должно работать в Excel в соответствии с документами.

0

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

Предполагая, что столбец чисел, подлежащих суммированию, находится в столбце A, скажем, A10:A20 .
Предполагая, что "Свертывание" находится в столбце B в каждой точке, где сумма до.
Затем поместите следующую формулу в C10:

=SUM(OFFSET(A10,0,0,MATCH("Rollup",B10:$B$20,FALSE),1))

Обратите внимание, что последняя ячейка в вашем столбце чисел имеет абсолютную ссылку. Вы можете скопировать это в C11:C20 чтобы увидеть его в действии.

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