Excel SORT funkcija - automātiska datu šķirošana, izmantojot formulu

  • Dalīties Ar Šo
Michael Brown

Šajā pamācībā ir parādīts, kā izmantot funkciju SORT, lai dinamiski sakārtotu datu masīvus. Jūs uzzināsiet formulu, kā Excel programmā sakārtot pēc alfabēta, sakārtot skaitļus augošā vai dilstošā secībā, sakārtot pēc vairākiem stabiņiem un daudz ko citu.

Šķirošanas funkcionalitāte ir bijusi jau sen. Taču līdz ar dinamisko masīvu ieviešanu programmā Excel 365 parādījās pārsteidzoši vienkāršs veids, kā šķirot, izmantojot formulas. Šīs metodes skaistums ir tas, ka rezultāti tiek automātiski atjaunināti, kad mainās avota dati.

    Excel SORT funkcija

    Excel funkcija SORT sakārto masīva vai diapazona saturu pēc kolonnām vai rindām augošā vai dilstošā secībā.

    SORT pieder dinamisko masīvu funkciju grupai. Rezultāts ir dinamisks masīvs, kas automātiski izplūst uz blakus esošajām šūnām vertikāli vai horizontāli atkarībā no avota masīva formas.

    SORT funkcijas sintakse ir šāda:

    SORT(array, [sort_index], [sort_order], [by_col])

    Kur:

    Masīvs (obligāts) - ir vērtību masīvs vai šūnu diapazons, ko šķirot. Tās var būt jebkuras vērtības, tostarp teksts, skaitļi, datumi, laiki utt.

    Sort_index (nav obligāts) - vesels skaitlis, kas norāda, pēc kuras kolonnas vai rindas šķirot. Ja nav norādīts, tiek izmantots noklusējuma indekss 1.

    Sort_order (nav obligāts) - nosaka šķirošanas secību:

    • 1 vai izlaists (noklusējuma iestatījums) - augošā secībā, t. i., no mazākā līdz lielākajam.
    • -1 - dilstošā secībā, t. i., no lielākās uz mazāko.

    By_col (pēc izvēles) - loģiska vērtība, kas norāda šķirošanas virzienu:

    • FALSE vai izlaists (noklusējuma iestatījums) - šķiro pēc rindas. Šo opciju izmantosiet visbiežāk.
    • TRUE - sakārtot pēc kolonnas. Šo opciju izmantojiet, ja dati ir sakārtoti horizontāli kolonnās, kā šajā piemērā.

    Excel SORT funkcija - padomi un piezīmes

    SORT ir jauna dinamiskā masīva funkcija, un tāpēc tai ir dažas īpatnības, kas jāņem vērā:

    • Pašlaik SORT funkcija ir pieejama tikai Microsoft 365 un Excel 2021. Excel 2019, Excel 2016 neatbalsta dinamisko masīvu formulas, tāpēc SORT funkcija šajās versijās nav pieejama.
    • Ja ar SORT formulas atgrieztais masīvs ir galīgais rezultāts (t. i., netiek nodots citai funkcijai), Excel dinamiski izveido atbilstoša izmēra diapazonu un aizpilda to ar sakārtotajām vērtībām. Tāpēc vienmēr pārliecinieties, ka ir pietiekami daudz tukšu šūnu lejpus un/vai pa labi no šūnas, kurā ievadāt formulu, pretējā gadījumā rodas #SPILL kļūda.
    • Rezultāti dinamiski atjauninās, mainoties avota datiem. Tomēr masīvs formulā automātiski netiek automātiski iekļauti jauni ieraksti, kas pievienoti ārpus norādītās formulas. masīvs Lai iekļautu šādus vienumus, ir jāatjaunina vai nu masīvs vai konvertējiet avota diapazonu tabulā, kā parādīts šajā piemērā, vai izveidojiet dinamisku nosaukumu diapazonu.

    Pamata Excel SORT formula

    Šajā piemērā ir parādīta pamatformula datu sakārtošanai programmā Excel augošā un dilstošā secībā.

    Pieņemsim, ka jūsu dati ir sakārtoti alfabētiskā secībā, kā parādīts ekrānšā attēlā zemāk. Jūs vēlaties sakārtot skaitļus B slejā, nesadalot vai nesajaucot datus.

    Formula, lai šķirotu augošā secībā

    Lai sakārtotu B slejā esošās vērtības no mazākās līdz lielākajai, šeit ir norādīta formula, kas jāizmanto:

    =SORT(A2:B8, 2, 1)

    Kur:

    • A2:B8 ir avota masīvs
    • 2 ir kolonnas numurs, pēc kura šķirot
    • 1 ir augošā šķirošanas secība

    Tā kā mūsu dati ir sakārtoti rindās, pēdējo argumentu var izlaist, lai pēc noklusējuma iestatītu FALSE - sakārtot pēc rindām.

    Vienkārši ievadiet formulu jebkurā tukšā šūnā (mūsu gadījumā D2), nospiediet Enter , un rezultāti automātiski izplūdīs uz D2:E8.

    Formula, lai šķirotu dilstošā secībā

    Lai datus sakārtotu dilstoši, t. i., no lielākās uz mazāko, iestatiet parametru sort_order argumentu uz -1, piemēram, šādi:

    =SORT(A2:B8, 2, -1)

    Ievadiet formulu galamērķa diapazona augšējā kreisajā šūnā, un iegūsiet šo rezultātu:

    Līdzīgā veidā varat sakārtot teksta vērtības alfabētiskā secībā no A līdz Z vai no Z līdz A.

    Kā sakārtot datus programmā Excel, izmantojot formulu

    Tālāk dotajos piemēros ir parādīti daži tipiski SORT funkcijas lietojumi programmā Excel un daži netriviāli lietojumi.

    Excel SORTĒT pēc kolonnas

    Šķirojot datus programmā Excel, lielākoties tiek mainīta rindu secība. Taču, ja dati ir sakārtoti horizontāli, rindās ietverot etiķetes, bet kolonnās - ierakstus, var būt nepieciešams tos šķirot no kreisās puses uz labo, nevis no augšas uz leju.

    Lai programmā Excel šķirotu pēc kolonnas, iestatiet by_col arguments ir TRUE. Šajā gadījumā, sort_index attēlo rindu, nevis kolonnu.

    Piemēram, lai sakārtotu tālāk norādītos datus pēc daudzuma no lielākā līdz mazākajam, izmantojiet šo formulu:

    =SORT(B1:H2, 2, 1, TRUE)

    Kur:

    • B1:H2 ir avota dati, kas jāšķiro
    • 2 ir šķirošanas indekss, jo mēs šķirojam skaitļus otrajā rindā.
    • -1 norāda dilstošu šķirošanas secību
    • TRUE nozīmē šķirot kolonnas, nevis rindas.

    Kārtot pēc vairākām kolonnām atšķirīgā secībā (daudzlīmeņu kārtošana)

    Strādājot ar sarežģītiem datu modeļiem, bieži vien var būt nepieciešama daudzlīmeņu šķirošana. Vai to var izdarīt ar formulu? Jā, viegli! Tas, ko jūs darāt, ir sniegt masīva konstantes, lai sort_index un sort_order argumenti.

    Piemēram, lai tālāk norādītos datus vispirms sakārtotu pēc Reģions (A sleja) no A līdz Z un pēc tam ar Daudzums . (C aile) no mazākā līdz lielākajam, norādiet šādus argumentus:

    • Masīvs ir A2:C13 dati.
    • Sort_index ir masīva konstante {1,3}, jo mēs vispirms šķirojam pēc Reģions (1. aile) un pēc tam Daudzums . (3. sleja).
    • Sort_order ir masīva konstante {1,-1}, jo 1. sleja ir jāsortirē augošā secībā, bet 3. sleja - dilstošā secībā.
    • By_col ir izlaists, jo mēs šķirojam rindas, kas ir noklusējuma iestatījums.

    Saliekot argumentus kopā, iegūstam šādu formulu:

    =SORT(A2:C13, {1,3}, {1,-1})

    Teksta vērtības pirmajā slejā ir sakārtotas alfabētiskā secībā, bet skaitļi trešajā slejā - no lielākās līdz mazākajai:

    Kārtot un filtrēt programmā Excel

    Ja vēlaties filtrēt datus pēc dažiem kritērijiem un sakārtot izvadītos datus, izmantojiet funkcijas SORT un FILTER kopā:

    SORT(FILTER(masīvs, criteria_range = kritēriji ), [sort_index], [sort_order], [by_col])

    Izmantojot FILTER funkciju, tiek iegūts vērtību masīvs, pamatojoties uz definētajiem kritērijiem, un šis masīvs tiek nodots SORT pirmajam argumentam.

    Vislabākais šajā formulā ir tas, ka tā rezultātus izvada arī kā dinamisku izplūdes diapazonu, un jums nav jānospiež taustiņi Ctrl + Shift + Enter vai jānojauš, uz cik šūnām to kopēt. Kā parasti, ievadiet formulu visaugstākajā šūnā un nospiediet taustiņu Enter.

    Piemēram, mēs no avota datiem A2:B9 izvilksim vienumus, kuru daudzums ir vienāds vai lielāks par 30 (>=30), un sakārtosim rezultātus augošā secībā.

    Šim nolūkam mēs vispirms iestatām nosacījumu, piemēram, šūnā E2, kā parādīts attēlā zemāk. Un pēc tam izveidojiet mūsu Excel SORT formulu šādā veidā:

    =SORT(FILTER(A2:B9, B2:B9>=E2), 2)

    Neatkarīgi no masīvs ko ģenerē FILTER funkcija, mēs norādām tikai sort_index Pārējie divi argumenti ir izlaisti, jo noklusējuma iestatījumi darbojas tieši tā, kā mums nepieciešams (šķirošana augošā secībā, pēc rindas).

    Iegūst N lielāko vai mazāko vērtību un sakārto rezultātus.

    Analizējot milzīgus informācijas apjomus, bieži vien ir nepieciešams izvilkt noteiktu skaitu augšējo vērtību. Varbūt ne tikai izvilkt, bet arī sakārtot tās vēlamajā secībā. Un, ideālā gadījumā, izvēlēties, kuras kolonnas iekļaut rezultātos. Izklausās sarežģīti? Ne ar jaunajām dinamisko masīvu funkcijām!

    Šeit ir vispārīga formula:

    INDEKSS(SORT(...), SECĪBA(...) n ), { column1_to_return , column2_to_return , ...})

    Kur n ir to vērtību skaits, kuras vēlaties atgriezt.

    Pieņemsim, ka no tālāk redzamā datu kopuma vēlaties iegūt 3 labāko sarakstu, pamatojoties uz C slejā norādītajiem skaitļiem.

    Lai to izdarītu, vispirms sakārtojiet masīvu A2:C13 pēc 3. slejas dilstošā secībā:

    SORT(A2:C13, 3, -1)

    Un pēc tam ievietot iepriekš minēto formulu pirmajā ( masīvs ) argumentu, lai masīvs būtu sakārtots no lielākā līdz mazākajam.

    Otrais ( rindu_num ) argumentu, kas norāda, cik rindu jāatgriež, ģenerē vajadzīgos secīgos skaitļus, izmantojot funkciju SEQUENCE. Tā kā mums vajadzīgas 3 augšējās vērtības, izmantojam SEQUENCE(3), kas ir tas pats, kas vertikālā masīva konstantes {1;2;3} norādīšana tieši formulā.

    Attiecībā uz trešo ( col_num ) argumentu, kas nosaka, cik kolonnas jāatgriež, sniedz kolonnu numurus horizontālā masīva konstantas formā. Mēs vēlamies atgriezt kolonnas B un C, tāpēc izmantojam masīvu {2,3}.

    Galu galā iegūstam šādu formulu:

    =INDEX(SORT(A2:C13, 3, -1), SEQUENCE(3), {2,3})

    Un tas sniedz tieši tos rezultātus, kurus vēlamies:

    Lai atgrieztos 3 apakšas vērtības, vienkārši sakārtojiet sākotnējos datus no mazākās uz lielāko. Šim nolūkam mainiet sort_order arguments no -1 līdz 1:

    =INDEX(SORT(A2:C13, 3, 1), SEQUENCE(3), {2,3})

    Atgriež sakārtotu vērtību noteiktā pozīcijā

    Ja skatāmies no citas puses, ko darīt, ja vēlaties atgriezt tikai konkrētu sakārtoto pozīciju? Teiksim, tikai 1., tikai 2. vai tikai 3. ierakstu no sakārtotā saraksta? Lai to izdarītu, izmantojiet iepriekš aplūkoto INDEX SORT formulas vienkāršoto versiju:

    INDEKSS(SORT(...), n , { column1_to_return , column2_to_return , ...})

    Kur n ir interesējošā pozīcija.

    Piemēram, lai iegūtu konkrētu pozīciju no augšas (t. i., no dilstoši sakārtotiem datiem), izmantojiet šo formulu:

    =INDEX(SORT(A2:C13, 3, -1), F1, {2,3})

    Lai iegūtu konkrētu pozīciju no apakšas (t. i., no augošā secībā sakārtotiem datiem), izmantojiet šo:

    =INDEX(SORT(A2:C13, 3, 1), I1, {2,3})

    Kur A2:C13 ir avota dati, F1 ir pozīcija no augšas, I1 ir pozīcija no apakšas un {2,3} ir atgriežamās kolonnas.

    Izmantojiet Excel tabulu, lai automātiski paplašinātu šķirošanas masīvu

    Kā jau zināt, sakārtotais masīvs tiek automātiski atjaunināts, kad veicat izmaiņas sākotnējos datos. Tā ir visu dinamisko masīvu funkciju, tostarp SORT, standarta uzvedība. Tomēr, ja pievienojat jaunus ierakstus ārpus atsauces masīva, tie netiek automātiski iekļauti formulā. Ja vēlaties, lai formula reaģētu uz šādām izmaiņām, pārveidojiet avota diapazonu par pilnībā-funkcionālo Excel tabulu un formulā izmantojiet strukturētas atsauces.

    Lai redzētu, kā tas darbojas praksē, aplūkojiet šādu piemēru.

    Pieņemsim, ka jūs izmantojat tālāk norādīto Excel SORT formulu, lai sakārtotu vērtības diapazonā A2:B8 alfabētiskā secībā:

    =SORT(A2:B8, 1, 1)

    Pēc tam ievadāt jaunu ierakstu 9. rindā... un ar vilšanos konstatējat, ka pievienotais ieraksts nav iekļauts noplūdes diapazonā:

    Tagad pārveidojiet avota diapazonu par tabulu. Šim nolūkam vienkārši atlasiet diapazonu, ieskaitot kolonnu galvenes (A1:B8), un nospiediet taustiņus Ctrl + T . Veidojot formulu, atlasiet avota diapazonu, izmantojot peli, un tabulas nosaukums formulā tiks ievietots automātiski (to sauc par strukturētu atsauci):

    =SORT(Tabula1, 1, 1)

    Ja ievadāt jaunu ierakstu tieši zem pēdējās rindas, tabula automātiski paplašināsies, un jaunie dati tiks iekļauti SORT formulas izplūdes diapazonā:

    Excel SORT funkcija nedarbojas

    Ja jūsu SORT formulas rezultātā rodas kļūda, visticamāk, tas ir šādu iemeslu dēļ.

    #NAME kļūda: vecāka Excel versija

    SORT ir jauna funkcija, un tā darbojas tikai Excel 365 un Excel 2021. Vecākās versijās, kurās šī funkcija netiek atbalstīta, tiek pieļauta kļūda #NAME?.

    #SPILL kļūda: kaut kas bloķē noplūdes diapazonu

    Ja viena vai vairākas šūnas izkliedes diapazonā nav pilnībā tukšas vai nav apvienotas, tiek parādīta #SPILL! kļūda. Lai to labotu, vienkārši noņemiet bloķēšanu. Lai iegūtu vairāk informācijas, skatiet Excel #SPILL! kļūda - ko tā nozīmē un kā to labot.

    #VALUE kļūda: nederīgi argumenti

    ikreiz, kad sastopaties ar kļūdu #VALUE!, pārbaudiet sort_index un sort_order argumenti. Sort_index nedrīkst pārsniegt kolonnu skaits ir masīvs , un sort_order jābūt 1 (augošais) vai -1 (dilstošais).

    #REF kļūda: avota darbgrāmata ir slēgta

    Tā kā dinamiskajiem masīviem ir ierobežots atbalsts atsaucēm starp darbgrāmatām, SORT funkcijai ir nepieciešams, lai abi faili būtu atvērti. Ja avota darbgrāmata ir aizvērta, formula izmet #REF! kļūdu. Lai to novērstu, vienkārši atveriet atsauces failu.

    Lūk, kā šķirot datus programmā Excel, izmantojot formulu. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!

    Prakses darba burtnīca lejupielādei

    Šķirošana programmā Excel ar formulām (.xlsx fails)

    Maikls Brauns ir īpašs tehnoloģiju entuziasts, kura aizraušanās ir sarežģītu procesu vienkāršošana, izmantojot programmatūras rīkus. Ar vairāk nekā desmit gadu pieredzi tehnoloģiju nozarē viņš ir pilnveidojis savas prasmes programmās Microsoft Excel un Outlook, kā arī Google izklājlapās un dokumentos. Maikla emuārs ir veltīts tam, lai dalītos savās zināšanās un pieredzē ar citiem, sniedzot viegli izpildāmus padomus un pamācības produktivitātes un efektivitātes uzlabošanai. Neatkarīgi no tā, vai esat pieredzējis profesionālis vai iesācējs, Maikla emuārs piedāvā vērtīgas atziņas un praktiskus padomus, kā maksimāli izmantot šos būtiskos programmatūras rīkus.