Excel SORTBY-funksje - oanpaste sortearje mei formule

  • Diel Dit
Michael Brown

Hjoed sille wy de syntaksis en typyske gebrûken fan 'e nije SORTBY-funksje fan dynamyske array goed besjen. Jo sille leare hoe't jo oanpaste sortearje kinne yn Excel mei in formule, in list willekeurich sortearje, sellen op tekstlingte regelje, en mear.

Microsoft Excel biedt in oantal manieren om tekstgegevens alfabetysk te regeljen, datums gronologysk, en nûmers fan lyts nei grutste of fan heechste nei leechste. D'r is ek in manier om te sortearjen op jo eigen oanpaste listen. Neist de konvinsjonele Sort-funksjonaliteit yntrodusearret Excel 365 in gloednije manier om gegevens te sortearjen mei formules - heul handich en ongelooflijk ienfâldich te brûken!

    Excel SORTBY-funksje

    De SORTBY-funksje yn Excel is ûntworpen om ien berik of array te sortearjen basearre op de wearden yn in oar berik of array. Sortearjen kin dien wurde troch ien of meardere kolommen.

    SORTBY is ien fan seis nije dynamyske array-funksjes beskikber yn Excel foar Microsoft 365 en Excel 2021. It resultaat is in dynamyske array dy't nei oanbuorjende sellen spilet en automatysk bywurket as de boarnegegevens feroarje.

    De SORTBY-funksje hat in fariabele oantal arguminten - de earste twa binne ferplicht en de oare binne opsjoneel:

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

    Array (fereaske) - it berik fan sellen of array fan wearden dy't moatte wurde sorteare.

    By_array1 (ferplicht) - it berik of array sortearjeby.

    Sortearje_oarder1 (opsjoneel) - de sortearfolchoarder:

    • 1 of weilitten (standert) - oprinnend
    • -1 - ôfnimmend

    By_array2 / Sort_order2 , … (opsjoneel) - ekstra array / oarderpearen om te brûken foar sortearjen.

    Wichtige opmerking! Op it stuit is de SORTBY-funksje allinnich beskikber mei Microsoft 365-abonneminten en Excel 2021. Yn Excel 2019, Excel 2016 en eardere ferzjes is de SORTBY-funksje net beskikber.

    SORTBY-funksje - 4 dingen om te ûnthâlden

    Foar in Excel SORTBY-formule om goed te wurkjen, binne d'r in pear wichtige punten om omtinken te jaan:

    • By_array arguminten moatte ien rige heech of ien kolom breed wêze.
    • De array en alle by_array arguminten moatte kompatibele dimensjes hawwe. Bygelyks, by it sortearjen op twa kolommen, array , by_array1 en by_array2 moatte itselde oantal rigen hawwe; oars sil der in #VALUE flater foarkomme.
    • As de array weromjûn troch SORTBY it einresultaat is (útfier yn in sel en net trochjûn oan in oare funksje), makket Excel in dynamysk spillbereik en populearret it mei de resultaten. Soargje der dus foar dat jo genôch lege sellen nei ûnderen en/of rjochts fan 'e sel hawwe wêr't jo de formule ynfiere, oars krije jo in #SPILL-flater.
    • De resultaten fan SORTBY-formules wurde automatysk bywurke as de boarne gegevens feroarings. Lykwols, nije yngongen dy't wurde tafoege bûtende array ferwiisd yn de formule binne net opnommen yn 'e resultaten, útsein as jo de array referinsje bywurkje. Om de ferwiisde array automatysk út te wreidzjen, konvertearje it boarneberik nei in Excel-tabel of meitsje in dynamysk neamd berik.

    Basis SORTBY-formule yn Excel

    Hjir is in typysk senario fan it brûken fan in SORTBY-formule yn Excel:

    Stel, jo hawwe in list mei projekten mei it fjild Wearde . Jo wolle de projekten sortearje op har wearde op in apart blêd. Om't oare brûkers de nûmers net hoege te sjen, wolle jo leaver de kolom Wearde net yn 'e resultaten opnimme.

    De taak kin maklik útfierd wurde mei de SORTBY-funksje, wêrfoar jo leverje de folgjende arguminten:

    • Array is A2:A10 - om't jo net wolle dat de kolom Wearde yn 'e resultaten werjûn wurdt, litte jo it litte út de array.
    • By_array1 is B2:B10 - sortearje op Wearde .
    • Sort_order1 is -1 - ôfnimmend, dus fan heechst nei leech.

    De arguminten gear te setten krije wy dizze formule:

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

    Foar de ienfâld brûke wy de formule op deselde blêd - fier it yn D2 en druk op de Enter-toets. De resultaten "spielje" automatysk nei safolle sellen as nedich (D2: D10 yn ús gefal). Mar technysk is de formule allinich yn 'e earste sel, en it wiskjen fan D2 sil alle resultaten wiskje.

    As brûkt op in oar blêd, nimt de formule defolgjende foarm:

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

    Wêr't Sheet1 it wurkblêd is mei de orizjinele gegevens.

    Gebrûk fan SORTBY-funksje yn Excel - formulefoarbylden

    Hjirûnder fine jo noch in pear foarbylden fan it brûken fan SORTBY, dy't hooplik nuttich en ynsjochber bliken sille.

    Sortearje op meardere kolommen

    De hjirboppe besprutsen basisformule sortearret gegevens op ien kolom. Mar wat as jo noch ien sortearringsnivo taheakje moatte?

    Trochgean fan ús foarbyldtabel hat twa fjilden, Status (kolom B) en Wearde (kolom C) , wolle wy earst sortearje op Status alfabetysk, en dan op Wearde ôfnimmend.

    Om op twa kolommen te sortearjen, foegje wy gewoan noch ien pear fan de <1 ta>by_array / sort_order arguminten:

    • Array is A2:C10 - dizze kear wolle wy alle trije kolommen yn 'e resultaten opnimme.
    • By_array1 is B2:B10 - earst sortearje op Status .
    • Sort_order1 is 1 - sortearje alfabetysk fan A oant Z.
    • By_array2 is C2:C10 - sortearje dan op Wearde .
    • Sort_order2 is -1 - sortearje fan grut nei lyts.

    As resultaat krije wy de folgjende formule:

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

    Dy't ús gegevens krekt sa't wy it ynstruearre hawwe werrangskje:

    Aanpaste sortearje yn Excel mei in formule

    Om gegevens yn in oanpaste folchoarder te sortearjen, kinne jo de funksje Custom Sort fan Excel brûke of in SORTBY MATCH-formule op dizze manier bouwe:

    SORTBY(array,MATCH( range_to_sort , custom_list , 0))

    As jo ​​ús dataset fan tichterby besjen, sille jo it wierskynlik handiger fine om de projekten te sortearjen op har status "logysk" , bgl. troch belang, yn stee fan alfabetysk.

    Om it dien te meitsjen, meitsje wy earst in oanpaste list yn 'e winske sortearfolchoarder ( Yn wurking , Kompleet , On hold ) typ elke wearde yn in aparte sel yn it berik E2:E4.

    En dan, mei de generyske formule hjirboppe, leverje wy it boarneberik foar array (A2) :C10), de kolom Status foar range_to_sort (B2:B10), en de oanpaste list dy't wy makke hawwe foar custom_list (E2:E4).

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

    As resultaat hawwe wy de projekten sortearre op har status krekt as nedich:

    Om te sortearjen op oanpaste list yn omkearde folchoarder, set -1 foar de sort_order1 argumint:

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

    En jo sille de projekten yn 'e tsjinoerstelde rjochting sorteare hawwe:

    Wolle jo ek records binnen elke status sortearje? Gjin probleem. Foegje gewoan noch ien sortearringsnivo ta oan de formule, sis mei Wearde (C2:C10), en definiearje de winske folchoarder fan sortearring, oprinnend yn ús gefal:

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

    In grut foardiel fan de SORTBY-formule boppe de funksje Custom Sort fan Excel is dat de formule automatysk bywurket as de orizjinele gegevens wizigje, wylst de funksje it opromjen en opnij sortearjen fereasket by elke feroaring.

    Hoe dizze formulewurket:

    Lykas al neamd, kin de SORTBY-funksje fan Excel allinich "sortearje op" arrays ferwurkje wêrfan de dimensjes kompatibel binne mei de boarne array. As ús boarne array (C2: C10) befettet 9 rigen en de oanpaste list (E2: E4) mar 3 rigen, kinne wy ​​net leverje it direkt oan it by_array argumint. Ynstee dêrfan brûke wy de MATCH-funksje om in 9-rige array te meitsjen:

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

    Hjir brûke wy de kolom Status (B2:B10) as opsykwearden en ús oanpaste list (E2: E5) as lookup array. It lêste argumint is ynsteld op 0 om te sykjen nei krekte oerienkomsten. As resultaat krije wy in array fan 9 nûmers, elk dy't de relative posysje fan in opjûne Status -wearde yn 'e oanpaste list fertsjintwurdiget:

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

    Dizze array giet direkt nei it argumint by_array fan 'e SORTBY-funksje en twingt it om de gegevens yn 'e folchoarder te pleatsen dy't oerienkomme mei de eleminten fan 'e array, dus earst yngongen fertsjintwurdige troch 1's, dan yngongen fertsjintwurdige troch 2's, ensafuorthinne.

    Willekeurich sortearje yn Excel mei in formule

    Yn eardere Excel-ferzjes kinne jo in willekeurich sortearje mei de RAND-funksje lykas útlein yn dizze tutorial: Hoe kinne jo in list willekeurig sortearje yn Excel.

    Yn nije Excel kinne jo in krêftiger RANDARRAY-funksje brûke tegearre mei SORTBY:

    SORTBY( array , RANDARRAY(ROWS( array )))

    Wêr't array de boarnegegevens is dy't jo skodzje wolle.

    Dizze generyske formule wurket foar in list dy't bestiet út inien kolom en ek foar in berik mei meardere kolommen.

    Om bygelyks in list willekeurich te sortearjen yn A2:A10, brûk dizze formule:

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

    Om te skodzjen gegevens yn A2: C10 troch de rigen byinoar te hâlden, brûk dizze:

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

    Hoe wurket dizze formule:

    De RANDARRAY-funksje produseart in array fan willekeurige nûmers dy't brûkt wurde foar sortearring, en jo passe it yn it argumint by_array fan SORTBY. Om oan te jaan hoefolle willekeurige nûmers jo generearje moatte, telle jo it oantal rigen yn it boarneberik troch de ROWS-funksje te brûken, en "fiere" dat nûmer nei it rige -argumint fan RANDARRAY. Dat is it!

    Opmerking. Lykas syn foargonger is RANDARRAY in flechtich funksje en it genereart in nije array fan willekeurige nûmers elke kear as it wurkblêd opnij berekkene wurdt. As resultaat wurde jo gegevens by elke wiziging op it blêd brûkt. Om auto-resortsjen foar te kommen, kinne jo de funksje Spesjale plakken > Wearden brûke om formules te ferfangen troch harren wearden.

    Sellen sortearje op tekenrigelengte

    Om sellen te sortearjen op de lingte fan tekststrings dy't se befetsje, brûk de LEN-funksje om it oantal tekens yn elke sel te tellen, en leverje de berekkene lingten oan it by_array argumint fan SORTBY. It argumint sort_order kin ynsteld wurde op 1 of -1, ôfhinklik fan de foarkarsfolchoarder fan sortearring.

    Om te sortearjen op tekststring fan lyts nei grutste:

    SORTBY(array, LEN(array), 1)

    Om op te sortearjentekststring fan grut nei lyts:

    SORTBY(array, LEN(array), -1)

    En hjir is in formule dy't dizze oanpak op echte gegevens toant:

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

    Wêr't A2:A7 de orizjinele sellen binne dy't jo sortearje wolle op tekstlingte yn oprinnende folchoarder:

    SORTBY vs. SORT

    Yn de groep fan nije Excel dynamyske arrayfunksjes binne d'r twa ûntwurpen foar sortearjen. Hjirûnder listje wy de meast essensjele ferskillen en oerienkomsten en ek wannear't elk it bêste is om te brûken.

    • Oars as de SORT-funksje fereasket SORTBY net dat de "sort by" array diel útmakket fan 'e boarne array, en hoecht ek net te ferskinen yn resultaten. Dus, as jo taak is om in berik te sortearjen basearre op in oare ûnôfhinklike array of in oanpaste list, is SORTBY de juste funksje om te brûken. As jo ​​op syk binne nei it sortearjen fan in berik basearre op syn eigen wearden, dan is SORT mear passend.
    • Beide funksjes stypje meardere nivo's fan sortearring en beide kinne wurde keatling tegearre mei oare dynamyske array en konvinsjonele funksjes.
    • Beide funksjes binne allinnich beskikber foar brûkers fan Excel 365 en Excel 2021.

    Excel SORTBY-funksje wurket net

    Yn it gefal dat jo SORTBY-formule in flater werombringt, is dat wierskynlik fanwegen ien fan de folgjende redenen.

    Unjildige by_array arguminten

    De by_array arguminten moatte in inkele rige of in inkele kolom wêze en yn grutte kompatibel mei de array argumint. Bygelyks, as array 10 hatrigen, by_array moat ek 10 rigen befetsje. Oars in #WAARDE! error occurs.

    Unjildige sort_order-arguminten

    De sort_order -arguminten kinne mar 1 (oprinnend) of -1 (ôfnimmend) wêze. As der gjin wearde is ynsteld, SORTBY standert yn oprinnende folchoarder. As in oare wearde is ynsteld, in #VALUE! flater wurdt weromjûn.

    D'r is net genôch romte foar resultaten

    Lykas elke oare dynamyske arrayfunksje, smyt SORTBY de resultaten yn in berik dat automatysk oanpasber is en bywurke wurde kin. As d'r net genôch lege sellen binne om alle wearden wer te jaan, is in #SPILL! error is thrown.

    Boarnewurkboek is sluten

    As in SORTBY-formule in oare Excel-bestân ferwiist, moatte beide wurkboeken iepen wêze. As de boarne wurkboek is sletten, in #REF! error occurs.

    Jo Excel-ferzje stipet gjin dynamyske arrays

    As brûkt yn in pre-dynamyske ferzje fan Excel, jout de SORT-funksje in #NAME? flater.

    Dat is hoe't jo de SORTBY-funksje yn Excel brûke om oanpaste sortearring en oare dingen te dwaan. Ik tankje jo foar it lêzen en hoopje jo nije wike op ús blog te sjen!

    Oefeningswurkboek om te downloaden

    Excel SORTBY-formules (.xlsx-bestân)

    Michael Brown is in tawijd technology-entûsjast mei in passy foar it ferienfâldigjen fan komplekse prosessen mei software-ark. Mei mear as in desennium ûnderfining yn 'e tech-yndustry hat hy syn feardigens yn Microsoft Excel en Outlook, lykas Google Blêden en Docs, oanskerpe. Michael's blog is wijd oan it dielen fan syn kennis en ekspertize mei oaren, en biedt maklik te folgjen tips en tutorials foar it ferbetterjen fan produktiviteit en effisjinsje. Oft jo in betûfte profesjonele of in begjinner binne, Michael's blog biedt weardefolle ynsjoch en praktysk advys om it measte út dizze essensjele software-ark te heljen.