Excel SORTBY funkcija - pielāgota šķirošana ar formulu

  • Dalīties Ar Šo
Michael Brown

Šodien mēs aplūkosim jaunās dinamiskā masīva funkcijas SORTBY sintaksi un tipiskos lietojumus. Uzzināsiet, kā Excel programmā pēc pasūtījuma sakārtot ar formulu, izlases veidā sakārtot sarakstu, sakārtot šūnas pēc teksta garuma un daudz ko citu.

Microsoft Excel piedāvā vairākus veidus, kā sakārtot teksta datus alfabētiskā secībā, datumus hronoloģiskā secībā un skaitļus no mazākā līdz lielākajam vai no lielākā līdz mazākajam. Ir arī veids, kā šķirot pēc pašu izveidotiem sarakstiem. Papildus ierastajai šķirošanas funkcijai Excel 365 ievieš pavisam jaunu veidu, kā datus šķirot, izmantojot formulas - ļoti ērti un neticami vienkārši lietojams!

    Excel SORTBY funkcija

    Excel funkcija SORTBY ir paredzēta, lai sakārtotu vienu diapazonu vai masīvu, pamatojoties uz vērtībām citā diapazonā vai masīvā. Kārtot var pēc vienas vai vairākām kolonnām.

    SORTBY ir viena no sešām jaunajām dinamisko masīvu funkcijām, kas pieejamas Excel programmā Microsoft 365 un Excel 2021. Tās rezultāts ir dinamisks masīvs, kas izplūst uz blakus esošajām šūnām un automātiski atjauninās, kad mainās avota dati.

    Funkcijai SORTBY ir mainīgs argumentu skaits - pirmie divi ir obligāti, bet pārējie nav obligāti:

    SORTBY(array, by_array1, [sort_order1], [by_array2, sort_order2],...)

    Masīvs (obligāts) - šķirojamo šūnu diapazons vai vērtību masīvs.

    By_array1 (obligāts) - diapazons vai masīvs, pēc kura šķirot.

    Sort_order1 (nav obligāti) - šķirošanas secība:

    • 1 vai izlaists (noklusējums) - augošā secībā
    • -1 - dilstošā secībā

    By_array2 / Sort_order2 , ... (nav obligāti) - papildu masīva / kārtas pāri, ko izmantot šķirošanai.

    Svarīga piezīme! Pašlaik SORTBY funkcija ir pieejama tikai ar Microsoft 365 abonementu un Excel 2021. Excel 2019, Excel 2016 un agrākajās versijās SORTBY funkcija nav pieejama.

    SORTBY funkcija - 4 lietas, kas jāatceras

    Lai Excel SORTBY formula darbotos pareizi, jāņem vērā daži svarīgi punkti:

    • By_array argumentiem jābūt vienas rindas augstumam vai vienas kolonnas platumam.
    • Portāls masīvs un visi by_array argumentiem jābūt saderīgiem izmēriem. Piemēram, šķirojot pēc divām kolonnām, masīvs , by_array1 un by_array2 jābūt vienādam rindu skaitam; pretējā gadījumā radīsies #VALUE kļūda.
    • Ja SORTBY atdotais masīvs ir galīgais rezultāts (izvadīts šūnā un nav nodots citai funkcijai), Excel izveido dinamisku izplūdes diapazonu un aizpilda to ar rezultātiem. Tāpēc pārliecinieties, ka ir pietiekami daudz tukšu šūnu lejpus un/vai pa labi no šūnas, kurā ievadāt formulu, pretējā gadījumā saņemsiet #SPILL kļūdu.
    • SORTBY formulas rezultāti tiek automātiski atjaunināti, kad vien mainās avota dati. Tomēr jauni ieraksti, kas tiek pievienoti ārpus masīva, uz kuru ir atsauce formulā, netiek iekļauti rezultātos, ja vien neatjaunināt formulas masīvs atsauce. Lai automātiski paplašinātu atsauces masīvu, konvertējiet avota diapazonu Excel tabulā vai izveidojiet dinamisku nosauktu diapazonu.

    Pamata SORTBY formula programmā Excel

    Šeit ir aprakstīts tipisks scenārijs, kā Excel programmā izmantot SORTBY formulu:

    Pieņemsim, ka jums ir projektu saraksts ar Vērtība Jūs vēlaties projektus sakārtot pēc to vērtības atsevišķā lapā. Tā kā citiem lietotājiem nav nepieciešams redzēt skaitļus, jūs labāk neiekļaujiet laukā. Vērtība rezultātu slejā.

    Šo uzdevumu var viegli izpildīt, izmantojot funkciju SORTBY, kurai tiek norādīti šādi argumenti:

    • Masīvs ir A2:A10 - tā kā jūs nevēlaties, lai Vērtība kolonnu, kas tiks parādīta rezultātos, atstājiet to ārpus masīva.
    • By_array1 ir B2:B10 - sakārtot pēc Vērtība .
    • Sort_order1 ir -1 - dilstošā secībā, t. i., no augstākā uz zemāko.

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

    =SORTBY(A2:B10, B2:B10, -1)

    Vienkāršības labad mēs izmantojam formulu tajā pašā lapā - ievadiet to D2 un nospiediet taustiņu Enter. Rezultāti automātiski "izplūst" uz tik šūnām, cik nepieciešams (mūsu gadījumā D2:D10). Taču tehniski formula ir tikai pirmajā šūnā, un, dzēšot to no D2, tiks dzēsti visi rezultāti.

    Ja formula tiek izmantota citā lapā, tā iegūst šādu formu:

    =SORTBY(lapa1!A2:A10, lapa1!B2:B10, -1)

    Kur Lapa1 ir darblapa, kurā ir sākotnējie dati.

    Funkcijas SORTBY izmantošana programmā Excel - formulas piemēri

    Turpmāk atradīsiet vēl dažus SORTBY lietošanas piemērus, kas, cerams, būs noderīgi un noderīgi.

    Kārtot pēc vairākām kolonnām

    Iepriekš aplūkotā pamatformula šķiro datus pēc vienas kolonnas. Bet ko darīt, ja nepieciešams pievienot vēl vienu šķirošanas līmeni?

    Pieņemsim, ka mūsu parauga tabulā ir divi lauki, Statuss (B aile) un Vērtība (C sleja) , mēs vēlamies vispirms šķirot pēc Statuss pēc alfabēta un pēc Vērtība lejupejošā secībā.

    Lai šķirotu pēc divām kolonnām, mēs vienkārši pievienojam vēl vienu pāri by_array / sort_order argumenti:

    • Masīvs ir A2:C10 - šoreiz mēs vēlamies rezultātos iekļaut visas trīs kolonnas.
    • By_array1 ir B2:B10 - vispirms sakārtot pēc Statuss .
    • Sort_order1 ir 1 - sakārtojiet pēc alfabēta no A līdz Z.
    • By_array2 ir C2:C10 - tad sakārtojiet pēc Vērtība .
    • Sort_order2 ir -1 - sakārtojiet no lielākā līdz mazākajam.

    Rezultātā iegūstam šādu formulu:

    =SORTBY(A2:B10, B2:B10, 1, C2:C10, -1)

    Tas sakārto mūsu datus tieši tā, kā mēs to norādījām:

    Pielāgota šķirošana programmā Excel, izmantojot formulu

    Lai datus sakārtotu pielāgotā secībā, varat izmantot Excel pielāgotās kārtošanas funkciju vai izveidot SORTBY MATCH formulu šādā veidā:

    SORTBY(masīvs, MATCH( range_to_sort , custom_list , 0))

    Aplūkojot mūsu datu kopu tuvāk, iespējams, jums būs ērtāk sakārtot projektus pēc to statusa "loģiski", piemēram, pēc svarīguma, nevis pēc alfabēta.

    Lai to izdarītu, vispirms izveidojiet pielāgotu sarakstu vēlamajā šķirošanas secībā ( Izstrādes procesā , Pabeigts , Uz gaidīšanas laiku ), ievadot katru vērtību atsevišķā šūnā diapazonā E2:E4.

    Pēc tam, izmantojot iepriekš minēto vispārīgo formulu, mēs piegādājam avota diapazonu, lai masīvs (A2:C10),. Statuss slejā range_to_sort (B2:B10) un pielāgotais saraksts, ko izveidojām, lai custom_list (E2:E4).

    =SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0))

    Rezultātā mēs esam ieguvuši projektus, kas sakārtoti pēc to statusa tieši tā, kā nepieciešams:

    Lai sakārtotu sarakstu pēc pasūtījuma apgrieztā secībā, ierakstiet -1 kā sort_order1 arguments:

    =SORTBY(A2:C10, MATCH(B2:B10, E2:E4, 0), -1)

    Projekti būs sakārtoti pretējā virzienā:

    Ja vēlaties papildus sakārtot ierakstus katrā statusā? Nav problēmu. Vienkārši pievienojiet formulai vēl vienu šķirošanas līmeni, piemēram, pēc Vērtība (C2:C10) un definējiet vēlamo šķirošanas secību, mūsu gadījumā - augošā secībā:

    =SORTBY(A2:C10, MATCH(B2:B10, E2:E5, 0), 1, C2:C10, 1)

    Liela SORTBY formulas priekšrocība salīdzinājumā ar Excel pielāgotās šķirošanas funkciju ir tā, ka formula automātiski atjauninās, kad mainās sākotnējie dati, savukārt šī funkcija prasa tīrīšanu un atkārtotu sakārtošanu pēc katras izmaiņas.

    Kā šī formula darbojas:

    Kā jau minēts, Excel SORTBY funkcija var apstrādāt tikai tādus "sort by" masīvus, kuru izmēri ir saderīgi ar avota masīva izmēriem. Tā kā mūsu avota masīvs (C2:C10) satur 9 rindas, bet pielāgotais saraksts (E2:E4) tikai 3 rindas, mēs nevaram to piegādāt tieši funkcijai. by_array Tā vietā mēs izmantojam funkciju MATCH, lai izveidotu 9 rindu masīvu:

    MATCH(B2:B10, E2:E5, 0)

    Šeit mēs izmantojam Statuss kolonnu (B2:B10) kā meklēšanas vērtības un mūsu pielāgoto sarakstu (E2:E5) kā meklēšanas masīvu. Pēdējais arguments ir iestatīts uz 0, lai meklētu precīzu atbilstību. Rezultātā mēs iegūstam masīvu ar 9 skaitļiem, no kuriem katrs atspoguļo konkrētās pozīcijas relatīvo pozīciju. Statuss vērtība pielāgotajā sarakstā:

    {1;3;2;1;3;2;2;1;2}

    Šis masīvs ir tieši savienots ar by_array funkcijas SORTBY argumentu un liek tai izvietot datus tādā secībā, kas atbilst masīva elementiem, t. i., vispirms ieraksti, ko apzīmē 1, pēc tam ieraksti, ko apzīmē 2, un tā tālāk.

    Izlases sakārtošana programmā Excel, izmantojot formulu

    Agrākās Excel versijās varat veikt izlases veida šķirošanu, izmantojot funkciju RAND, kā paskaidrots šajā pamācībā: Kā izlases veidā sakārtot sarakstu programmā Excel.

    Jaunajā programmā Excel kopā ar SORTBY varat izmantot jaudīgāku funkciju RANDARRAY:

    SORTBY( masīvs , RANDARRAY(RINDAS( masīvs )))

    Kur masīvs ir avota dati, kurus vēlaties samaisīt.

    Šī vispārīgā formula darbojas gan sarakstam, kas sastāv no vienas kolonnas, gan vairāku kolonnu diapazonam.

    Piemēram, lai izlases veidā sakārtotu sarakstu A2:A10, izmantojiet šo formulu:

    =SORTBY(A2:A10, RANDARRAY(ROWS(A2:A10)))

    Lai samaisītu datus A2:C10, saglabājot rindas kopā, izmantojiet šo:

    =SORTBY(A2:C10, RANDARRAY(ROWS(A2:C10)))

    Kā šī formula darbojas:

    Ar funkciju RANDARRAY tiek izveidots nejaušo skaitļu masīvs, kas izmantojams šķirošanai, un jūs to nododat vienumam by_array Lai norādītu, cik daudz nejaušus skaitļus ģenerēt, saskaitiet rindu skaitu avota diapazonā, izmantojot funkciju ROWS, un "ievadiet" šo skaitli funkcijai SORTBY. rindas RANDARRAY arguments. Tas ir viss!

    Piezīme. Tāpat kā tās priekštece RANDARRAY ir gaistoša funkcija, un tā ģenerē jaunu nejaušo skaitļu masīvu ikreiz, kad tiek pārrēķināta darblapa. Rezultātā dati tiks mainīti ar katru izmaiņu lapā. Lai novērstu automātisko mainīšanu, varat izmantot funkciju Īpašais ielīmēšanas veids > Vērtības funkciju, lai aizvietotu formulas ar to vērtībām.

    Kārtot šūnas pēc virknes garuma

    Lai sakārtotu šūnas pēc tajās esošo teksta virkņu garuma, izmantojiet funkciju LEN, lai saskaitītu rakstzīmju skaitu katrā šūnā, un aprēķināto garumu ievadiet funkcijai by_array SORTBY arguments. sort_order argumentu var iestatīt uz 1 vai -1 atkarībā no vēlamās šķirošanas secības.

    Atlasīšana pēc teksta virknes no mazākās līdz lielākajai:

    SORTBY(masīvs, LEN(masīvs), 1)

    Atlasīšana pēc teksta virknes no lielākās līdz mazākajai:

    SORTBY(masīvs, LEN(masīvs), -1)

    Un šeit ir formula, kas demonstrē šo pieeju ar reāliem datiem:

    =SORTBY(A2:A7, LEN(A2:A7), 1)

    kur A2:A7 ir sākotnējās šūnas, kuras vēlaties sakārtot pēc teksta garuma augošā secībā:

    SORTBY vs. SORT

    Jauno Excel dinamisko masīvu funkciju grupā ir divas, kas paredzētas šķirošanai. Tālāk uzskaitītas būtiskākās atšķirības un līdzības, kā arī to, kad katru no tām vislabāk izmantot.

    • Atšķirībā no funkcijas SORT, SORTBY nav nepieciešams, lai masīvs "sort by" būtu daļa no avota masīva, kā arī tam nav jāparādās rezultātos. Tātad, ja jūsu uzdevums ir sakārtot diapazonu, pamatojoties uz citu neatkarīgu masīvu vai pielāgotu sarakstu, SORTBY ir pareizā funkcija, ko izmantot. Ja vēlaties sakārtot diapazonu, pamatojoties uz tā pašu vērtībām, tad SORT ir piemērotāka.
    • Abas funkcijas atbalsta vairāku līmeņu šķirošanu, un abas var ķēdīt kopā ar citām dinamisko masīvu un parastajām funkcijām.
    • Abas funkcijas ir pieejamas tikai Excel 365 un Excel 2021 lietotājiem.

    Excel SORTBY funkcija nedarbojas

    Ja jūsu SORTBY formula atgriež kļūdu, visticamāk, tas ir noticis kāda no šiem iemesliem dēļ.

    Nederīgi by_array argumenti

    Portāls by_array argumentiem jābūt vienai rindai vai vienai kolonnai, un to lielumam jābūt saderīgam ar masīvs arguments. Piemēram, ja masīvs ir 10 rindas, by_array jāietver arī 10 rindas. Pretējā gadījumā rodas #VALUE! kļūda.

    Nederīgi sort_order argumenti

    Portāls sort_order arguments var būt tikai 1 (augošā secībā) vai -1 (dilstošā secībā). Ja nav iestatīta neviena vērtība, SORTBY noklusējuma secība ir augošā secībā. Ja ir iestatīta jebkura cita vērtība, tiek atgriezta #VALUE! kļūda.

    Rezultātiem nav pietiekami daudz vietas

    Tāpat kā jebkura cita dinamiskā masīva funkcija, SORTBY izlej rezultātus automātiski maināmā un atjaunināmā diapazonā. Ja nav pietiekami daudz tukšu šūnu, lai attēlotu visas vērtības, tiek izmesta #SPILL! kļūda.

    Avota darbgrāmata ir slēgta

    Ja SORTBY formula atsaucas uz citu Excel failu, abām darbgrāmatām jābūt atvērtām. Ja avota darbgrāmata ir slēgta, rodas #REF! kļūda.

    Jūsu Excel versija neatbalsta dinamiskos masīvus.

    Ja funkcija SORT tiek izmantota pirmsdinamiskajā Excel versijā, tā atgriež kļūdu #NAME?.

    Lūk, kā izmantot funkciju SORTBY programmā Excel, lai veiktu pielāgotu šķirošanu un citas lietas. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu emuārā!

    Prakses darba burtnīca lejupielādei

    Excel SORTBY formulas (.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.