tömbképlet, alapok
2020-05-19    Excel 2019
Tömbképlet, így mondják a számítástechnikusok, de valójában nem is a képlet tömbös, hanem a feldolgozása. Először is, mi az a tömb? Sorszámozott elemek halmaza. Mivel a sorszámot gyakran indexnek is mondják, úgy is fogalmazhatunk, hogy a tömb indexelt elemek hal­ma­za. A sorszám az adatfeldolgozás folyamatában az elem azonosítója a halmazon belül. Az indexek kiosztását, vagy egy­sze­rűb­ben, az indexálást, az Excel végzi, ha utasítjuk, hogy a megadott adat-csoportot tömbként kezelje. Nézzünk egy példát!
tömbképlet, példa
A képen látható táblázat alapján ki kell számolnunk, hány százalék az éves áremelkedések átlaga. Vesszük az első terméket! Az ak­tu­á­lis árat elosztjuk a bevezető árral és a hányadosból kivonunk egyet: D2/B2-1. A különbség a teljes áremelkedés. Ezt kell elosztanunk az évek számával: 2020-C2. Miután ezt a műveletsort minden termékkel elvégeztük jöhet az átlagolás.
    De nem ezt tesszük! Arra utasítjuk a programot, hogy a számításkor az aktuális ár, a bevezető ár és a bevezetés éve tartományok ada­ta­it egy-egy tömb elemeinek tekintse. Magyarul indexelje a három tartomány számait…
tömbképlet, fogalmak
…és a tömbök azonos sorszámú elemeivel végezze el az előbb összeállított műveletsort, majd a kapott értékeket átlagolja. Állítsuk össze, ennek megfelelően, a képletet.
tömbképlet, példa
Tehát, nem egy-egy cellára hivatkozunk, hanem a bevezető ár, a bevezetés éve és az aktuális ár tartományokra. A képlet-szerkesztését a Shift+Ctrl+Enter billentyűparanccsal kell befejeznünk, amely a képlet tömbös kiértékelésére utasítja az Excelt. Ha rutinból Entert nyo­munk, akkor az #ÉRTÉK! hibakódot kapjuk.
    A billentyűparancs nem helyezi át a fókuszt másik cellára, ezért a szerkesztőlécen megfigyelhetjük, hogy a program kapcsos zá­ró­je­lek­kel keretezte a képletünket, az egyenlőségjelet is beleértve. Ez jelzi, hogy a cellában álló adat, tömbös feldolgozás eredménye. A zá­ró­je­lek a képlet szerkesztésekor automatikusan eltűnnek.
tömbös kiértékelés jelzése
A százalékos megjelenítést, természetesen, cella-formázással biztosítottam.
    A tömb tehát, egy eszköz az adatfeldolgozás menetében; adat-szerkezet a számítógép operatív tárjában, amely az eredmény meg­szü­le­té­sét követően törlődik.
    A beszélt nyelv, azonban egyszerűsít. A majdani tömbös feldolgozásra gondolva, gyakran tömböt mondunk tartomány helyett. Így be­szé­lünk egydimenziós tömbről, egysoros vagy egyoszlopos tartomány tömbös feldolgozása helyett. És ezért mondunk kétdimenziós töm­böt, a több soros és több oszlopos tartományra, illetve háromdimenziós tömböt, a szomszédos munkalapok azonos tartományára.
    A tömbös feldolgozást nem csak tartomány-hivatkozásra, de közvetlenül megadott adatokra is előírhatunk. A konstansokat kapcsos zá­ró­je­lek között kell felsorolnunk és a fordított perjel (\) vagy a pontosvessző karakterekkel kell elválasztanunk. Azért kell két elválasztó ka­rak­tert használnunk, mert nem csak az adatokat, de képzeletbeli tartományuk alakját is deklarálnunk kell. Másként fogalmazva, hány sor­ban, illetve hány oszlopban helyezkednének el ezek az adatok a munkalapon.
tömbképlet, sorok és oszlopok jelölése
Ez egy háromsoros és négyoszlopos képzeletbeli tartomány tömbös feldolgozásra megadva. A kép szerint az egysorban álló adatokat for­dí­tott perjel, a sorokat pontosvessző választja el. Azt a szabályt is sejteti a példa, hogy az elemek száma soronként nem változhat.
tömbképlet, sorok és oszlopok jelölése
De miért van szükség erre a virtuális táblázatra!? Mert az adatok tájolása, a képlet „értelmezését” befolyásoló tényező. Vegyünk két egy­sze­rű példát.
konstansok a képletben tömbös feldolgozásra
Az első feladatban meg kellett állapítani hányszor fordul elő összesen a három az öt és hét az A1:A13 tartományban. A egysoros és az egyoszlopos elrendezés ugyanazt az eredményt adja. Sőt, ha véletlenül nem Shift+Ctrl+Enter billentyűparanccsal zárjuk le a képlet szer­kesz­té­sét, még akkor is „megérti” a program a szándékunkat.
    A második feladatban a B10:B12 tartomány számaihoz hozzá kell adni kettőt, négyet és hatot. A két képlet itt már eltérő megoldást ad. Az első variációban a valóságos és az elképzelt tartomány tájolása azonos. A program összeadja az azonos sorszámú elemeket, majd a rész-összegeket szummázza: (v1+k1) + (v2+k2) + (v3+k3). A képleteben a „v” betű a valóságos, a „k” betű a képzelt tartományt je­len­ti. A második, eltérő tájolású változatban ez a műveletsor hajtódik végre: (v1+k1) + (v1+k2) + (v1+k3) + (v2+k1) + (v2+k2) + (v2+k3) + (v3+k1) + (v3+k2) + (v3+k3). A két műveletsor nagyon más! Az eredményről nem is beszélve.
    A képlet tömbös kiértékelés „tömböt” is eredményezhet, Az eredmény-tömb elemeit a program, az indexek alapján, sorrendben írja ki a felhasználó által kijelölt tartományban. Valahogy így!
