a HA függvény - különlegességek
2020-10-24    Excel 2019
fogalmak
A HA függvény az első argumentumával meghatározott feltétel teljesülését vizsgálja. Ha a feltétel teljesül, akkor végrehajtja a második ar­gumentumával deklarált műveletet. Ha nem, akkor a harmadik argumentumával meghatározottat. Az első két argumentum kötelező. Ha a feltétel nem teljesül és a felhasználó nem deklarált „hamis-műveletet”, akkor a függvény HAMIS logikai értéket ad eredményül. Ez a függ­vény szokásos használata. A nem szokásos… Erről szól a cikk.
egyetlen feltétel
De először vegyük az alapesetet. A függvény első argumentuma tehát egy feltétel, de fogalmazhatnánk úgy is, hogy egy tetszőleges ki­fe­je­zés, amely logikai értéket ad eredményül: IGAZ-at vagy HAMIS-at.
egyszerű feltételek a HA függvény első argumentumában
A HA függvény első argumentumában álló dátum- és idő konstansokat a DÁTUMÉRTÉK és az IDŐÉRTÉK függvényekkel számmá kell ala­kí­ta­nunk. Ez a szabály a logikai függvényekre is vonatkozik! A két függvény egyetlen argumentuma a szövegként megadott dátum il­let­ve idő.
dátum- és időkonstans átalakítása a DÁTUMÉRTÉK és IDŐÉRTÉK függvényekkel
Az Excelben kevésbé járatos felhasználók körében gyakran előfordul a hivatkozott logikai érték relációba helyezése. Megmutatom miről van szó!
logikai érték beolvasása a HA függvény első argumentumában
A dicséretben részesült kollégák prémiumot kapnak, amely a fizetésük fele. A HA függvény első argumentuma tehát egy hivatkozás, amellyel arra utasítjuk a programot, hogy olvassa ki a logikai értéket a cellából. Tehát, nem azt mondjuk, vizsgáld meg a cellát, IGAZ-t tar­tal­maz-e, mert a vizsgálat eredménye azonos lenne a cella tartalmával.
logikai értéket adó hivatkozás a HA függvény első argumentumában
A függvény akkor is működik, ha az első argumentumának kiértékelése nem logikai értéket, hanem egyet vagy nullát ad eredményül. A nulla a HAMIS-sal, az egy az IGAZ-zal egyenértékű.
a HA függvény első argumentumában álló kifejezés, amely nulla és egy eredményt ad
Sőt! Elárulok valamit. De, maradjon titok! Nem csak eggyel és nullával, de bármilyen számmal működik a függvény: HA( <szám> ; <mű­ve­let, ha szám nem nulla> ; <művelet, ha szám nulla> ).
    Figyelem, figyelem! A HA( <logikai kifejezés> ; IGAZ ; HAMIS ) formula alkalmazása amatőrség! Az ilyen típusú vizsgálatokhoz ugyanis nincs szükség a HA függvényre. A program, még az összetett logikai kifejezésekkel is gond nélkül elboldogul és IGAZ-at vagy HAMIS-at ad eredményül.
feltétel-rendszer
Az ÜRES függvényes példa, elgondolkodtató… Logikai értéket eredményező függvényt is lehet használni?! Hát, akkor több feltételt is dek­la­rál­ha­tunk! Vegyük számba a szóba jöhető függvényeket!
többargumentumos függvények a HA függvény első argumentumában
A bal oldali táblázat sorait vizsgáltattam meg a többargumentumos logikai függvényekkel. Három feltételt határoztam meg. Legyen kör, le­gyen vékony és a daraszám legyen legalább hat. A kritériumoknak megfelelő cellákat szürkével színeztem. A jobb oldali tábla a vizs­gá­lat eredményét tartalmazza. Az IGAZ eredményeket kékkel jelöltem.
    Tehát a feltétel-rendszer kialakításához három függvényt vehetünk igénybe. A beírás módja szokásos: =HA( VAGY/ÉS/XVAGY( <ki­fe­je­zés1> ; <kifejezés2> ; <kifejezés3> … <kifejezés255> ) ; <igaz-művelet> ; <hamis-művelet> ).
    A három függvény argumentumai logikai eredményt adó kifejezések. A VAGY akkor ad IGAZ-at, ha legalább egy argumentuma IGAZ. Az ÉS csak akkor, ha minden argumentuma IGAZ. Az XVAGY pedig akkor, ha argumentumainak göngyölített kiértékelése végül ellentétes lo­gi­kai ér­té­ke­ket eredményez. Elmagyarázom!
    „Versikéje” alapján az XVAGY-ot kizáró VAGY-nak is hívhatjuk: vagy az egyik, vagy a másik. Más variáció nincs. Igen ám, de az XVAGY-nak kettőnél több argumentuma is lehet! Ezt az ellentmondást a program göngyölített kiértékeléssel oldja fel: az argumentumok ki­ér­té­ke­lé­se balról jobbra halad, mindig csak két tényezőt figyelembe véve. Az első az eddigi lépések göngyölített eredménye a másik a kö­vet­ke­ző ar­gumentum kiértékelésének eredménye. Valahogy így:
