Формула на Excel: Сумирайте първите n съвпадащи стойности -

Съдържание

Обща формула

=SUM(INDEX(FILTER(range,logic),SEQUENCE(n,1,1,1)))

Обобщение

За да сумирате първите n съвпадащи стойности в набор от данни, можете да използвате формула, базирана на функциите FILTER и SEQUENCE. В показания пример формулата в клетка G5, копирана надолу, е:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,1,1)))

където име (B5: B16) и резултат (C5: C16) са наименувани диапазони.

Обяснение

Функцията FILTER, нова в Excel 365, може да помогне за опростяване на някои трудни проблеми с формулата.

В този пример целта е да се сумират първите 3 резултата както за Джейк, така и за Хейли, в зависимост от реда, в който се появяват в таблицата. Общо има 12 точки, а Джейк и Хейли имат по 6 точки.

Работейки отвътре навън, първата задача е да генерира списък с резултати за всяко име. Това се прави с функцията FILTER:

FILTER(score,name=F5)

С "Jake" в клетка F5, резултатът е масив с всички резултати на Jake като този:

(6;5;7;7;6;8)

Този масив се връща към функцията INDEX като аргумент на масива:

INDEX((6;5;7;7;6;8),SEQUENCE(3,1,1,1))

Функцията SEQUENCE се използва за генериране на стойността за номер на ред и връща масив с 3 числа,

SEQUENCE(3,1,1,1) // returns (1;2;3)

На този етап можем да напишем INDEX частта от формулата по следния начин:

INDEX((6;5;7;7;6;8),(1;2;3))

INDEX връща стойностите, свързани с първите 3 реда в масива към функцията SUM:

=SUM((6;5;7)) // returns 18

и SUM връща сумата от тези стойности като краен резултат в G5. Когато формулата се копира до клетка G6, резултатът е сумата от първите 3 резултата на Хейли.

Сумирайте последните n съвпадащи стойности

За да сумирате последните n съвпадащи стойности, можете да адаптирате формулата по следния начин:

=SUM(INDEX(FILTER(score,name=F5),SEQUENCE(3,1,SUM(--(name=F5)),-1)))

Тази формула е обяснена по-подробно тук.

Интересни статии...