Найти строку, когда накопленная сумма достигает определенного значения с условием
У меня есть таблица с 3 столбцами Дата, Элемент и Номер. В каждой строке указано, сколько предметов каждого предмета было получено на эту дату. Я пытаюсь найти дату, когда совокупная сумма достигает 100 или более в этом месяце. Каждый месяц будет иметь цель для каждого элемента, которая будет сохранена на другом листе, но для простоты мы можем предположить, что это фиксированное число 100.
Example Data:
Date Item Number
1/2/2018 A 10
2/2/2018 B 10
2/2/2018 A 15
5/2/2018 C 25
6/2/2018 A 50
7/2/2018 B 10
7/2/2018 C 10
8/2/2018 A 25
9/2/2018 A 20
Я ищу формулу, которая должна действовать на основе данных, аналогичных приведенным выше, и давать результат в виде 8/8/2018, который является датой, когда совокупная сумма для пункта А достигла 100.
Каждый месяц будет иметь разное целевое число и будет иметь разное количество записей.
Я попытался использовать SUMIF и добавить дополнительный столбец и т. Д., Но эти данные являются лишь частью больших данных, и ограничение каждого элемента сохраняется на отдельном листе и т. Д., Который нелегко объединить. Заранее спасибо за помощь.
1 ответ
Только в Excel вы можете использовать Offset для создания массива элементов и чисел, содержащих 1,2,3...9 строк, а затем SUMIF для добавления каждого из них. Затем используйте Match, чтобы найти первое =100, и Index, чтобы найти соответствующую дату (в F2):
=INDEX(A2:A10,MATCH(100,SUMIF(OFFSET(B2,0,0,TRANSPOSE(ROW(A2:A10))-ROW(A1)),"A",OFFSET(C2,0,0,TRANSPOSE(ROW(A2:A10))-ROW(A1))),0))
Должен быть введен как формула массива с помощью Ctrl Shift Enter.
РЕДАКТИРОВАТЬ
Чтобы найти первую сумму, которая>=100 (в G2):
=INDEX(A2:A10,MATCH(TRUE,SUMIF(OFFSET(B2,0,0,TRANSPOSE(ROW(A2:A10))-ROW(A1)),"A",OFFSET(C2,0,0,TRANSPOSE(ROW(A2:A10))-ROW(A1)))>=100,0))
Сумма, которая достигает ровно 100
Сумма, которая не достигает ровно 100 (число в строке 9 было изменено на 24):