Предположим, у меня есть следующая таблица:
Мне бы хотелось узнать общее количество проданных яблок в первый день, независимо от того, кому именно они были проданы.
Я немного знаком с этим, INDEX/MATCH
но не совсем уверен, как действовать дальше.
Я понимаю, что SUMIF
функцию можно использовать для суммирования только нужного дня, но я не уверен, как с ее помощью суммировать несколько строк INDEX/MATCH
.
Результат, который я ищу, следующий:
Но самое главное, я хотел бы знатькак суммировать несколько определенных строки поэтому я прошуформула для B16.
решение1
Если у вас есть возможность разъединить ячейки в столбце A и нормализовать его, то простой вариант SUMIFS
должен сработать. В противном случае попробуйте это:
=SUMPRODUCT($C$2:$C$13,
1*($B$2:$B$13=$A16),
1*(ROW($A$2:$A$13)>=SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15)),
1*(ROW($A$2:$A$13)<SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15+1)))
Результат:
╔════════╦════╦════╗
║ Day ║ 1 ║ 2 ║
╠════════╬════╬════╣
║ Apple ║ 60 ║ 90 ║
║ Orange ║ 0 ║ 85 ║
║ Pear ║ 75 ║ 0 ║
╚════════╩════╩════╝
Источник:
Изменил формулунайдено здесь:
Объяснение:
Основная часть — это SMALL
функция
SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15)
Он создает массив номеров строк для указанного диапазона, где ячейки, не содержащие ничего ( =""
), имеют значение, которое на 100 больше соответствующего номера строки ( +100*
). С другой стороны, ячейки, не соответствующие условию (т. е. непустые ячейки), получат только свои номера строк. Этот массив передается в функцию SMALL
в B$15
качестве второго аргумента, который сообщает ей, что нужно извлечьк-тнаименьший элемент в массиве.
Итак, мы хотим просуммировать строки, начинающиеся с номера дня, что и делает эта часть:
1*(ROW($A$2:$A$13)>=SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15))
Однако мы также хотим ограничить суммирование до ячейки, расположенной непосредственно над следующей непустой ячейкой; следовательно, оператор <
и B$15+1
(т.е.(к+1)-йнаименьший элемент) в следующей части:
1*(ROW($A$2:$A$13)<SMALL(ROW($A$2:$A$13)+100*($A$2:$A$13=""),B$15+1))