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

Съдържание

Обща формула

(=SMALL(IF(criteria,values),n))

Обобщение

За да получите 2-рата най-малка стойност, 3-та най-малка стойност, 4-та най-малка стойност и т.н., където всяка стойност съответства на предоставените критерии, можете да използвате формула на масив, която използва функциите SMALL и IF.

В показания пример формулата в G7 е:

(=SMALL(IF(Sex="F",Time),F7))

Където "Sex" е наименуван диапазон за C3: C15, а "Time" е наименуван диапазон D3: D15.

Забележка: това е формула на масив и трябва да се въведе с помощта на Control + Shift + Enter.

Обяснение

Функцията SMALL е напълно автоматична - просто трябва да предоставите диапазон и цяло число за "nth", за да посочите класираната стойност, която искате.

Проблемът в този случай е, че не искаме МАЛКО да работи върху всяка стойност в диапазона, а само стойности, които са или мъжки, или женски (M или F). За да приложим този критерий, използваме функцията IF, която осигурява логически тест за „M“ или „F“. Тъй като прилагаме теста към масив от стойности, резултатът също ще бъде масив. В показания пример , полученият масив изглежда така:

(0,00729166666666667; FALSE; 0,00689814814814815; FALSE; 0,00835648148148148; FALSE; FALSE; FALSE; FALSE; 0,00693287037037037; FALSE; FALSE; 0,00672453703703704)

Където FALSE представлява мъжки времена, а числата представляват женски времена. (Подобни времена са дробни стойности, поради което имаме толкова много знаци след десетичната запетая).

Функцията SMALL автоматично ще игнорира TRUE и FALSE стойности, така че резултатът ще бъде n-тата най-малка стойност от множеството действителни числа в масива.

Грешка без n-та

Ще получите грешка, ако няма n-та най-малка стойност въз основа на предоставените критерии. Можете да уловите тази грешка с IFERROR и да замените с каквато и да е стойност, която има смисъл по следния начин:

(=IFERROR(SMALL(IF(Sex="F",Time),F8),"-"))

Множество критерии

За да се справите с множество критерии, можете да разширите формулата с логическа логика във форма като тази:

=SMALL(IF((criteria1)*(criteria2),values),n)

Където критерии1 и критерии2 и представляват израз за тестване на стойности в диапазон от критерии, както е показано в оригиналния пример по-горе.

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