az XVAGY függvény argumentumainak kiértékelése
Amióta az „ismeretlen programozó”, aki nem más, mint jakutföldi Fegya, észrevette, hogy ha az IGAZ értéket adó argumentumok száma páratlan, akkor a végeredmény mindig IGAZ és ha páros, akkor meg mindig HAMIS, szóval amióta észrevette, azóta csak ezt lehet ol­vas­ni minden ismertetőben.
    Feltétel-rendszer segítségével tudjuk elrejteni az előre elkészített, de még feldolgozandó adatok nélküli képlet eredményét is. Miről van szó! Előkészítünk egy táblázatot, meghatározott tevékenység támogatására. Például, egy kisvállalat házi-pénztárának ad­mi­niszt­rá­lá­sá­ra. Elkészítjük a feliratokat, létrehozzuk az adatbázis-táblázatot (Beszúrás, Táblázatok, Táblázat), megadjuk a beviteli listák elemeit (Ada­tok, Adateszközök, Érvényesítés) és megadjuk a cella- és szám-formátumokat.
az adatbázis-táblázat előkészítése
A „felvétel” az, amikor elviszi a pénzt a kolléga, és az „elszámolás”, amikor visszahozza a maradékot és a számlát. Az egyenleg oszlop képletében tehát két műveletet kell deklarálnunk. Ha az akció felvétel, akkor az előző egyenlegből, le kell vonnunk a felvett összeget. Ha el­számolás, akkor az előző egyenleghez hozzá kell adnunk a visszahozott összeget.
    Az első akció képlete azonban ettől eltérő. Ha a tulajdonos, mondjuk három-milliót tett a kasszába, akkor az első egyenleg három-millió mínusz a felvett összeg. Mivel az adatbázis-táblázat oszlopában csak egyetlen képletet határozhatunk meg, ezért az első akció egyen­le­gé­nek kiszámítását is bele kell foglalnunk a képletbe! A művelet feltétele legyen a képletet tartalmazó sor száma: ha kettő, ak­kor legyen ez, különben meg az.
    Kérjünk még egy sort és az új sor egyenleg cellájában dolgozzunk. Azért ott, hogy ne a táblázat fejlécére kelljen kattintanunk, amikor az előző egyenlegre hivatkozunk.
a HA függvénnyel elrejtendő képlet
A program, természetesen az első sorba is elhelyezi a képletet, ezért a szerkesztéshez használt sort a műveletet követően le­tö­röl­het­jük, és a képletet kiegészíthetjük a rejtéssel.
az adatok nélküli képlet eredményét elrejtő HA függvény
Az <egyenleg> az előbb ismertetett képletet jelöli. Összefoglalva: az aktuális egyenleg csak akkor fog megjelenni, ha az ÉS függvény ar­gu­men­tu­ma­i­ban szereplő cellák ki lesznek töltve.
ha függvények egymásba ágyazása
Ha azt mondanám, a HA függvény műveletek közötti választás automatizálására szolgál, akkor olyan nagyon nem lőnék mellé. Alap­e­set­ben két művelet között „választ”, egymásba ágyazottan legfeljebb hatvanöt közül.
HA függvények egymásba ágyazása
Nagyon öreg, és nagyon távolról jött emberek beszélik, hogy volt idő, amikor még kettőszáz-ötven-öt HA függvényt lehetett egymásba ágyaz­ni. Persze! De az már nagyon régen volt! A 2019-es Excel írja is.
az Excel fihyelmeztető üzenete a HA függvény 64 beágyazási szintjére
Lefordítom ómagyarra! A beírt képletet a program nem tudja kiértékelni, mert az 64 beágyazási szintnél többet tartalmaz.
    Nézzünk egy beágyazós feladatot, amelynek képletében három HA függvénnyel négy műveletet kezelünk! A hallgatók dolgozatot ír­tak. Az értékelés a pontszámok alapján történik: 0-tól 39-ig „értékelhetetlen”, 40-től 79-ig „kevés”, 80-tól 179-ig „megfelelt”, 180-tól „di­csé­re­tes”.
