Содржина
Упатството покажува како да се користи функцијата SORT за динамично сортирање на низи на податоци. Ќе научите формула за подредување по азбучен ред во Excel, распоредување на броеви во растечки или опаѓачки редослед, сортирање по повеќе колони и многу повеќе.
Функционалноста Сортирање постои долго време. Но, со воведувањето на динамички низи во Excel 365, се појави неверојатно едноставен начин за сортирање со формули. Убавината на овој метод е што резултатите се ажурираат автоматски кога се менуваат изворните податоци.
Excel SORT функцијата
Функцијата SORT во Excel ја подредува содржината на низата или опсег по колони или редови, во растечки или опаѓачки редослед.
SORT спаѓа во групата на функции на динамичка низа. Резултатот е динамична низа која автоматски се прелева во соседните ќелии вертикално или хоризонтално, во зависност од обликот на изворната низа.
Синтаксата на функцијата SORT е следна:
SORT(низа, [sort_index ], [сорт_ред], [по_кол])Каде:
Низа (задолжително) - е низа од вредности или опсег на ќелии за подредување. Овие можат да бидат какви било вредности вклучувајќи текст, броеви, датуми, времиња итн.
Sort_index (изборно) - цел број што покажува по која колона или ред да се подреди. Ако се испушти, се користи стандардниот индекс 1.
Ред_сортирање (опционално) - го дефинира редоследот на сортирање:
- 1 или испуштен (стандардно) - растечки редослед , односно одформули (датотека .xlsx) најмал до најголем
- -1 - опаѓачки редослед, т.е. од најголем до најмал
By_col (изборно) - логичка вредност што ја означува насоката на сортирање:
- FALSE или испуштено (стандардно) - подредете по ред. Ќе ја користите оваа опција најчесто.
- ТОЧНО - подредете по колона. Користете ја оваа опција ако вашите податоци се организирани хоризонтално во колони како во овој пример.
Excel SORT функција - совети и забелешки
SORT е нова функција на динамична низа и како таква има неколку специфики за кои треба да знаете:
- Во моментов функцијата SORT е достапна само во Microsoft 365 и Excel 2021. Excel 2019, Excel 2016 не поддржуваат формули за динамична низа, па функцијата SORT не е достапна во овие верзии.
- Ако низата вратена со формулата SORT е конечниот резултат (т.е. не е предадена на друга функција), Excel динамички создава опсег со соодветна големина и го пополнува со сортирани вредности. Затоа, бидете сигурни дека секогаш имате доволно празни ќелии долу или/и десно од ќелијата каде што ја внесувате формулата, инаку се појавува грешка #SPILL.
- Резултатите се ажурираат динамично како што се менуваат изворните податоци. Сепак, низата доставена до формулата не се проширува автоматски за да вклучува нови записи кои се додаваат надвор од референцираната низа . За да вклучите такви ставки, треба или да ја ажурирате референцата низа во вашата формула илипретворете го изворниот опсег во табела како што е прикажано во овој пример или креирајте динамичен опсег со име.
Основна формула на Excel SORT
Овој пример прикажува основна формула за сортирање податоци во Excel по растечки и опаѓачки редослед.
Да претпоставиме дека вашите податоци се подредени по азбучен ред како што е прикажано на сликата од екранот подолу. Барате да ги сортирате броевите во колоната Б без да ги прекршувате или мешате податоците.
Формула за подредување по растечки редослед
За да ги сортирате вредностите во колоната Б од најмалата кон најголемата, еве ја формулата што треба да се користи:
=SORT(A2:B8, 2, 1)
Каде:
- A2:B8 е изворната низа
- 2 е бројот на колоната што треба да се подреди по
- 1 е растечки редослед на сортирање
Бидејќи нашите податоци се организирани во редови, последниот аргумент може да се испушти како стандардно FALSE - подредете по редови.
Само внесете ја формулата во која било празна ќелија (Д2 во нашиот случај), притиснете Enter и резултатите автоматски ќе се прелеат на D2:E8.
Формула за подредување по опаѓачки редослед
За да ги сортирате податоците опаѓачки, т.е. од најголем до најмал, поставете го аргументот sort_order на -1 вака:
=SORT(A2:B8, 2, -1)
Внесете ја формулата во горната лева ќелија на опсегот на дестинацијата и ќе го добиете овој резултат:
На сличен начин, можете да ги сортирате вредностите на текстот по азбучен ред од А до Ш или од Ш до А.
Како да ги сортирате податоците во Excel користејќи f ormula
Примерите подолу покажуваат неколку типични употреби на функцијата SORT во Excelи неколку нетривијални.
Excel SORT по колона
Кога ги подредувате податоците во Excel, во најголем дел го менувате редоследот на редовите. Но, кога вашите податоци се организирани хоризонтално со редови што содржат етикети и колони што содржат записи, можеби ќе треба да ги сортирате од лево кон десно, наместо од врвот до дното.
За да подредувате по колона во Excel, поставете го <1 Аргументот>by_col до ТОЧНО. Во овој случај, index_sort ќе претставува ред, а не колона.
На пример, да ги подредите податоците подолу по Количина. од највисоко до најниско, користете ја оваа формула:
=SORT(B1:H2, 2, 1, TRUE)
Каде:
- B1:H2 е изворниот податок за подредување
- 2 е индексот на сортирање, бидејќи ги подредуваме броевите во вториот ред
- -1 го означува опаѓачкиот редослед на сортирање
- TRUE значи сортирање колони, а не редови
Подреди по повеќе колони по различен редослед (сортирање на повеќе нивоа)
Кога работите со сложени модели на податоци, честопати можеби ќе ви треба сортирање на повеќе нивоа. Дали тоа може да се направи со формула? Да, лесно! Она што го правите е да обезбедите константи на низа за аргументите sort_index и sort_order .
На пример, прво да ги подредите податоците подолу по Регион (колона А) од А до Ш, а потоа со Количина . (колона В) од најмала до најголема, поставете ги следните аргументи:
- Низа е податокот во A2:C13.
- Сорт_индекс е константата на низата {1,3}, бидејќи прво подредивме по Регион (1.колона), а потоа со Количина . (3-та колона).
- Сорт_ред е константата на низата {1,-1}, бидејќи првата колона треба да се подреди по растечки редослед, а третата колона во опаѓачки редослед.
- By_col е испуштена бидејќи подредуваме редови, што е стандардно.
Соединувајќи ги аргументите, ја добиваме оваа формула:
=SORT(A2:C13, {1,3}, {1,-1})
И функционира совршено! Текстуалните вредности во првата колона се подредени по азбучен ред, а броевите во третата колона од најголем до најмал:
Сортирајте и филтрирајте во Excel
Во случај кога сакате да ги филтрирате податоците со некои критериуми и да го поставите излезот во ред, користете ги функциите SORT и FILTER заедно:
SORT(FILTER(низа, опсег_критериуми= критериуми) , [sort_index], [sort_order], [by_col])Функцијата FILTER добива низа вредности врз основа на критериумите што ги дефинирате и ја пренесува таа низа до првиот аргумент на SORT.
Најдоброто нешто за оваа формула е тоа што исто така ги прикажува резултатите како динамичен опсег на излевање, без да мора да притиснете Ctrl + Shift + Enter или да погодите во колку ќелии да го копирате. Како и обично, внесувате формула во горната клетка и го притискате копчето Enter.
Како пример, ќе извлечеме ставки со количина еднаква или поголема од 30 (>=30) од изворни податоци во A2:B9 и подредете ги резултатите во растечки редослед.
За ова, прво го поставивме условот, да речеме, воќелијата E2 како што е прикажано на сликата подолу. И потоа, изградете ја нашата формула Excel SORT на овој начин:
=SORT(FILTER(A2:B9, B2:B9>=E2), 2)
Покрај низата генерирана од функцијата FILTER, ние го одредуваме само index_sort аргумент (колона 2). Преостанатите два аргумента се испуштени бидејќи стандардните поставки работат точно како што ни треба (сортирајте растечки, по ред).
Добијте N најголема или најмала вредност и подредете ги резултатите
Кога се анализираат огромни големини информации, често има потреба да се извлечат одреден број врвни вредности. Можеби не само извлекување, туку и наредете ги по посакуваниот редослед. И идеално, изберете кои колони да ги вклучите во резултатите. Звучи незгодно? Не со новите функции на динамичка низа!
Еве генеричка формула:
INDEX(SORT(…), SEQUENCE( n), { column1_to_return, column2_to_return, …})Каде што n е бројот на вредностите што сакате да ги вратите.
Од долунаведеното множество податоци, претпоставете дека сакате да добиете листа на топ 3 врз основа на броевите во колоната В.
За да го направите тоа, прво ја подредувате низата A2:C13 по третата колона во опаѓачки редослед:
SORT(A2:C13, 3, -1)
И потоа, вгнездувајте ја горната формула во првиот ( низа ) аргумент на функцијата INDEX за низата да биде подредена од највисоко до најмало.
За втората ( row_num ) аргумент, кој покажува колку редови да се вратат, генерираат потребните секвенцијални броеви со користење на функцијата SEQUENCE. Какони требаат 3 горни вредности, користиме SEQUENCE(3), што е исто како и обезбедување на константа на вертикална низа {1;2;3} директно во формулата.
За третата ( col_num ) аргумент, кој дефинира колку колони да се вратат, ги снабдува броевите на колоните во форма на константа на хоризонтална низа. Сакаме да ги вратиме колоните B и C, па ја користиме низата {2,3}.
На крајот, ја добиваме следната формула:
=INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})
И таа произведува токму резултатите што ги сакаме:
За да вратите 3 долни вредности, едноставно подредете ги оригиналните податоци од најмали до најголеми. За ова, сменете го аргументот сортирање_ред од -1 во 1:
=INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})
Врати подредена вредност во одредена позиција
Гледајќи од друг агол, што ако сакате да вратите само одредена позиција за сортирање? Да речеме, само првиот, само вториот или само третиот рекорд од подредената листа? За да го направите тоа, користете ја поедноставената верзија на формулата INDEX SORT дискутирана погоре:
INDEX(SORT(…), n, { column1_to_return, column2_to_return, ...})Каде што n е позицијата на интерес.
На пример, за да добиете одредена позиција од врвот (т.е. од податоците подредени во опаѓање), користете ја оваа формула :
=INDEX(SORT(A2:C13, 3, -1), F1, {2,3})
За да добиете специфична позиција од дното (т.е. од податоците подредени во растење), користете го ова:
=INDEX(SORT(A2:C13, 3, 1), I1, {2,3})
Каде A2: C13 е извор на податоци, F1 е позиција од врвот, I1 е позиција оддното, а {2,3} се колоните што треба да се вратат.
Користете табела Excel за да добиете низа за сортирање за автоматско проширување
Како што веќе знаете , сортираната низа автоматски се ажурира кога ќе направите какви било промени на оригиналните податоци. Ова е стандардно однесување на сите функции на динамичка низа, вклучително и SORT. Меѓутоа, кога додавате нови записи надвор од референтната низа, тие не се автоматски вклучени во формулата. Ако сакате вашата формула да одговори на таквите промени, претворете го изворниот опсег во целосно функционална табела на Excel и користете структурирани референци во вашата формула.
За да видите како функционира во пракса, ве молиме разгледајте го следново пример.
Да претпоставиме дека ја користите долунаведената формула Excel SORT за да ги распоредите вредностите во опсегот A2:B8 по азбучен ред:
=SORT(A2:B8, 1, 1)
Потоа, внесувате нов запис во ред 9… и сме разочарани кога гледаат дека новододадениот запис е изоставен од опсегот на излевање:
Сега, претворете го опсегот на изворот во табела. За ова, едноставно изберете го вашиот опсег вклучувајќи ги заглавијата на колоните (A1:B8) и притиснете Ctrl + T. Кога ја градите формулата, изберете го изворниот опсег со помош на глувчето и името на табелата автоматски ќе се вметне во формулата (ова се нарекува структурирана референца):
=SORT(Table1, 1, 1)
Кога ќе напишете нов запис веднаш под последниот ред, табелата автоматски ќе се прошири, а новите податоци ќе бидат вклучени во опсегот на излевањеод формулата SORT:
Функцијата SORT на Excel не работи
Ако вашата формула SORT резултира со грешка, најверојатно тоа е поради следните причини.
Грешка #NAME: постара верзија на Excel
SORT е нова функција и работи само во Excel 365 и Excel 2021. Во постарите верзии каде оваа функција не е поддржана, има #NAME? се појавува грешка.
#SPILL error: нешто го блокира опсегот на истурање
Ако една или повеќе ќелии во опсегот на излевање не се целосно празни или споени, #SPILL! се прикажува грешка. За да го поправите, само отстранете ја блокадата. За повеќе информации, погледнете во Excel #SPILL! грешка - што значи тоа и како да се поправи.
#VALUE грешка: неважечки аргументи
Секогаш кога ќе наидете на #VALUE! грешка, проверете ги аргументите sort_index и sort_order . Sort_index не треба да го надминува бројот на колони е низа и sort_order треба да биде или 1 (растечки) или -1 (опаѓачки).
#REF error: изворната работна книга е затворена
Бидејќи динамичните низи имаат ограничена поддршка за референци помеѓу работните книги, функцијата SORT бара двете датотеки да бидат отворени. Ако изворната работна книга е затворена, формулата ќе фрли #REF! грешка. За да го поправите, само отворете ја референтната датотека.
Така да ги сортирате податоците во Excel користејќи формула. Ви благодарам што прочитавте и се надевам дека ќе се видиме на нашиот блог следната недела!
Вежбајте работна книга за преземање
Сортирање во Excel со