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

Обща формула

=SUMPRODUCT(SMALL(rng,(1,2,n)))

Обобщение

За да сумирате най-ниските n стойности в диапазон, можете да използвате формула, базирана на функцията SMALL и функцията SUMPRODUCT. В общата форма на формулата (по-горе) rng представлява диапазон от клетки, които съдържат числови стойности, а n представлява броя на най-ниските стойности за сумиране. В показания пример E5 съдържа тази формула:

=SUMPRODUCT(SMALL(B4:B14,(1,2,3)))

което връща сумата от трите най-малки стойности в B5: B14, 60

Обяснение

В най-простата си форма, SMALL ще върне "n-тата най-малка" стойност в диапазон. Например:

=SMALL(range,1) // smallest =SMALL(range,2) // 2nd smallest =SMALL(range,3) // 3rd smallest

Ако обаче предоставите константа на масив (например константа във формата (1,2,3)) на SMALL като втори аргумент, SMALL ще върне масив от резултати вместо единичен резултат. Например:

=SMALL(A1:A10,(1,2,3))

ще върне 1-ва, 2-ра и 3-та най-малки стойности в диапазона A1: A10.

Работейки отвътре навън в показания пример, SMALL връща 3-те най-малки стойности в диапазона B5: B14:

=SMALL(B4:B14,(1,2,3))

Резултатът е масив като този:

(10,20,30)

Този масив се връща директно към функцията SUMPRODUCT, която сумира числата и връща общото:

SUMPRODUCT((10,20,30)) // returns 60

Формула на масив със SUM

Често се използва SUMPRODUCT, както по-горе, тъй като той може да обработва масиви първоначално, без да влиза като формула на масив. Можете обаче да напишете и формула на масив с функцията SUM по следния начин:

(=SUM(SMALL(B4:B13,(1,2,3))))

Това е формула на масив и трябва да се въведе с control + shift + enter, освен в Excel 365.

Когато n стане голям

Когато n стане голям, става досадно да се създава константата на масива на ръка - въвеждането на константа на масив с 20 или 30 елемента ще отнеме много време. В този случай можете да използвате пряк път за изграждане на константата на масива, която използва функциите ROW и INDIRECT. Например, за да СЪОБРАЖИТЕ долните 20 стойности в диапазон, наречен "rng", можете да напишете формула като тази:

=SUMPRODUCT(SMALL(rng,ROW(INDIRECT("1:20"))))

Тук INDIRECT преобразува низа "1:20" в диапазона 1:20, който се връща директно в SMALL.

Променлива n

За да настроите формулата, където n е променлива в друга клетка, можете да обедините вътре INDIRECT. Например, ако A1 съдържа N, можете да използвате:

=SUMPRODUCT(SMALL(rng,ROW(INDIRECT("1:"&A1))))

Това позволява на потребителя да променя стойността на n директно на работния лист.

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