В моей таблице есть затраты и дополнительные затраты. Я хотел бы подсчитать расходы автоматически. Есть ли формула, которая будет суммировать столбец item_cost
для всех строк ниже этой до первой строки, которая помечена как rollup
? Что-то вроде SUM(A13:A[first_row_with_rollup=Yes]-1)
2 ответа
Вы можете использовать функцию 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 в соответствии с документами.
Я знаю, что эта ветка старая, но в интересах тех, кто может искать решение этой проблемы, вы можете попробовать следующее:
Предполагая, что столбец чисел, подлежащих суммированию, находится в столбце A, скажем, A10:A20
.
Предполагая, что "Свертывание" находится в столбце B в каждой точке, где сумма до.
Затем поместите следующую формулу в C10
:
=SUM(OFFSET(A10,0,0,MATCH("Rollup",B10:$B$20,FALSE),1))
Обратите внимание, что последняя ячейка в вашем столбце чисел имеет абсолютную ссылку.
Вы можете скопировать это в C11:C20
чтобы увидеть его в действии.