több eredményt adó tömbképlet
A három legmagasabb pontszámot akarom kiíratni. Először kijelöltem három cellát, majd csak ezután fogtam a képlet szer­kesz­té­sé­be… A NAGY függvény beírása közben, mint rendesen, a program megjelenítette a függvény argumentum-listáját. És nini! Az első ar­gu­men­tu­mot tömbnek nevezi. De, miért? Hiszen meghatározásunk szerint, a tömb egy halmaz, amelynek elemeit a halmazon belüli azo­no­sí­tás ér­de­ké­ben, indexeltünk. És hol vannak itt a sorszámok? Sehol. Az Excel szóhasználatában a tömb, gyakran a tartomány szi­no­ni­mája!
    Ha a program a képlet kiértékelését követően, nem talál kijelölt tartományt, akkor csak az eredmény-tömb első elemét írja ki. Ha talál, ak­kor annak celláit feltölti, még akkor is, ha a cellák száma nem elegendő a teljes tömb kiírásához. Mit tehetünk, ha elfelejtettük elő­ze­te­sen ki­je­löl­ni az eredmény-cellákat?
több eredményt adó tömbképlet utólagos javítása
Kijelöljük utólag. A már meglévő eredmény-cellával együtt. Azután az F2 billentyűvel megnyitjuk szerkesztésre a képletet, de csak azért, hogy rögtön le is zárhassuk a tömbös kiértékelés billentyűparancsával.
    Ne tévesszen meg senkit a bemutatott példák egyszerűsége, a gyakorlatban a tömbös feldolgozást igénylő képletek bonyolultak. Sőt, ál­ta­lá­ban nagyon bonyolultak. A hibás vagy a nem várt eredményt adó képletek javításakor jól jön, hogy a rész-eredményeket is meg tud­juk jeleníteni. De, hogyan? Van például, két tartományunk, amelynek elemeit össze kell szoroznunk és a szorzatok közül ki kell vá­lasz­ta­nunk a legnagyobbat.
tömbképlet, példa
Első lépésben a program indexeli a tartományok elemeit, majd összeszorozza az azonos sorszámú elemeket. A szorzatok egy tömbbe ke­rül­nek. Ennek a tömbnek az elemeit fogjuk megjeleníteni, hogy ellenőrizzük a végeredmény helyességét.
a részeredmények tömbjének megjelenítése
Tehát kijelöljük a képletben a szorzást és megnyomjuk a F9 billentyűt. A program elvégzi a műveletsort és megjeleníti a szorzatokat. A rész-eredmények pozíciója, elképzelt tartományukban, azonos feldolgozott adataik saját tartományukban elfoglalt pozíciójával.
a részeredmények tömbjének megjelenítése
A képlet-rész kiértékelése szolgáltatás, nevével ellentétben, a feldolgozandó karakterláncot önálló kifejezésnek tekinti, ezért a kijelölt rész­nek meg kell felelnie a képletre vonatkozó összes szemantikai és szintaktikai szabálynak. Az ellenőrzés végeztével az Esc nyo­mó­gomb­bal tudunk az eredeti képlethez visszatérni. Ha nem így teszünk, akkor a program a rész-eredményeket beírja a képletbe.
    Képlet-vizsgálati kitérőnk után térjünk vissza a három legmagasabb pontszám példánkra. Mikor kiderült, hogy elfelejtettük kijelölni az e­red­mény-cellákat, miért vacakoltunk annyit? Miért nem másoltuk le egyszerűen a képletet? Megtehettük volna, és a program fel is dol­goz­ta volna a másolatokat. Tömbösen. Tehát három számot adott volna eredményül és abból a háromból csak az első került volna a cel­lá­ba.
a tömbképlet másolhatósága
Felül az eredeti képlet, alatta a másolatok. Természetesen, ha meg akarjuk jeleníteni az eredmény-tömb elemeit, most a teljes képletet kell kijelölnünk. Általában elmondható, hogy a több adatot eredményező, tömbös feldolgozású képletek nem másolhatók. Az egyetlen adatot eredményezők már igen. Lássunk erre is példát. Állapítsuk meg a táblázat sorairól, hogy adataik azonosak-e a felettük álló sor ada­ta­ival!
a tömbképlet másolhatósága
Tehát csak az egyetlen adatot eredményező tömbös kiértékelésű képlet másolható, a több adatot eredményező nem. Sőt, utóbbi ered­mény-cellái csak együtt kezelhetők. „A tömbök részei nem módosíthatók” figyelmeztet a program, ha valamelyik cellát önállóan pró­bál­juk szerkeszteni, mozgatni vagy törölni.
  ismertető letöltése pdf-ben   munkafüzet letöltése
margitfalvi.arpad@gmail.com