
Обща формула
=MIN(UNIQUE(range,0,1))
Обобщение
За да намерите минималната уникална стойност в набор от данни, можете да използвате функцията UNIQUE заедно с функцията MIN. В примера по-долу формулата в E5 е:
=MIN(UNIQUE(data,0,1))
където "данни" е наименуваният диапазон B5: B14.
В по-старите версии на Excel можете да използвате формула на масив, базирана на функциите MIN, IF и COUNTIF, както е обяснено по-долу.
Обяснение
Целта в този пример е да върне минималната стойност, която е уникална, т.е. минималната стойност, която се появява само веднъж в данните.
Функцията UNIQUE, нова в Excel 365, ще върне уникален списък със стойности от набор от данни. По подразбиране това е списък на всяка стойност, която се появява един или повече пъти в данните.
UNIQUE има незадължителен трети аргумент, наречен "точно_надно", който ще ограничи резултатите до стойности, които се появяват веднъж само в изходните данни. За да активирате тази функция, аргументът трябва да бъде зададен на TRUE или 1.
Работейки отвътре навън, функцията UNIQUE е конфигурирана по следния начин:
UNIQUE(data,0,1)
За масив предоставяме посочените данни за диапазона . За аргумента by_col използваме нула (0), тъй като искаме уникални стойности по редове, а не по колони. И накрая, за most_once, ние предоставяме 1, тъй като искаме само стойности, които се появяват само веднъж в изходните данни.
Конфигуриран по този начин, UNIQUE връща 4-те стойности, които се появяват само веднъж:
(700;600;500;300) // result from unique
Този масив се връща директно към функцията MIN, която връща минималната стойност 300 като краен резултат:
=MIN((700;600;500;300)) // returns 300
Формула на масив с COUNTIF
Ако използвате версия на Excel без функцията UNIQUE, можете да намерите минималната уникална стойност с формула на масив, базирана на функциите COUNTIF, MIN и IF.
(=MIN(IF(COUNTIF(data,data)=1,data)))
Това е формула на масив и трябва да се въведе с control + shift + enter, освен в Excel 365.
Работейки отвътре навън, функцията COUNTIF се използва за генериране на преброяване на всяка стойност в данните по следния начин:
COUNTIF(data,data) // count all values
Тъй като в посочените данни за диапазон има 10 стойности , COUNTIF връща масив от 10 резултата:
(2;1;1;2;1;2;2;2;1;2)
Този масив съдържа броя на всяка стойност. След това тестваме масива за стойности, равни на 1:
(2;1;1;2;1;2;2;2;1;2)=1
Отново получаваме масив с 10 резултата:
(FALSE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE;FALSE;TRUE;FALSE)
Всяка TRUE стойност съответства на стойност в изходните данни, която се появява само веднъж. Този масив се доставя директно на функцията IF, която го използва като филтър. Само стойностите в данните, свързани с TRUE, го правят в масива, върнат от IF, всички останали стойности са FALSE.
(FALSE;700;600;FALSE;500;FALSE;FALSE;FALSE;300;FALSE)
Този масив се връща директно към функцията MIN, която автоматично игнорира логическите стойности и връща минимума от останалите стойности, 300, като краен резултат.