rendezés (három)

2023-10-28    Excel 2021
magánhangzók rendezése
Létrehoztam két listát, annak tanulmányozására, hogyan rendezi a program a magánhangzókat (a, á, e, é, i, í, o, ó, ö, ő, u, ú, ü, ű). Mindkét lista tartalmazza, egy-egy elemében, az összes magánhangzót. Az első lista elemeiben mindig az első karakter a magánhangzó, a másodikban mindig a második karakter. A második listában a magánhangzó párok (rövid, hosszú) előtt ugyanaz mássalhangzó áll. A két listát emelkedő sorrendbe rendeztem.
magánhangzók rendezése
Az első listában négy hosszú magánhangzót találunk, amely rendezéskor megelőzi a rövid párját (á, é, í, ű), a másodikban már csak hármat (á, é, í). De még az is sok. Hogyan lehet ezt a hibát orvosolni? Egy rendezési tulajdonság módosításával.
Nyissuk meg az operációs rendszer Vezérlőpultját. Kattintsunk a Régiók (Windows 10) parancsikonra. A régebbi Windows verziókban Terület és nyelv a neve. Egy összetett parancstábla jelenik meg…
rendezés módjának átállítása
Az átállítást követően a rendezéseket frissíteni kell, vagy másként fogalmazva, újra kell rendezni a listákat, táblázatokat!
számkarakterek rendezése
Miért kell ilyen nehézkesen fogalmazni? Miért nem azt mondom, a számok rendezése? Azért mert a számkarakterek a táblázatban lehetnek azonosítók, de lehetnek mennyiségek is. Vagy másként fogalmazva, lehetnek karakteres- vagy numerikus adattípusúak. Vagy még egyszerűbben, szövegek vagy számok. Hogy éppen melyik, azt ránézésre meg tudjuk állapítani.
karakteres és numerikus adattípusú számkarakterek
A rendezés szempontjából nem minegy, hogy a cella melyik oldalához illeszti a program a számkaraktereket…
karakteres és numerikus adattípusú számkarakterek rendezett litái
Persze a legtöbb esetben a számok nem önállóan szerepelnek az azonosítóban, hanem beágyazottan: az elején, a közepén vagy a végén. Ha az azonosítókat a számok értékének megfelelően szeretnénk rendezni, akkor ki kell „emelnünk” a számkaraktereket a szövegből és elhelyezni őket egy segédoszlopba, amely majd mint kulcs szolgál a rendezéskor. Ez az oszlop lesz majd az újrarendezés kulcsa.
számkarakterek az azonosító elején és a végén
Mindkét képlet a munkalap B2-es cellájában áll. Az ÉRTÉK függvény az azonosítóból „kinyert” számkaraktereket alakítja át numerikus adattípusúvá. A BAL és JOBB függvények a második argumentumukkal meghatározott számú karaktert adnak eredményül a szöveg elejéről (BAL) illetve a szöveg végéről (JOBB). A SZÖVEG.KERES függvény az első argumentumával meghatározott szöveg kezdő pozícióját állapítja meg a második argumentumával meghatározott, tartalmazó szövegben. Magyarán, az első argumentum, hányadik karaktertől kezdődik a második argumentumban. A HOSSZ függvény az argumentumával meghatározott szöveg karaktereinek számát adja eredményül.
Az utolsó variáció: a számkarakterek az összetett azonosító belsejében állnak. Állítsuk össze a rendezés kulcs-értékeit adó képletet!
számkarakterek az azonosító közepén
Most is a B2-es cella képletét fogjuk elemezni. Az azonosítóból kinyert számkaraktereket az ÉRTÉK függvénnyel alakítottam át numerikus adattípusúvá. A továbbiakban a LET függvénnyel dolgoztam.
Ez a függvény sajnos csak az újabb Office verziók (2021, 365…) része. Megpróbálom értelmesen elmagyarázni a funkcióját. Egy összetett feladat megoldására szerkesztett excel-képlet általában nehezen áttekinthető, mert hosszú és gyakran ismétlődő részekből áll. Az áttekinthetőség hiánya nehézkessé teszi a képlet javítását. A LET függvénnyel a megoldandó feladat elemeire bontható és az egyes képlet-elemekre névvel hivatkozhatunk. A LET függvényben deklarált nevek csak az aktuális LET függvény argumentumaiban használhatók. A függvény argumentum-listája a következő. Először argumentum-párokkal a neveket deklaráljuk: név-érték. A deklarációban szerepelhetnek az előzőleg már deklarált nevek. A nevek megalkotását követően, a képletet kell összeállítanunk. A képlet lesz a függvény utolsó argumentuma.
Térjünk vissza a mi képletünkhöz! Az azonosítóból a KÖZÉP függvénnyel nyertem ki a számkaraktereket. A függvény argumentumai: a tartalmazó szöveg, hányadik karakterétől kezdődik és hány karakter hosszú a kinyerni kívánt karakterlánc. A második és harmadik argumentum megadásához le kellett kérdeznem az első elválasztó-karakter pozícióját (EEP) és a második elválasztó karakter pozícióját (MEP). A pozíciók ismeretében már ki tudtam számítani hány darab (HDB) karakterből áll a szám.
Lássuk a részleteket. Az első argumentum-párral az EEP (első elválasztó pozíciója) nevet deklaráltam. Értékét a már ismertetett módszerrel állapítottam meg. A második argumentum-párral a MEP (második elválasztó pozíciója) nevet deklaráltam. Az értékének meghatározásához alkalmazott SZÖVEG.KERES függvény harmadik, opcionális argumentumát is meg kellet adnom: hányadik karaktertől kezdődjön a vizsgálat. Erre azért volt szükség, hogy ne ismét az első elválasztó pozícióját kapjam. A harmadik argumentum-párral a HDB (hány darab) nevet deklaráltam. Értékének meghatározásakor, akár csak az előző név értékének beállításakor, itt is használtam a már létrehozott neveket. Az utolsó argumentum pedig a képlet, amely ténylegesen az azonosító számkaraktereit adja eredményül.
írásjelek rendezése
Az írásjelek rangsoráról (- ! # $ % & ( ) * , . / : ; ; ? @ [ \ ] _ | ’ ” € + < = > §) már volt szó a cikksorozat első darabjában, de mint a számkarakterek esetében, általában ők sem önállóan szerepelnek a rendezés kulcsában. És jelenlétük nem a kívánt sorrendet eredményezi.
írásjelek rendezése
Az A oszlopban ABC sorrendben függvény-nevek állnak. Ha olyan rendezettséget szeretnénk, amelyben a pont nem játszik szerepet, akkor a táblázat újrarendezéséhez egy segédoszlopot kell létrehoznunk, amelyben a nevek pont nélküli változatát képezzük. A képen látható képlet a B2-es cellában áll. A HELYETTE függvény lecseréli az A2-es cella szövegében (első argumentum) álló pontokat (második argumentum) nulla hosszúságú karakterláncra (harmadik argumentum).
szövegek sorszámozása
Vagy szabatosan fogalmazva egy szöveg-halmaz elemeinek rangsorolása. Az elem rangsorban elfoglalt pozícióját egy sorszám (index) mutatja. Ez tehát a cím magyarázata. (A számok sorszámozásáról a rangsorkezelő függvényekről szóló cikkekben olvashat.)
szövegek sorszámozása
A képlet az A2-es cellában áll. Azért kell egyet hozzáadni az eredményhez, hogy ne nullával kezdődjön a számozás.
véletlenszerű rendezés
De, hát ez fából vaskarika, mert a rendezés lényegét, a meghatározott szempontot mellőzi! Ez igaz, de mit csináljunk, ha néha erre is szükség van. Hogy mit csináljunk? Hát segédoszlopot!
véletleszerű rendezés
A segédoszlop celláiban a VÉL argumentum nélküli függvény áll, amely véletlenszerűen ad egy és nulla közötti számokat. Elég nagy pontosággal. Természetesen nincs szükség az összes tizedesjegy megjelenítésére, ahogy én tettem, mert a megjelenített tizedesjegyek száma a rendezést nem befolyásolja!
Miután végeztem a képletek bevitelével (a képen felül) kértem a táblázatra egy növekvő rendezést a segédoszlop értékei alapján (a képen alul). Oké, a műsorok így szépen összekeveredtek. De mi történt a segédoszloppal? Más számok állnak a celláiban és a növekvő sorrendnek nyoma sincs! Bizony, bizony. Így működik a VÉL függvény! A program végrehajtotta a rendezést, ami egy képletfrissítési esemény, és újraszámolta a munkafüzet minden képletét. Többek között a VÉL-es képleteket is. Ezért vannak az új értékek és ezért nincsen rendezettség.
Ezt a módszert használjuk akkor is, amikor egy lista minden elemét véletlenszerűen kívánjuk hozzárendelni egy másik, azonos elemszámú listához.
listák elemeinek véletlenszerű egymáshoz rendelése
Nyolc hallgatóhoz (képen balra fent) nyolc véletlenszerűen rendezett feladatot (képen középen) rendeltem (képen jobbra lent).
margitfalvi.arpad@gmail.com