Excel SORT funkció - automatikus adatrendezés a képlet segítségével

  • Ossza Meg Ezt
Michael Brown

Az oktatóanyag bemutatja, hogyan használhatja a SORT függvényt adattáblák dinamikus rendezéséhez. Megtanul egy képletet, amellyel az Excelben ábécé szerint rendezhet, a számokat növekvő vagy csökkenő sorrendbe rendezheti, több oszlop szerint rendezheti, és még sok mást is.

A Rendezés funkció már régóta ismert. De a dinamikus tömbök bevezetésével az Excel 365-ben megjelent egy elképesztően egyszerű módja a képletekkel történő rendezésnek. A módszer szépsége, hogy az eredmények automatikusan frissülnek, amikor a forrásadatok változnak.

    Excel SORT funkció

    Az Excel SORT funkciója egy tömb vagy tartomány tartalmát sorolja oszlopok vagy sorok szerint, növekvő vagy csökkenő sorrendben.

    A SORT a dinamikus tömbfüggvények csoportjába tartozik. Az eredmény egy dinamikus tömb, amely a forrástömb alakjától függően automatikusan átterjed a szomszédos cellákra függőlegesen vagy vízszintesen.

    A SORT függvény szintaxisa a következő:

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

    Hol:

    Array (kötelező) - értékek tömbje vagy cellák tartománya a rendezéshez. Ezek bármilyen értékek lehetnek, beleértve szöveget, számokat, dátumokat, időpontokat stb.

    Sort_index (opcionális) - egy egész szám, amely jelzi, hogy melyik oszlop vagy sor szerint kell rendezni. Ha elhagyja, az alapértelmezett 1-es indexet használja.

    Sort_order (opcionális) - meghatározza a rendezési sorrendet:

    • 1 vagy elhagyható (alapértelmezett) - növekvő sorrend, azaz a legkisebbtől a legnagyobbig.
    • -1 - csökkenő sorrend, azaz a legnagyobbtól a legkisebb felé haladva

    By_col (opcionális) - logikai érték, amely a rendezés irányát jelzi:

    • FALSE vagy elhagyva (alapértelmezett) - sorok szerinti rendezés. Legtöbbször ezt az opciót fogod használni.
    • TRUE - oszlopok szerinti rendezés. Ezt az opciót akkor használja, ha az adatok vízszintesen, oszlopok szerint vannak elrendezve, mint ebben a példában.

    Excel SORT funkció - tippek és megjegyzések

    A SORT egy új dinamikus tömbfüggvény, és mint ilyen, van néhány sajátossága, amivel tisztában kell lenned:

    • A SORT funkció jelenleg csak a Microsoft 365 és az Excel 2021 programban érhető el. Az Excel 2019, Excel 2016 nem támogatja a dinamikus tömbképleteket, így a SORT funkció ezekben a verziókban nem érhető el.
    • Ha a SORT formula által visszaadott tömb a végeredmény (azaz nem adjuk át egy másik függvénynek), az Excel dinamikusan létrehoz egy megfelelő méretű tartományt, és feltölti azt a rendezett értékekkel. Győződjön meg róla, hogy mindig van elég üres cella a képlet beírásának cellája alatt vagy/és jobb oldalán, különben #SPILL hiba lép fel.
    • Az eredmények dinamikusan frissülnek, ahogy a forrásadatok változnak. Azonban a array nem terjed ki automatikusan a képlethez megadott új bejegyzésekre, amelyek a hivatkozott képleten kívül kerülnek hozzáadásra. array Az ilyen elemek felvételéhez vagy frissítenie kell a array hivatkozás a képletben, vagy alakítsa át a forrástartományt táblázattá a példában bemutatott módon, vagy hozzon létre egy dinamikus névleges tartományt.

    Alapvető Excel SORT képlet

    Ez a példa egy alapvető képletet mutat be az Excelben az adatok növekvő és csökkenő sorrendbe rendezéséhez.

    Tegyük fel, hogy az adatok ábécé sorrendben vannak elrendezve, ahogy az alábbi képernyőképen látható. A B oszlopban lévő számokat szeretné rendezni anélkül, hogy az adatokat megbontaná vagy összekeverné.

    Formula a növekvő sorrendbe rendezéshez

    A B oszlop értékeinek a legkisebbtől a legnagyobbig történő rendezéséhez a következő képletet kell használni:

    =SORT(A2:B8, 2, 1)

    Hol:

    • A2:B8 a forrás tömb
    • 2 az oszlop száma, amely szerint rendezni kell
    • 1 a növekvő sorrend

    Mivel adataink sorokba vannak rendezve, az utolsó argumentum elhagyható, így alapértelmezés szerint FALSE - sorok szerint rendezés.

    Csak írja be a képletet egy üres cellába (esetünkben a D2-be), nyomja meg az Entert, és az eredmények automatikusan a D2:E8 cellába kerülnek.

    Képlet a csökkenő sorrendbe rendezéshez

    Az adatok csökkenő, azaz a legnagyobbtól a legkisebb felé történő rendezéséhez állítsa be a sort_order argumentum -1-re állítható, így:

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

    Írja be a képletet a céltartomány bal felső cellájába, és ezt az eredményt kapja:

    Hasonló módon a szöveges értékeket ábécésorrendben A-tól Z-ig vagy Z-től A-ig rendezheti.

    Hogyan rendezhetjük az adatokat az Excelben a képlet segítségével

    Az alábbi példák a SORT függvény néhány tipikus és néhány nem triviális használatát mutatják be az Excelben.

    Excel SORTOLÁS oszlop szerint

    Amikor az Excelben rendezi az adatokat, a legtöbb esetben a sorok sorrendjét változtatja meg. Ha azonban az adatok vízszintesen vannak elrendezve, és a sorok címkéket, az oszlopok pedig rekordokat tartalmaznak, előfordulhat, hogy nem felülről lefelé, hanem balról jobbra kell rendezni.

    Az Excelben az oszlopok szerinti rendezéshez állítsa be a by_col argumentumot TRUE-ra. Ebben az esetben, sort_index egy sort fog képviselni, nem pedig egy oszlopot.

    Ha például az alábbi adatokat a mennyiség szerint szeretné rendezni a legmagasabbtól a legalacsonyabbig, használja ezt a képletet:

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

    Hol:

    • B1:H2 a forrásadatok rendezése
    • 2 a rendezési index, mivel a második sorban lévő számokat rendezzük.
    • -1 a csökkenő sorrendet jelzi
    • TRUE azt jelenti, hogy oszlopokat rendez, nem sorokat.

    Rendezés több oszlop szerint különböző sorrendben (többszintű rendezés)

    Amikor összetett adatmodellekkel dolgozol, gyakran szükséged lehet többszintű rendezésre. Ez megoldható egy formulával? Igen, könnyen! Annyit kell tenned, hogy megadod a tömbi konstansokat a sort_index és sort_order érvek.

    Például, az alábbi adatok rendezéséhez először a következők szerint Régió (A oszlop) A-tól Z-ig, majd a következő módon Mennyiség . (C oszlop) a legkisebbtől a legnagyobbig a következő argumentumokat állítsa be:

    • Array az A2:C13 adatai.
    • Sort_index a {1,3} tömbi konstans, mivel először a következő szerint rendezünk Régió (1. oszlop), majd a Mennyiség . (3. oszlop).
    • Sort_order a {1,-1} tömbkonstans, mivel az 1. oszlopot növekvő, a 3. oszlopot pedig csökkenő sorrendbe kell rendezni.
    • By_col elhagyjuk, mert a sorokat rendezzük, ami alapértelmezett.

    Az érveket összevetve ezt a képletet kapjuk:

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

    És tökéletesen működik! Az első oszlopban a szöveges értékek ábécé sorrendben, a harmadik oszlopban pedig a számok a legnagyobbtól a legkisebbig vannak rendezve:

    Rendezés és szűrés Excelben

    Abban az esetben, ha az adatokat bizonyos kritériumok alapján szeretné szűrni és a kimenetet sorrendbe állítani, használja a SORT és a FILTER funkciókat együtt:

    SORT(FILTER(array, criteria_range = kritériumok ), [sort_index], [sort_order], [by_col])

    A FILTER függvény a megadott kritériumok alapján egy értéktömeget kap, és ezt a tömböt átadja a SORT első argumentumának.

    A legjobb ebben a képletben az, hogy az eredményeket dinamikus kiöntési tartományként is kiadja, anélkül, hogy a Ctrl + Shift + Enter billentyűkombinációt kellene lenyomnia, vagy kitalálnia, hogy hány cellába másolja. A szokásos módon beírja a képletet a legfelső cellába, és megnyomja az Enter billentyűt.

    Példaként az A2:B9 forrásadatokból a 30-as vagy annál nagyobb mennyiségű (>=30) elemeket fogjuk kivenni, és az eredményeket növekvő sorrendbe rendezzük.

    Ehhez először beállítjuk a feltételt, mondjuk az E2-es cellában, ahogy az alábbi képen látható. Majd így építjük fel az Excel SORT képletünket:

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

    Eltekintve a array a FILTER függvény által generált, csak a sort_index A fennmaradó két argumentumot elhagyjuk, mert az alapértelmezettek pontosan úgy működnek, ahogyan nekünk kell (sorszámozás növekvő, soronkénti rendezés).

    Az N legnagyobb vagy legkisebb értékek kinyerése és az eredmények rendezése

    Hatalmas információtömegek elemzésekor gyakran van szükség arra, hogy bizonyos számú csúcsértéket kivonjunk. Talán nem csak kivonjuk, hanem a kívánt sorrendbe is rendezzük őket. És ideális esetben válasszuk ki, hogy mely oszlopok szerepeljenek az eredményekben. Trükkösnek hangzik? Nem az új dinamikus tömbfüggvényekkel!

    Íme egy általános képlet:

    INDEX(SORT(...), SEQUENCE( n ), { column1_to_return , column2_to_return , ...})

    Hol n a visszaadni kívánt értékek száma.

    Tegyük fel, hogy az alábbi adatsorból a C oszlopban szereplő számok alapján szeretnénk egy top 3 listát kapni.

    Ehhez először rendezze az A2:C13 tömböt a 3. oszlop szerint csökkenő sorrendben:

    SORT(A2:C13, 3, -1)

    Ezután a fenti képletet fészkeljük be az első ( array ) argumentumát az INDEX függvényben, hogy a tömböt a legnagyobbtól a legkisebbig rendezzük.

    A második ( row_num ) argumentummal, amely megadja, hogy hány sort kell visszaadni, a SEQUENCE függvény segítségével generáljuk a szükséges sorszámokat. Mivel 3 felső értékre van szükségünk, a SEQUENCE(3) függvényt használjuk, ami ugyanaz, mintha közvetlenül a képletben adnánk meg egy függőleges tömbi {1;2;3} állandót.

    A harmadik ( col_num ) argumentum, amely meghatározza, hogy hány oszlopot adjon vissza, adja meg az oszlopok számát egy vízszintes tömbi konstans formájában. Mi a B és C oszlopokat akarjuk visszaadni, ezért a {2,3} tömböt használjuk.

    Végül a következő képletet kapjuk:

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

    És pontosan azt az eredményt hozza, amit szeretnénk:

    Visszatérni 3 fenék értékeket, egyszerűen rendezze az eredeti adatokat a legkisebbtől a legnagyobb felé. Ehhez változtassa meg a sort_order argumentum -1 és 1 között:

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

    Visszaad egy adott pozícióba rendezett értéket

    Más szemszögből nézve, mi van akkor, ha csak egy adott rendezési pozíciót szeretnénk visszaadni? Mondjuk, csak az 1., csak a 2. vagy csak a 3. rekordot a rendezett listából? Ehhez használjuk a fentebb tárgyalt INDEX SORT formula egyszerűsített változatát:

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

    Hol n az érdeklődésre számot tartó pozíció.

    Például, ha egy adott pozíciót felülről (azaz a csökkenő sorrendbe rendezett adatokból) szeretnénk megkapni, használjuk ezt a képletet:

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

    Ha egy adott pozíciót szeretne alulról (azaz az adatokból felfelé rendezve) megkapni, használja ezt:

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

    Ahol A2:C13 a forrásadat, F1 a felülről számított pozíció, I1 az alulról számított pozíció, és {2,3} a visszaadandó oszlopok.

    Excel táblázat használata a rendezett tömb automatikus bővítéséhez

    Mint már tudod, a rendezett tömb automatikusan frissül, amikor bármilyen változást eszközölsz az eredeti adatokon. Ez az összes dinamikus tömbfüggvény, köztük a SORT standard viselkedése. Amikor azonban a hivatkozott tömbön kívül új bejegyzéseket adsz hozzá, azok nem kerülnek automatikusan a képletbe. Ha azt szeretnéd, hogy a képleted reagáljon az ilyen változásokra, alakítsd át a forrástartományt egy teljesen-funkcionális Excel táblázatot, és használjon strukturált hivatkozásokat a képletében.

    Hogy lássa, hogyan működik ez a gyakorlatban, tekintse meg a következő példát.

    Tegyük fel, hogy az alábbi Excel SORT képletet használja az A2:B8 tartományban lévő értékek ábécé sorrendbe rendezéséhez:

    =SORT(A2:B8, 1, 1)

    Ezután beír egy új bejegyzést a 9. sorba... és csalódottan látja, hogy az újonnan hozzáadott bejegyzés kimarad a kiöntési tartományból:

    Most alakítsa át a forrástartományt táblázattá. Ehhez egyszerűen jelölje ki a tartományt az oszlopfejlécekkel együtt (A1:B8), és nyomja meg a Ctrl + T billentyűkombinációt. A képlet elkészítésekor jelölje ki a forrástartományt az egérrel, és a táblázat neve automatikusan be lesz illesztve a képletbe (ezt nevezzük strukturált hivatkozásnak):

    =SORT(Table1, 1, 1, 1)

    Ha közvetlenül az utolsó sor alá ír be egy új bejegyzést, a táblázat automatikusan kibővül, és az új adatok bekerülnek a SOROZÁS képlet kiöntési tartományába:

    Az Excel SORT funkció nem működik

    Ha a SORT formula hibát eredményez, annak valószínűleg a következő okai vannak.

    #NAME hiba: régebbi Excel verzió

    A SORT egy új funkció, és csak az Excel 365 és az Excel 2021 programban működik. A régebbi verziókban, ahol ez a funkció nem támogatott, #NAME? hiba lép fel.

    #SPILL hiba: valami blokkolja a kiömlési tartományt

    Ha a kiöntési tartományban egy vagy több cella nem teljesen üres vagy összevont, akkor #SPILL! hiba jelenik meg. A hiba kijavításához csak távolítsa el az akadályt. További információért lásd: Excel #SPILL! hiba - mit jelent és hogyan javítható.

    #VALUE hiba: érvénytelen argumentumok

    Amikor #VALUE! hibába ütközik, ellenőrizze a sort_index és sort_order érvek. Sort_index nem haladhatja meg az oszlopok számát array , és sort_order értéke 1 (növekvő) vagy -1 (csökkenő).

    #REF hiba: a forrás munkafüzet le van zárva

    Mivel a dinamikus tömbök csak korlátozottan támogatják a munkafüzetek közötti hivatkozásokat, a SORT funkcióhoz mindkét fájlnak nyitva kell lennie. Ha a forrás munkafüzet le van zárva, a képlet #REF! hibát fog dobni. A hiba kijavításához csak nyissa meg a hivatkozott fájlt.

    Így rendezhetjük az adatokat Excelben képlet segítségével. Köszönöm, hogy elolvastad, és remélem, jövő héten találkozunk a blogon!

    Gyakorlati munkafüzet letölthető

    Rendezés Excelben képletekkel (.xlsx fájl)

    Michael Brown elkötelezett technológiai rajongó, aki szenvedélyesen egyszerűsíti a bonyolult folyamatokat szoftvereszközök segítségével. A technológiai iparban szerzett több mint egy évtizedes tapasztalatával a Microsoft Excel és az Outlook, valamint a Google Táblázatok és a Dokumentumok területén fejlesztette tudását. Michael blogja célja, hogy megossza tudását és szakértelmét másokkal, könnyen követhető tippeket és oktatóanyagokat adva a termelékenység és a hatékonyság javításához. Akár tapasztalt szakember, akár kezdő, Michael blogja értékes betekintést és gyakorlati tanácsokat kínál, amelyek segítségével a legtöbbet hozhatja ki ezekből az alapvető szoftvereszközökből.