Преглед садржаја
Данас ћемо детаљно погледати синтаксу и типичне употребе нове функције динамичког низа СОРТБИ. Научићете како да прилагођено сортирате у Екцел-у помоћу формуле, насумично сортирате листу, организујете ћелије по дужини текста и још много тога.
Мицрософт Екцел пружа бројне начине за распоређивање текстуалних података по абецедном реду, датуме хронолошки, и бројеви од најмањег до највећег или од највишег до најмањег. Постоји и начин да сортирате по сопственим прилагођеним листама. Поред конвенционалне функције сортирања, Екцел 365 уводи потпуно нови начин сортирања података помоћу формула – веома згодан и невероватно једноставан за коришћење!
Екцел функција СОРТБИ
Функција СОРТБИ у Екцел-у је дизајнирана да сортира један опсег или низ на основу вредности у другом опсегу или низу. Сортирање се може обавити по једној или више колона.
СОРТБИ је једна од шест нових функција динамичког низа доступних у Екцел-у за Мицрософт 365 и Екцел 2021. Његов резултат је динамички низ који се преноси на суседне ћелије и аутоматски се ажурира када изворни подаци се мењају.
Функција СОРТБИ има променљив број аргумената - прва два су обавезна, а други су опциони:
СОРТБИ(низ, по_низу1, [поређај_ред1], [по_низу2, сорт_ред2] ,…)Низ (обавезно) - опсег ћелија или низ вредности које треба сортирати.
По_низу1 (обавезно) - опсег или низ за сортирањепрема.
Сорт_ордер1 (опционо) - редослед сортирања:
- 1 или изостављен (подразумевано) - растући
- -1 - силазни
По_низу2 / Редослед_сортирања2 , … (опционо) - додатни парови низ / ред који се користе за сортирање.
Важна напомена! Тренутно је функција СОРТБИ доступна само уз претплате на Мицрософт 365 и Екцел 2021. У Екцел 2019, Екцел 2016 и старијим верзијама функција СОРТБИ није доступна.
Функција СОРТБИ - 4 ствари које треба запамтити
Да би Екцел формула СОРТБИ исправно функционисала, треба обратити пажњу на неколико важних тачака:
- Би_арраи аргументи треба да буду високи или један ред или широка једна колона.
- низ и сви аргументи по_низу морају имати компатибилне димензије. На пример, када сортирате по две колоне, низ , по_низу1 и по_низу2 треба да имају исти број редова; у супротном ће доћи до грешке #ВАЛУЕ.
- Ако је низ који враћа СОРТБИ коначан резултат (излаз у ћелији и није прослеђен другој функцији), Екцел креира динамички опсег преливања и попуњава га резултатима. Дакле, уверите се да имате довољно празних ћелија доле и/или десно од ћелије у коју уносите формулу, иначе ћете добити грешку #СПИЛЛ.
- Резултати СОРТБИ формула се аутоматски ажурирају кад год се промене изворних података. Међутим, нови уноси који се додају изванниз наведен у формули није укључен у резултате осим ако не ажурирате референцу арраи . Да би се референтни низ аутоматски проширио, конвертујте изворни опсег у Екцел табелу или креирајте динамички именовани опсег.
Основна формула СОРТБИ у Екцел-у
Ево типичног сценарија коришћења Формула СОРТБИ у Екцел-у:
Претпоставимо да имате листу пројеката са пољем Вредност . Желите да сортирате пројекте по њиховој вредности на посебном листу. Пошто други корисници не морају да виде бројеве, радије не бисте укључивали колону Вредност у резултате.
Задатак се лако може обавити помоћу функције СОРТБИ, за коју сте наведите следеће аргументе:
- Низ је А2:А10 - пошто не желите да се колона Вредност приказује у резултатима, оставите је изван низа.
- По_низу1 је Б2:Б10 - сортирај према Вредности .
- Поред_сортирања1 је -1 - опадајуће, тј. од највишег ка најнижем.
Стављајући аргументе, добијамо ову формулу:
=SORTBY(A2:B10, B2:B10, -1)
Ради једноставности, користимо формулу на истом лист - унесите га у Д2 и притисните тастер Ентер. Резултати се аутоматски „просипају“ на онолико ћелија колико је потребно (Д2:Д10 у нашем случају). Али технички, формула је само у првој ћелији, а брисањем из Д2 избрисаће се сви резултати.
Када се користи на другом листу, формула узимаследећи облик:
=SORTBY(Sheet1!A2:A10, Sheet1!B2:B10, -1)
Где је Схеет1 радни лист који садржи оригиналне податке.
Коришћење функције СОРТБИ у Екцел-у - примери формуле
У наставку ћете наћи још неколико примера коришћења СОРТБИ-а, који ће се, надамо се, показати корисним и проницљивим.
Сортирај по више колона
Основна формула о којој смо горе говорили сортира податке по једној колони. Али шта ако треба да додате још један ниво сортирања?
Под претпоставком да наша табела примера има два поља, Статус (колона Б) и Вредност (колона Ц) , желимо прво да сортирамо по Статус по абецедном реду, а затим по Вредности опадајућем.
Да бисмо сортирали по две колоне, само додамо још један пар по_низу / поређај_поређивања аргументи:
- Низ је А2:Ц10 - овог пута желимо да укључимо све три колоне у резултате.
- Би_арраи1 је Б2:Б10 - прво, сортирај према Статус .
- Сорт_ордер1 је 1 - сортирај по абецедном реду од А до З.
- По_низу2 је Ц2:Ц10 - онда, сортирај по Вредности .
- Поред_сортирања2 је -1 - сортирај од највећег до најмањег.
Као резултат, добијамо следећу формулу:
=SORTBY(A2:B10, B2:B10, 1, C2:C10, -1)
Која преуређује наше податке тачно онако како смо им рекли:
Прилагођено сортирање у Екцел-у са формулом
Да бисте сортирали податке по прилагођеном редоследу, можете или да користите Екцел-ову функцију прилагођеног сортирања или да направите формулу СОРТБИ МАТЦХ на овај начин:
СОРТБИ(низ,МАТЦХ( ранге_то_сорт , цустом_лист , 0))Када боље погледате наш скуп података, вероватно ће вам бити згодније да сортирате пројекте према њиховом статусу „логично“ , на пример. по важности, а не по абецедном реду.
Да бисмо то урадили, прво креирамо прилагођену листу у жељеном редоследу сортирања ( У току , Завршено , На чекању ) укуцавајући сваку вредност у посебну ћелију у опсегу Е2:Е4.
А затим, користећи горњу генеричку формулу, достављамо изворни опсег за низ (А2 :Ц10), колона Статус за ранге_то_сорт (Б2:Б10), и прилагођена листа коју смо креирали за цустом_лист (Е2:Е4).
=SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0))
Као резултат, добили смо пројекте сортиране по њиховом статусу тачно колико је потребно:
Да бисте сортирали по прилагођеној листи у обрнутом редоследу, ставите -1 за сорт_ордер1 аргумент:
=SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0), -1)
И имаћете пројекте сортиране у супротном смеру:
Желите ли додатно сортирати записе унутар сваког статуса? Нема проблема. Једноставно, додајте још један ниво сортирања у формулу, рецимо по Вредност (Ц2:Ц10), и дефинишите жељени редослед сортирања, растући у нашем случају:
=SORTBY(A2:C10, MATCH(B2:B10, E2:E5, 0), 1, C2:C10, 1)
Велика предност формуле СОРТБИ у односу на Екцел-ову функцију прилагођеног сортирања је та што се формула аутоматски ажурира кад год се оригинални подаци промене, док функција захтева чишћење и поновно сортирање са сваком променом.
Како ову формулуради:
Као што је већ поменуто, Екцел-ова функција СОРТБИ може да обрађује само низове „сортирај по“ чије су димензије компатибилне са изворним низом. Пошто наш изворни низ (Ц2:Ц10) садржи 9 редова, а прилагођена листа (Е2:Е4) само 3 реда, не можемо га доставити директно аргументу би_арраи . Уместо тога, користимо функцију МАТЦХ да креирамо низ од 9 редова:
MATCH(B2:B10, E2:E5, 0)
Овде користимо колону Статус (Б2:Б10) као вредности за тражење и нашу прилагођену листу (Е2:Е5) као низ за тражење. Последњи аргумент је постављен на 0 за тражење тачних подударања. Као резултат, добијамо низ од 9 бројева, од којих сваки представља релативну позицију дате вредности Статус на прилагођеној листи:
{1;3;2;1;3;2;2;1;2}
Овај низ иде директно аргументу би_арраи функције СОРТБИ и приморава је да постави податке редоследом који одговара елементима низа, тј. прво уносе представљене 1, затим уносе представљене 2, итд.
Насумично сортирање у Екцел-у са формулом
У ранијим верзијама Екцел-а, можете извршити насумично сортирање помоћу функције РАНД као што је објашњено у овом водичу: Како насумично сортирати листу у Екцел-у.
У новом Екцел-у можете користити моћнију функцију РАНДАРРАИ заједно са СОРТБИ:
СОРТБИ( арраи , РАНДАРРАИ(РОВС( арраи )))Где је низ изворни подаци које желите да измешате.
Ова генеричка формула функционише за листу која се састоји одједну колону као и за опсег са више колона.
На пример, да бисте насумично сортирали листу у А2:А10, користите ову формулу:
=SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10)))
Да бисте насумично сортирали листу подаци у А2:Ц10 држећи редове заједно, користите овај:
=SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10)))
Како ова формула функционише:
Функција РАНДАРРАИ производи низ насумичних бројева који ће се користити за сортирање, а ви га проследите у аргумент би_арраи СОРТБИ. Да бисте одредили колико насумичних бројева треба да генеришете, пребројате број редова у изворном опсегу помоћу функције РОВС и „унесете“ тај број у аргумент ровс РАНДАРРАИ-а. То је то!
Напомена. Као и његов претходник, РАНДАРРАИ је променљива функција и генерише нови низ случајних бројева сваки пут када се радни лист поново израчуна. Као резултат, ваши подаци ће се користити са сваком променом на листу. Да бисте спречили аутоматско прибегавање, можете да користите функцију Специјално лепљење &гт; Вредности да замените формуле њиховим вредностима.
Сортирајте ћелије по дужини низа
Да бисте сортирали ћелије по дужини текстуалних стрингова које садрже, користите функцију ЛЕН да бисте пребројали број знакова у свакој ћелији и доставите израчунате дужине у аргумент би_арраи СОРТБИ. Аргумент сорт_ордер може бити постављен на 1 или -1, у зависности од жељеног редоследа сортирања.
Да бисте сортирали по текстуалном низу од најмањег до највећег:
СОРТБИ(низ, ЛЕН(низ), 1)За сортирање потекстуални низ од највећег до најмањег:
СОРТБИ(низ, ЛЕН(низ), -1)И ево формуле која демонстрира овај приступ стварним подацима:
=SORTBY(A2:A7, LEN(A2:A7), 1)
Где су А2:А7 оригиналне ћелије које желите да сортирате по дужини текста у растућем редоследу:
СОРТБИ вс. СОРТ
У групи нових Екцел функција динамичког низа, постоје две дизајниран за сортирање. У наставку наводимо најважније разлике и сличности, као и када је сваку најбоље користити.
- За разлику од функције СОРТ, СОРТБИ не захтева да низ „сортирај по“ буде део извора низ, нити мора да се појављује у резултатима. Дакле, када је ваш задатак да сортирате опсег на основу другог независног низа или прилагођене листе, СОРТБИ је права функција за коришћење. Ако желите да сортирате опсег на основу сопствених вредности, онда је СОРТ прикладнији.
- Обе функције подржавају више нивоа сортирања и обе могу бити повезане заједно са другим динамичким низом и конвенционалним функцијама.
- Обе функције су доступне само корисницима програма Екцел 365 и Екцел 2021.
Екцел функција СОРТБИ не ради
У случају да ваша СОРТБИ формула врати грешку, то је највероватније због један од следећих разлога.
Неважећи аргументи би_арраи
Аргументи би_арраи морају бити један ред или једна колона и компатибилни по величини са арраи аргумент. На пример, ако низ има 10ровс, би_арраи такође треба да садржи 10 редова. Иначе #ВРЕДНОСТ! јавља се грешка.
Неважећи аргументи сорт_ордер
Аргументи сорт_ордер могу бити само 1 (узлазно) или -1 (опадајуће). Ако ниједна вредност није подешена, СОРТБИ подразумевано подразумева растући редослед. Ако је постављена било која друга вредност, #ВАЛУЕ! грешка се враћа.
Нема довољно простора за резултате
Као и свака друга функција динамичког низа, СОРТБИ пребацује резултате у опсег који се аутоматски може променити и ажурирати. Ако нема довољно празних ћелија да се прикажу све вредности, #СПИЛЛ! јавља се грешка.
Изворна радна свеска је затворена
Ако СОРТБИ формула упућује на другу Екцел датотеку, обе радне свеске морају бити отворене. Ако је изворна радна свеска затворена, #РЕФ! долази до грешке.
Ваша верзија Екцел-а не подржава динамичке низове
Када се користи у претходно динамичкој верзији Екцел-а, функција СОРТ враћа #НАМЕ? грешка.
Тако се користи функција СОРТБИ у Екцел-у за прилагођено сортирање и друге ствари. Хвала вам што сте читали и надам се да се видимо на нашем блогу следеће недеље!
Вежбање за преузимање
Екцел СОРТБИ формуле (.клск датотека)