Excel SORT-funksie - sorteer outomaties data met behulp van formule

  • Deel Dit
Michael Brown

Die tutoriaal wys hoe om die SORT-funksie te gebruik om dataskikkings dinamies te sorteer. Jy sal 'n formule leer om alfabeties in Excel te sorteer, getalle in stygende of dalende volgorde te rangskik, volgens veelvuldige kolomme te sorteer, en meer.

Die Sort-funksie bestaan ​​al lank. Maar met die bekendstelling van dinamiese skikkings in Excel 365, het daar 'n ongelooflike eenvoudige manier verskyn om met formules te sorteer. Die skoonheid van hierdie metode is dat die resultate outomaties bywerk wanneer die brondata verander.

    Excel SORTERING-funksie

    Die SORTERING-funksie in Excel sorteer die inhoud van 'n skikking of reeks volgens kolomme of rye, in stygende of dalende volgorde.

    SORT behoort aan die groep Dinamiese skikkingsfunksies. Die resultaat is 'n dinamiese skikking wat outomaties vertikaal of horisontaal na naburige selle mors, afhangende van die vorm van die bronskikking.

    Die sintaksis van die SORT-funksie is soos volg:

    SORT(skikking, [sorteer_indeks) ], [sorteer_volgorde], [volgens_kol])

    Waar:

    Skikking (vereis) - is 'n verskeidenheid waardes of 'n reeks selle om te sorteer. Dit kan enige waardes wees, insluitend teks, getalle, datums, tye, ens.

    Sorteer_indeks (opsioneel) - 'n heelgetal wat aandui volgens watter kolom of ry gesorteer moet word. As dit weggelaat word, word die verstekindeks 1 gebruik.

    Sorteer_orde (opsioneel) - definieer die sorteervolgorde:

    • 1 of weggelaat (verstek) - stygende volgorde , d.w.s. vanformules (.xlsx-lêer) kleinste na grootste
    • -1 - dalende volgorde, dit wil sê van grootste na kleinste

    Volgens_kol (opsioneel) - 'n logiese waarde wat die rigting van sortering aandui:

    • ONWAAR of weggelaat (verstek) - sorteer volgens ry. Jy sal hierdie opsie meeste van die tyd gebruik.
    • WAAR - sorteer volgens kolom. Gebruik hierdie opsie as jou data horisontaal in kolomme georganiseer is soos in hierdie voorbeeld.

    Excel SORTERING-funksie - wenke en notas

    SORTERING is 'n nuwe dinamiese skikkingsfunksie en as sodanig het dit 'n paar spesifisiteite waarvan jy bewus moet wees:

    • Tans is die SORTEER-funksie net beskikbaar in Microsoft 365 en Excel 2021. Excel 2019, Excel 2016 ondersteun nie dinamiese skikkingsformules nie, dus die SORTEER-funksie is nie beskikbaar in hierdie weergawes nie.
    • As die skikking wat deur 'n SORT-formule teruggestuur word die finale resultaat is (d.w.s. nie na 'n ander funksie oorgedra word nie), skep Excel dinamies 'n toepaslike grootte reeks en vul dit met die gesorteerde waardes in. Maak dus seker dat jy altyd genoeg leë selle onder of/en regs van die sel het waar jy die formule invoer, anders vind 'n #MORS-fout plaas.
    • Die resultate werk dinamies op soos die brondata verander. Die skikking wat aan die formule verskaf word, strek egter nie outomaties uit om nuwe inskrywings in te sluit wat buite die verwysde skikking bygevoeg word nie. Om sulke items in te sluit, moet jy óf die skikking -verwysing in jou formule opdateer, ófskakel die bronreeks om na 'n tabel soos in hierdie voorbeeld getoon, of skep 'n dinamiese benoemde reeks.

    Basiese Excel SORTEER formule

    Hierdie voorbeeld wys 'n basiese formule vir die sortering van data in Excel in stygende en dalende volgorde.

    Gestel jou data is alfabeties gerangskik soos in die skermkiekie hieronder getoon. Jy soek nommers in kolom B sonder om data te breek of te meng.

    Formule om in stygende volgorde te sorteer

    Om waardes in kolom B van die kleinste na die grootste te sorteer, is hier die formule om te gebruik:

    =SORT(A2:B8, 2, 1)

    Waar:

    • A2:B8 is die bronskikking
    • 2 is die kolomnommer om volgens te sorteer
    • 1 is die stygende sorteervolgorde

    Aangesien ons data in rye georganiseer is, kan die laaste argument weggelaat word as verstek na ONWAAR - sorteer volgens rye.

    Voer net die formule in in enige leë sel (D2 in ons geval), druk Enter , en die resultate sal outomaties na D2:E8 mors.

    Formule om in dalende volgorde te sorteer

    Om data dalend te sorteer, d.w.s. van grootste na kleinste, stel die sorteervolgorde -argument so op -1:

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

    Voer die formule in die sel links bo van die bestemmingsreeks en jy sal hierdie resultaat kry:

    Op 'n soortgelyke manier kan jy tekswaardes in alfabetiese volgorde van A tot Z of van Z tot A sorteer.

    Hoe om data in Excel te sorteer met behulp van f ormula

    Die onderstaande voorbeelde toon 'n paar tipiese gebruike van die SORT-funksie in Excelen 'n paar nie-onbeduidende.

    Excel SORTEER volgens kolom

    Wanneer jy data in Excel sorteer, verander jy meestal die volgorde van rye. Maar wanneer jou data horisontaal georganiseer is met rye wat etikette bevat en kolomme wat rekords bevat, sal jy dalk van links na regs moet sorteer, eerder as van bo na onder.

    Om volgens kolom in Excel te sorteer, stel die by_col argument na WAAR. In hierdie geval sal sorteer_indeks 'n ry verteenwoordig, nie 'n kolom nie.

    Byvoorbeeld, om die onderstaande data volgens Aantal te sorteer. van hoogste na laagste, gebruik hierdie formule:

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

    Waar:

    • B1:H2 is die brondata om te sorteer
    • 2 is die sorteer-indeks, aangesien ons nommers in die tweede ry sorteer
    • -1 dui die dalende sorteervolgorde aan
    • WAAR beteken om kolomme te sorteer, nie rye nie

    Sorteer volgens veelvuldige kolomme in verskillende volgorde (multi-vlak sorteer)

    Wanneer jy met komplekse datamodelle werk, sal jy dalk dikwels 'n multi-vlak sorteer nodig hê. Kan dit met 'n formule gedoen word? Ja, maklik! Wat jy doen, is om skikkingkonstantes vir die sorteerindeks en sorteerorde argumente te verskaf.

    Om byvoorbeeld die onderstaande data eers volgens Streek te sorteer (kolom A) van A tot Z, en dan deur Aantal . (kolom C) van kleinste na grootste, stel die volgende argumente:

    • Skikking is die data in A2:C13.
    • Sorteer_indeks is die skikkingskonstante {1,3}, aangesien ons eers volgens Streek sorteer (1stekolom), en dan deur Aantal . (3de kolom).
    • Sorteer_orde is die skikkingkonstante {1,-1}, aangesien die 1ste kolom in stygende volgorde en die 3de kolom in dalende volgorde gesorteer moet word.
    • By_col word weggelaat omdat ons rye sorteer, wat verstek is.

    As ons die argumente bymekaar sit, kry ons hierdie formule:

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

    En dit werk perfek! Die tekswaardes in die eerste kolom word alfabeties gesorteer en die nommers in die derde kolom van die grootste na die kleinste:

    Sorteer en filter in Excel

    In geval wanneer jy data met sekere kriteria wil filter en die uitvoer in volgorde plaas, gebruik die SORT- en FILTER-funksies saam:

    SORT(FILTER(skikking, kriteriareeks= kriteria) , [sorteer_indeks], [sorteer_orde], [volgens_kol])

    Die FILTER-funksie kry 'n verskeidenheid waardes gebaseer op die kriteria wat jy definieer en gee daardie skikking deur na die eerste argument van SORT.

    Die beste ding oor hierdie formule is dat dit ook die resultate as 'n dinamiese morsreeks uitstuur, sonder dat jy Ctrl + Shift + Enter hoef te druk of te raai na hoeveel selle om dit na te kopieer. Soos gewoonlik tik jy 'n formule in die boonste sel en druk die Enter-sleutel.

    As 'n voorbeeld gaan ons items met 'n hoeveelheid gelykstaande aan of groter as 30 (>=30) uit die bron data in A2:B9 en rangskik die resultate in stygende volgorde.

    Hiervoor stel ons eers die toestand op, sê, insel E2 soos in die prent hieronder getoon. En dan, bou ons Excel SORT-formule op hierdie manier:

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

    Afgesien van skikking wat deur die FILTER-funksie gegenereer word, spesifiseer ons net die sorteerindeks argument (kolom 2). Die oorblywende twee argumente word weggelaat omdat die verstekwaardes presies werk soos ons nodig het (sorteer stygend, volgens ry).

    Kry N grootste of kleinste waardes en sorteer die resultate

    Wanneer groot grootmaat inligting ontleed word, is daar dikwels 'n behoefte om 'n sekere aantal topwaardes te onttrek. Miskien nie net uittreksel nie, maar rangskik dit ook in die gewenste volgorde. En verkieslik, kies watter kolomme om by die resultate in te sluit. Klink moeilik? Nie met die nuwe dinamiese skikking funksies nie!

    Hier is 'n generiese formule:

    INDEX(SORT(…), VOLGORDE( n), { kolom1_na_terugkeer, column2_to_return, …})

    Waar n die getal van die waardes is wat jy wil terugstuur.

    Uit die onderstaande datastel, aanvaar jy wil kry 'n top 3 lys gebaseer op die getalle in kolom C.

    Om dit te laat doen, sorteer jy eers die skikking A2:C13 volgens die 3de kolom in dalende volgorde:

    SORT(A2:C13, 3, -1)

    En dan, nes die bogenoemde formule in die eerste ( skikking ) argument van die INDEX-funksie om die skikking van hoogste na kleinste te sorteer.

    Vir die tweede ( ry_getal) ) argument, wat aandui hoeveel rye om terug te gee, genereer die vereiste opeenvolgende getalle deur die SEQUENCE-funksie te gebruik. Soosons benodig 3 topwaardes, ons gebruik VOLGORDE(3), wat dieselfde is as om 'n vertikale skikkingkonstante {1;2;3} direk in die formule te verskaf.

    Vir die derde ( kol_getal ) argument, wat definieer hoeveel kolomme om terug te gee, verskaf die kolomnommers in die vorm van 'n horisontale skikkingskonstante. Ons wil kolomme B en C terugstuur, daarom gebruik ons ​​die skikking {2,3}.

    Uiteindelik kry ons die volgende formule:

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

    En dit produseer presies die resultate wat ons wil hê:

    Om 3 onderste waardes terug te gee, sorteer eenvoudig die oorspronklike data van die kleinste na die grootste. Hiervoor, verander die sorteer_orde argument van -1 na 1:

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

    Gee 'n gesorteerde waarde in 'n spesifieke posisie terug

    As jy uit 'n ander hoek kyk, wat as jy net 'n spesifieke sorteerposisie wil teruggee? Sê slegs die 1ste, slegs die 2de, of slegs die 3de rekord van die gesorteerde lys? Om dit te laat doen, gebruik die vereenvoudigde weergawe van die INDEKS SORTEER formule wat hierbo bespreek is:

    INDEX(SORT(…), n, { kolom1_na_terugkeer, kolom2_na_terugkeer, …})

    Waar n die posisie van belang is.

    Byvoorbeeld, om 'n spesifieke posisie van bo af te kry (d.w.s. van die data gesorteer dalend), gebruik hierdie formule :

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

    Om 'n spesifieke posisie van onder af te kry (d.w.s. van die data gesorteer stygend), gebruik hierdie een:

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

    Waar A2: C13 is brondata, F1 is die posisie van bo, I1 is die posisie vanonder, en {2,3} is die kolomme wat teruggestuur moet word.

    Gebruik Excel-tabel om sorteerskikking te kry om outomaties uit te brei

    Soos jy reeds weet , werk die gesorteerde skikking outomaties op wanneer jy enige veranderinge aan die oorspronklike data maak. Dit is die standaard gedrag van alle dinamiese skikking funksies, insluitend SORT. Wanneer jy egter nuwe inskrywings buite die verwysde skikking byvoeg, word hulle nie outomaties in 'n formule ingesluit nie. As jy wil hê dat jou formule op sulke veranderinge moet reageer, skakel die bronreeks om na 'n ten volle funksionele Excel-tabel en gebruik gestruktureerde verwysings in jou formule.

    Om te sien hoe dit in die praktyk werk, oorweeg asseblief die volgende voorbeeld.

    Gestel jy gebruik die onderstaande Excel SORT-formule om waardes in die reeks A2:B8 in alfabetiese volgorde te rangskik:

    =SORT(A2:B8, 1, 1)

    Dan voer jy 'n nuwe inskrywing in ry 9... en is teleurgesteld om te sien dat die nuut bygevoegde inskrywing buite die stortingsreeks gelaat word:

    Skakel nou die bronreeks om na 'n tabel. Hiervoor kies eenvoudig jou reeks insluitend die kolomopskrifte (A1:B8) en druk Ctrl + T . Wanneer jy jou formule bou, kies die bronreeks met die muis, en die tabelnaam sal outomaties in die formule ingevoeg word (dit word 'n gestruktureerde verwysing genoem):

    =SORT(Table1, 1, 1)

    Wanneer jy 'n nuwe inskrywing reg onder die laaste ry, die tabel sal outomaties uitbrei, en die nuwe data sal ingesluit word in die stortingsreeksvan die SORT-formule:

    Excel SORT-funksie werk nie

    As jou SORT-formule 'n fout tot gevolg het, is dit heel waarskynlik om die volgende redes.

    #NAAM-fout: ouer Excel-weergawe

    SORTEER is 'n nuwe funksie en werk net in Excel 365 en Excel 2021. In ouer weergawes waar hierdie funksie nie ondersteun word nie, is 'n #NAAM? fout kom voor.

    #MORS-fout: iets blokkeer morsreeks

    As een of meer selle in die morsreeks nie heeltemal leeg of saamgevoeg is nie, word 'n #MORS! fout word vertoon. Om dit reg te maak, verwyder net die blokkasie. Vir meer inligting, sien asseblief Excel #MORS! fout - wat dit beteken en hoe om reg te stel.

    #VALUE-fout: ongeldige argumente

    Wanneer jy 'n #VALUE! fout, kontroleer die sorteerindeks en sorteervolgorde argumente. Sorteerindeks moet nie die aantal kolomme is skikking en sorteervolgorde moet óf 1 (stygend) óf -1 (dalend) wees.

    #REF-fout: bronwerkboek is gesluit

    Aangesien dinamiese skikkings beperkte ondersteuning het vir verwysings tussen werkboeke, is die SORT-funksie vereis dat beide lêers oop is. As die bronwerkboek gesluit is, sal 'n formule 'n #REF! fout. Om dit reg te maak, maak net die verwysde lêer oop.

    Dit is hoe om data in Excel te sorteer met behulp van formule. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!

    Oefenwerkboek vir aflaai

    Sorteer in Excel met

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.