Функция SMALL на Excel за намиране и подчертаване на най-ниските стойности

  • Споделя Това
Michael Brown

В този кратък урок ще разкажем за функцията SMALL на Excel, как работи тя и как да я използваме, за да намерим N-тото най-малко число, дата или час.

Трябва да намерите няколко най-малки числа в работен лист? Това е съвсем лесно да се направи с функцията Excel Sort (Сортиране). Не искате да губите време за повторно сортиране на данните при всяка промяна? Функцията SMALL ще ви помогне бързо да намерите най-ниската стойност, втората най-малка, третата най-малка и т.н.

    Функция SMALL на Excel

    SMALL е статистическа функция, която връща n-тата най-малка стойност в даден набор от данни.

    Синтаксисът на функцията SMALL включва два аргумента, като и двата са задължителни.

    SMALL(масив, k)

    Къде:

    • Масив - масив или набор от клетки, от които да се извлече най-малката стойност.
    • K - цяло число, което указва позицията от най-ниската стойност за връщане, т.е. k-тата най-малка.

    Функцията е налична във всички версии на Excel за Office 365, Excel 2021, Excel 2019, Excel 2016, Excel 2013, Excel 2010 и по-ранни.

    Съвет. За да намерите k-тата най-ниска стойност с критерии, използвайте формулата SMALL IF на Excel.

    Основна формула SMALL в Excel

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

    В списъка с числа в B2:B10, да предположим, че искате да извлечете третата най-малка стойност. Формулата е толкова проста, колкото:

    =SMALL(B2:B10, 3)

    За да ви е по-лесно да проверите резултата, колона В е подредена във възходящ ред:

    4 неща, които трябва да знаете за функцията SMALL

    Следващите бележки за употреба ще ви помогнат да разберете по-добре поведението на функцията SMALL и да избегнете объркване при създаването на собствени формули.

    1. Всички празни клетки , текст стойности и логически стойности TRUE и FALSE в масив се игнорират.
    2. Ако масив съдържа един или повече грешки , се връща съобщение за грешка.
    3. В случай че има дубликати в масив например, ако две клетки съдържат числото 1 и функцията SMALL е конфигурирана да връща най-малката и втората най-малка стойност, и в двата случая ще получите 1.
    4. Ако приемем, че n е броят на стойностите в масив , SMALL(array,1) ще върне най-ниската стойност, а SMALL(array,n) ще избере най-високата стойност.

    Как да използвате функцията SMALL в Excel - примери за формули

    А сега нека разгледаме още няколко примера за функцията SMALL на Excel, които надхвърлят нейната основна употреба.

    Намиране на долните 3, 5, 10 и т.н. стойности

    Както вече знаете, функцията SMALL е предназначена за изчисляване на n-тата най-малка стойност. Този пример показва как това да стане най-ефективно.

    В таблицата по-долу, да предположим, че искате да намерите долните 3 стойности. За целта въведете числата 1, 2 и 3 в отделни клетки (D3, D4 и D5 в нашия случай). След това въведете следната формула в E3 и я плъзнете надолу през E5:

    =SMALL($B$2:$B$10, D3)

    В E3 формулата извлича най-малката стойност, като използва числото в D3 за k Ключовото е да предоставите правилни препратки към клетките, благодарение на които формулата се копира правилно в други клетки: абсолютна за масив и относителни за k .

    Не искате да се занимавате с ръчно въвеждане на редиците? Използвайте функцията ROWS с разширяване на гамата препратка за предоставяне на k За тази цел правим абсолютна препратка за първата клетка (или заключваме само координатата на реда като B$2) и относителна препратка за последната клетка:

    =SMALL($B$2:$B$10, ROWS(B$2:B2))

    В резултат на това справката за обхвата се разширява, когато формулата се копира надолу по колоната. В D2, ROWS(B$2:B2) дава 1 за k , а формулата връща най-ниската цена. В D3, ROWS(B$2:B3) дава 2 и получаваме втората най-ниска цена, и т.н.

    Просто копирайте формулата през 5 клетки и ще получите долните 5 стойности:

    Сума на долните N стойности

    Искате да намерите общата сума на най-малките n стойности в набор от данни? Ако вече сте извлекли стойностите, както е показано в предишния пример, най-лесното решение е формулата SUM, например:

    =SUM(E3:E5)

    Или можете да създадете независима формула, като използвате функцията SMALL заедно със SUMPRODUCT:

    СУМАРЕН ПРОДУКТ (МАЛЪК( масив , {1, ..., n }))

    За да получим сумата от долните 3 стойности в нашия набор от данни, формулата придобива следния вид:

    =SUMPRODUCT(SMALL(B2:B10, {1,2,3})

    Функцията SUM ще даде същия резултат:

    =SUM(SMALL(B2:B10, {1,2,3})

    Забележка. Ако използвате препратки към клетките а не константа на масива за k , трябва да натиснете Ctrl + Shift + Enter, за да я превърнете във формула за масиви. В Excel 365, който поддържа динамични масиви, SUM SMALL работи като обикновена формула и в двата случая.

    Как работи тази формула:

    В обикновена формула SMALL връща една единствена k-тата най-малка стойност в даден диапазон. В този случай за аргумента k подаваме константа за масив като {1,2,3}, което налага връщането на масив от най-малките 3 стойности:

    {29240, 43610, 58860}

    Функцията SUMPRODUCT или SUM сумира числата в масива и извежда общата сума. Това е всичко!

    Формула INDEX MATCH SMALL за получаване на най-малките съвпадения

    В случаите, когато искате да извлечете данни, свързани с най-малката стойност, използвайте класическата комбинация INDEX MATCH със стойност SMALL за търсене:

    INDEX( return_array , MATCH(SMALL( lookup_array , n ), lookup_array , 0))

    Къде:

    • Return_array е диапазон, от който се извличат свързаните данни.
    • Lookup_array е диапазон, в който се търси най-ниската n-та стойност.
    • N е позицията на най-малката стойност, която представлява интерес.

    Например, за да получите името на проекта с най-ниска цена, формулата в E3 е:

    =INDEX($A$2:$A$10, MATCH(SMALL($B$2:$B$10, D3), $B$2:$B$10, 0))

    Където A2:A10 са имената на проектите, B2:B10 са разходите, а D3 е рангът от най-малък.

    Копирайте формулата в долните клетки (E4 и E5) и ще получите имената на трите най-евтини проекта:

    Забележки:

    • Това решение работи добре за набор от данни, който няма дублиращи се стойности. Две или повече дублиращи се стойности в числова колона обаче могат да създадат "връзки" в класирането, което ще доведе до грешни резултати. В този случай използвайте малко по-сложна формула за прекъсване на връзките.
    • В Excel 365 тази задача може да бъде изпълнена с помощта на новите функции за динамични масиви. Освен че е много по-прост, този подход автоматично решава проблема с връзките. За пълна информация вижте Как да филтрираме долните N стойности в Excel.

    Сортиране на числата от най-малкото до най-голямото с формула

    Вярвам, че всеки знае как да подрежда числата с функцията за сортиране на Excel. Но знаете ли как да извършвате сортиране с формула? Потребителите на Excel 365 могат да го направят по лесен начин с новата функция SORT. В Excel 2019, 2016 и по-ранни версии SORT не работи, уви. Но имайте малко вяра и SMALL ще дойде на помощ :)

    Както и в първия пример, използваме функцията ROWS с разширяваща се референция за обхват, за да увеличим k с 1 във всеки ред, в който е копирана формулата:

    =SMALL($A$2:$A$10, ROWS(A$2:A2))

    Въведете формулата в първата клетка и след това я плъзнете надолу до толкова клетки, колкото са стойностите в първоначалния набор от данни (C2:C10 в този пример):

    Съвет. За сортиране низходящ , използвайте функцията LARGE (Голям) вместо SMALL (Малък).

    Малка формула на Excel за дати и времена

    Тъй като датите и часовете също са числови стойности (във вътрешната система на Excel датите се съхраняват като поредни числа, а часовете - като десетични дроби), функцията SMALL може да ги обработва и без допълнителни усилия от ваша страна.

    Както можете да видите на снимките по-долу, основната формула, която използвахме за числата, работи чудесно и за датите и часовете:

    =SMALL($B$2:$B$10, D2)

    МАЛКА формула за намиране на най-ранните 3 дати:

    МАЛКА формула за получаване на най-краткия 3 пъти:

    Следващият пример показва как функцията SMALL може да ви помогне да изпълните по-специфична задача, свързана с дати.

    Намиране на предишна дата, която е най-близка до днешната или зададената дата

    В списък с дати, да предположим, че искате да намерите най-близката дата преди определена дата. Това може да стане с помощта на функцията SMALL в комбинация с COUNTIF.

    Със списъка с дати в B2:B10 и целевата дата в E1, следната формула ще върне предходната дата, която е най-близка до целевата дата:

    =SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1))

    За извличане на дата, която е две дати преди датата в E1, т.е. предишна, но една дата, формулата е:

    =SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1)

    Намиране на минала дата най-близо до днес , използвайте функцията TODAY за критериите на COUNTIF:

    =SMALL(B2:B10, COUNTIF(B2:B10, "<"&TODAY())

    Съвет. За да предотвратите грешки в случаите, когато не е намерена дата, отговаряща на критериите ви, можете да обгърнете формулата с функцията IFERROR, както следва:

    =IFERROR(SMALL(B2:B10, COUNTIF(B2:B10, "<"&E1)-1), "Not Found")

    Как работят тези формули:

    Общата идея е да се преброи броят на датите, по-малки от целевата дата, с помощта на COUNTIF. И този брой е точно това, от което се нуждае функцията SMALL за k аргумент.

    За да разберем по-добре концепцията, нека я разгледаме от друг ъгъл:

    Ако 1 август 2020 г. (целевата дата в E1) се появи в нашата съвкупност от данни, тя ще бъде седмата по големина дата в списъка. Следователно има шест дати, по-малки от нея. Това означава, че шестата по големина дата е предходната дата, която е най-близка до целевата дата.

    Затова първо изчисляваме колко дати са по-малки от датата в E1 (резултатът е 6):

    COUNTIF(B2:B10, "<"&E1)

    И след това включете броя във втория аргумент на SMALL:

    =SMALL(B2:B10, 6)

    За да получим предпоследната дата (която в нашия случай е петата най-малка дата), изваждаме 1 от резултата на COUNTIF.

    Как да подчертаете долните стойности в Excel

    За да подчертаете най-малките n стойности в таблицата си с условно форматиране на Excel, можете да използвате вградената опция Top/Bottom (Отгоре/отдолу) или да създадете свое собствено правило въз основа на формула SMALL (Малък). Първият метод е по-бърз и лесен за прилагане, докато вторият осигурява по-голям контрол и гъвкавост. Стъпките по-долу ще ви преведат през създаването на собствено правило:

    1. Изберете диапазона, в който искате да подчертаете долните стойности. В нашия случай числата са в B2:B10, така че избираме него. Ако искате да подчертаете цели редове, тогава изберете A2:B10.
    2. На Начало в раздела Стилове група, щракнете върху Условно форматиране > Ново правило .
    3. В Ново правило за форматиране диалогов прозорец, изберете Използвайте формула, за да определите кои клетки да форматирате.
    4. В Форматиране на стойности, при които тази формула е вярна въведете формула като тази:

      =B2<=SMALL($B$2:$B$10, 3)

      Където B2 е най-лявата клетка от числовия диапазон, който ще се проверява, $B$2:$B$10 е целият диапазон, а 3 е n долните стойности да се подчертаят.

      Във формулата си обърнете внимание на видовете препратки: най-лявата клетка е относителна препратка (B2), а обхватът е абсолютна препратка ($B$2:$B$10).

    5. Щракнете върху Формат и изберете желания от вас формат.
    6. Щракнете два пъти върху OK, за да затворите двата диалогови прозореца.

    Готово! Най-долните 3 стойности в колона В са маркирани:

    За повече информация вижте Условно форматиране на Excel въз основа на формула.

    Функцията SMALL на Excel не работи

    Както току-що видяхте от нашите примери, използването на функцията SMALL в Excel е доста лесно и е малко вероятно да срещнете някакви трудности с нея. Ако формулата ви не работи, най-вероятно това ще бъде грешка #NUM!, която може да възникне поради следните причини:

    • Масив е празен или не съдържа нито една числова стойност.
    • Сайтът k е по-малка от нула (една глупава печатна грешка може да ви коства часове отстраняване на неизправности!) или надвишава броя на стойностите в масива.

    Ето как да използвате формулата SMALL в Excel, за да откриете и подчертаете най-долните числа в набор от данни. Ако знаете други сценарии, в които функцията е полезна, можете да споделите в коментарите. Благодаря ви, че прочетохте, и се надявам да се видим в нашия блог следващата седмица!

    Практическа работна тетрадка за изтегляне

    Примери за формули на Excel SMALL (.xlsx файл)

    Майкъл Браун е отдаден технологичен ентусиаст със страст към опростяване на сложни процеси с помощта на софтуерни инструменти. С повече от десетилетие опит в технологичната индустрия, той е усъвършенствал уменията си в Microsoft Excel и Outlook, както и в Google Sheets и Docs. Блогът на Майкъл е посветен на споделянето на неговите знания и опит с други, предоставяйки лесни за следване съвети и уроци за подобряване на продуктивността и ефективността. Независимо дали сте опитен професионалист или начинаещ, блогът на Michael предлага ценни прозрения и практически съвети за извличане на максимума от тези основни софтуерни инструменти.