az Excel fihyelmeztető üzenete a HA függvény 64 beágyazási szintjére
Általánosságban is megfogalmazhatjuk a HA függvény egymásba ágyazott képletét: HA( <feltétel1> ; <művelet1> ; HA( <feltétel2> ; <mű­ve­let2> ; HA( <feltétel3> ; <művelet3> … HA( <feltételn> ; <műveletn> ; <műveletn+1> )…
a ha függvény tömbös kiértékelése
A HA függvény tehát kiértékel egy logikai kifejezést és ha IGAZ eredményre jut, akkor az egyik műveletet hajtja végre, ha HAMIS-ra, akkor a másikat. Ha ezt a feltételes művelet-végzést „ha-művelet”-nek nevezzük, akkor azt mondhatjuk, hogy a tömbös kiértékelésű HA függ­vénnyel több ha-művelet elvégzésére utasítjuk a programot. A ha-műveletek eredményét a függvény egy tömbben adja vissza. Aki nem tudja mi az a tömb és mi az a tömbös kiértékelés, az tájékozódjon!
példa a HA függvény tömbös kiértékelésére
A képen látható példa kérdése az volt: Hány éves a hajóskapitány? Akarom mondani, a legöregebb ember, aki a szülőhelyén lakik? A HA függvénnyel ezt az utasítást adtuk a programnak: ellenőrizd soronként, azonos-e a születési hely és a lakhely, ha igen jegyezd meg en­nek a sornak az életkorát! A képen alul láthatjuk a HA függvény eredmény-tömbjét. A feltételnek nem megfelelő sorok HAMIS értékeit a má­so­dik mű­ve­let hiánya magyarázza.
    Persze kérdezhették volna azt is, hogy ki az a legöregebb ember, aki a születési helyén lakik. És nem az emberek életkorát, hanem a születési dátumát adják meg. Akkor így alakulna a megoldás.
példa a HA függvény tömbös kiértékelésére
A legidősebb embert most a megélt napok számával határoztuk meg. Ebben a példában már deklaráltunk hamis-műveletet: ha nem azo­nos a születési- és a lakhely, akkor az eredmény legyen nulla. A tömbös feldolgozás most is egyetlen adatot eredményezett, de ennek el­lenére nem mellőzhetjük a képletet lezáró Shift+Ctrl+Enter billentyű-parancsot! A #HIÁNYZIK hibaérték valószínűleg erre fi­gyel­mez­tet.
feltétel-rendszer tömbös kiértékelésű ha függvényben
A logikai függvényeket, beleértve a NEM-et is, nem használhatjuk tömbös kiértékelésű HA függvényben. Ennek ellenére nem kell le­mon­da­nunk a függvény összetett feltételezéséről. Csak egy speciális írásmódot kell használnunk.
    A logikai kifejezéseket külön-külön zárójeleznünk kell. A kifejezések között logikai AND vagy logikai OR kapcsolatot hozhatunk létre. Az előbbinek a szorzás (*), az utóbbinak az összeadás (+) a műveleti jele. A kifejezések kiértékelése balról jobbra halad. Természetesen „plusz” zárójelezéssel a végrehajtási sorrend módosítható. Nézzünk néhány példát az egyszerűből az összetett felé haladva.
példa a HA függvény tömbös kiértékelésére
A feladatunk mindhárom példában a feltétel-rendszernek eleget tévő sorok megszámlálása volt. Ezért deklaráltunk egyet (1) igaz-mű­ve­let­ként és nullát (0) hamis-műveletként. Majd a HA függvény eredmény-tömbjében álló számokat a SZUM-mal adtuk össze.
    A második példában a 1-B2:B11 kifejezés a B2:B11=HAMIS „szinonimája”, vagy másként fogalmazva a NEM( B2:B11 ) kifejezés függvény nélküli változata. A harmadik példában szereplő MARADÉK függvény két argumentuma az osztandó és az osztó. Ered­ménye a két szám osztási maradéka.
    Szabadság, egyenlőség, testvériség!
  ismertető letöltése pdf-ben   munkafüzet letöltése
margitfalvi.arpad@gmail.com