Bevezetés Ebben a fejezetben megismerkedünk a Logikai függvények típusaival és elsajátítjuk alkalmazásukat. Jártasságot szerzünk bonyolultabb feladatok megoldásában, valamint képesek leszünk a függvények egymásba ágyazására. A Mátrix kategóriából pedig bepillantást nyerünk az Fkeres és Vkeres függvények alkalmazásából. Logikai függvények =ÉS(logikai1; logikai2;.; logikain) A függvény eredménye akkor lesz IGAZ, ha minden argumentuma IGAZ eredményt ad. A függvény eredménye akkor lesz HAMIS, ha bármely argumentuma HAMIS eredményt ad. =VAGY(logikai1; logikai2;.; logikain) A függvény eredménye IGAZ, ha valamely argumentuma IGAZ. A függvény eredménye HAMIS, ha az összes argumentuma HAMIS. Indítsuk el az Excel programot! A minta alapján vigyük be a Munka1 munkalapra a táblázat adatait! 1. ábra Minta az adatbevitelhez A két szám nagyobb, mint nulla? Meg kell néznünk, hogy a szám1 és a szám2 nagyobb-e, mint a nulla! A feladatot az ÉS függvény segítségével oldjuk meg. E4-es cella tartalma: =ÉS(B1>0;B2>0) IGAZ A két szám nagyobb, mint öt? Meg kell néznünk, hogy a szám1 és a szám2 nagyobb-e, mint öt! A feladatot az ÉS függvény segítségével oldjuk meg. E5-es cella tartalma: =ÉS(B1>5;B2>5) HAMIS Valamelyik szám nagyobb, mint nulla? Meg kell néznünk, hogy a szám1 vagy a szám2 nagyobb-e, mint a nulla! A feladatot a VAGY függvény segítségével oldjuk meg. E6-es cella tartalma: =VAGY(B1>0;B2>0) IGAZ Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 1
Valamelyik szám nagyobb, mint öt? Meg kell néznünk, hogy a szám1 vagy a szám2 nagyobb-e, mint öt! A feladatot a VAGY függvény segítségével oldjuk meg. E7-es cella tartalma: =VAGY(B1>5;B2>5) IGAZ Mind két szám nulla? Meg kell néznünk, hogy a szám1 és a szám2 nulla-e! A feladatot az ÉS függvény segítségével oldjuk meg. E8-es cella tartalma: =ÉS(B1>5;B2>5) HAMIS Valamelyik szám nulla? Meg kell néznünk, hogy a szám1 vagy a szám2 nulla-e! A feladatot a VAGY függvény segítségével oldjuk meg. E9-es cella tartalma: =VAGY(B1>5;B2>5) HAMIS 2. ábra A feladat megoldása =HA(logikai vizsgálat;érték ha igaz;érték ha hamis) Ha a logikai vizsgálat kiértékelése IGAZ értéket ad eredményül, akkor a függvény a második argumentum (érték, ha igaz), egyébként a harmadik argumentum (érték, ha hamis) értékét adja eredményül. Ha az argumentumban szöveget kívánunk megadni, akkor azt idézőjelek ( ) közé kell tennünk. A Letöltés szövegre kattintva mentsük le számítógépünkre az Olajtermeles.xls állományt! Számítsuk ki a hiányzó adatokat! 3. ábra Olajtermelés.xls Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 2
B9-es cella képlete: A B9-es cellában számítsuk ki, hogy az országok összesen hány milliárd hektolitert termeltek! =SZUM(B2:B8) A B10-es és a B11-es cellákban írassuk ki, hogy hány milliárd hektoliter volt a legnagyobb és mennyi a legkisebb kőolajtermelés! B10-es cella képlete: B11-es cella képlete: =MAX(B2:B8) =MIN(B2:B8) Oroszország termeli a legtöbb kőolajat? Ha Oroszország termeli a legtöbbet, akkor a D13-as cellába az IGEN, egyébként a NEM szöveg kerüljön. Mivel két lehetőség közül kell választanunk ezért a feladatot a HA függvény segítségével oldjuk meg. Logikai vizsgálatnál a B10-es cellában lévő legnagyobb termelési adatot (B10=510) hasonlítjuk össze Oroszország termelési adatával (B6=510). Álljunk a D13-as cellába, majd jelenítsük meg az IGEN vagy NEM szöveget attól függően, hogy Oroszország termeli-e a legtöbb kőolajat! D13-as cella képlete: 4. ábra HA függvény párbeszédablaka =HA(B10=B6;"IGEN";"NEM") A logikai vizsgálat eredménye IGAZ lesz, hiszen az 510 egyenlő az 510-zel, így a HA függvény második argumentumában lévő érték kerül végrehajtásra, vagyis az IGEN szöveg kerül kiírásra a D13-as cellában. Kuvait termeli a legkevesebb kőolajat? Az előző feladathoz hasonlóan itt is a HA függvényt kell alkalmaznunk. A logikai vizsgálatnál pedig a B11-es cellában lévő legkisebb termelési adatot (B11=110) hasonlítjuk össze Kuvait termelési adatával (B4=120). Álljunk a D14-es cellába, majd jelenítsük meg az IGEN vagy NEM szöveget attól függően, hogy Kuvait termeli-e a legkevesebb kőolajat! Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 3
D14-es cella képlete: =HA(B11=B4;"IGEN";"NEM") Mivel a 110 nem egyenlő a 120-szal, ezért a logikai vizsgálat eredménye HAMIS lesz, így a HA függvény harmadik argumentumában lévő érték kerül kiírásra, azaz a NEM szöveg. Ha Oroszország termeli a legtöbb kőolajat, akkor írassuk ki a C6-os cellába, hogy hány százalékkal részesül az összes termelésből, egyébként semmilyen adat ne jelenjen meg. Ezt a feladatot is a HA függvény segítségével oldjuk meg. Ha Oroszország termeli a legtöbb kőolajat, akkor most nem szöveget fogunk kiíratni, hanem egy százalékszámítást fogunk elvégezni a függvény második argumentumában. A logikai vizsgálatnál pedig azt vizsgáljuk, hogy a D13-as cellában IGEN vagy NEM szöveg szerepel. Ha IGEN, akkor elvégezzük a százalékszámítást, egyébként nem. Álljunk a C6-os cellába, majd írassuk ki, hogy hány százalékkal részesül Oroszország az összes termelésből, ha ő a legnagyobb kitermelő! 5. ábra Ha függvény párbeszédablaka 2 A logikai vizsgálatnál, mivel a D13-as cella tartalmát egy szöveggel hasonlítjuk öszsze, az IGEN szöveget idézőjelek közé kell tennünk. A C6-os cella képlete: =HA(D13="IGEN";B6/B9;"") A kapott eredmény megjelenését állítsuk át kéttizedes százalék számformátumra! 6. ábra Százalék számformátum beállítása További ismeretek: Ha akkor típusú feladatok (logikai függvények) Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 4
Függvények egymásba ágyazása Több lépésből álló feladatokat egyetlen lépéssel is megoldhatunk, ha függvényeinket egymásba ágyazzuk. Ebben az esetben egy függvény egyik argumentumában egy másik függvényt adunk meg. A HA függvény szemléltetésére készült példát oldjuk meg függvénybeágyazással! Így elhagyjuk az összesen, legnagyobb és legkisebb részeredményeket. A Letöltés szövegre kattintva mentsük le számítógépünkre az Olajtermeles2.xls állományt! Számítsuk ki a hiányzó adatokat! 7. ábra Olajtermelés2.xls Első lépésként a C9-es cellába szúrjuk be a HA függvényt! Kattintsunk a logikai vizsgálat argumentumára, majd nyissuk le a Függvény legördülő listát, és válasszuk ki a MAX függvényt! 8. ábra MAX függvény beszúrása a HA függvény első argumentumába Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 5
Ezután a MAX függvény automatikusan beágyazásra kerül a HA függvény első argumentumába, és átvált a MAX függvény argumentumait tartalmazó párbeszédablakra. Jelöljük ki azt a tartományt, amelyből a legnagyobb elemet szeretnénk kiválasztani! 9. ábra MAX függvény cella tartományának megadása A következő lépésben kattintsunk a szerkesztőlécen a HA függvény nevére, és fejezzük be a logikai vizsgálat elkészítését (a legnagyobbat hasonlítjuk össze Oroszország adatával): MAX(B2:B8)=B6! Gépeljük be, hogy igaz, illetve hamis kiértékelés után a függvény milyen szöveget (IGEN/NEM) jelenítsen meg a cellában! 10. ábra Visszatérés a HA függvényhez Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 6
Végezetül kattintsunk a Kész gombra! C9-es cella képlete: 11. ábra HA függvény további adatainak magadása =HA(MAX(B2:B8)=B6;"IGEN";"NEM") Hasonló módon a C10-es cellában is határozzuk meg, hogy Kuvait termeli-e a legkevesebb kőolajat! Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 7
12. ábra HA függvény párbeszédablaka a második kérdéshez C10-es cella képlete: =HA(MIN(B2:B8)=B4;"IGEN";"NEM") Álljunk a C6-os cellába, majd írassuk ki, hogy hány százalékkal részesül Oroszország az összes termelésből, ha ő a legnagyobb kitermelő! Ennél feladatnál a HA függvény második argumentumába szúrjuk be a SZUM függvényt a Függvény legördülő lista segítségével, a B6/ karakterek megadása után! 13. ábra HA függvény párbeszédablaka a százalékos adat meghatározásához További ismeretek a függvények egymásba ágyazásáról. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 8
Mátrix függvények Gyakran előfordul, hogy a táblázatunk adatai közül meg kell keresnünk valamilyen feltételnek megfelelő adatot. Ilyenkor leggyakrabban a mátrix függvényei közül az FKERES és a VKERES függvényeket használjuk. Egy osztály témazáró dolgozatot írt, aminek az eredményét egy táblázatban tároljuk. A táblázat tartalmazza a tanulók neveit, valamint az elért pontszámukat. A következő oszlopban (jeles, jó stb.) írassuk ki a dolgozatok eredményét! A dolgozatok értékelése az alábbi adatok alapján történjék: Jeles Jó Közepes Elégséges Elégtelen 91 ponttól 81 90 pont 71 80 pont 61 70 pont 60 pontig A Letöltés szövegre kattintva mentsük le számítógépünkre a Dolgozat.xls állományt! Számítsuk ki a hiányzó adatokat! Az érdemjegy meghatározásához alkalmazzuk az FKERES függvényt! =FKERES(keresési érték; tábla; oszlop szám; tartományban keres) A függvény második argumentumában megadott tábla balszélső oszlopában megkeresi az első argumentumban megadott értéket, majd annak sora és a harmadik argumentumban megadott oszlop metszéspontjában lévő értéket adja eredményül. Keresési érték: a tábla első oszlopában megkeresendő érték. A keresési érték lehet érték, hivatkozás vagy karaktersorozat. Tábla: az a tábla, amelyben a keresést végre kell hajtani. Tartományhivatkozás vagy egy tartomány neve adható itt meg. Megjegyzés: ha a tartományban keres értéke IGAZ, akkor a tábla első oszlopában lévő értékeknek növekvő sorrendben kell elhelyezkedniük (..., -2, -1, 0, 1, 2,..., A Z, HAMIS, IGAZ stb.), mert különben az FKERES hibás eredményt adhat. Ha a tartományban keres értéke HAMIS, akkor a tábla adatainak nem szükséges rendezettnek lenniük. Oszlopszám: a tábla azon oszlopának a táblán belüli sorszáma, amelyből az eredményt meg kívánjuk kapni. Ha az oszlop számértéke 1, akkor a tábla első oszlopában lévő értéket kapjuk eredményül, ha az oszlop számértéke 2, akkor a tábla második oszlopában lévő értéket és így tovább. Ha az oszlopszám nagyobb, mint a tábla oszlopainak száma, akkor #HIV! hibaértéket kapunk. Tartományban keres: logikai érték, amellyel az FKERES függvény pontos vagy közelítő keresését adhatjuk meg. Ha értéke IGAZ vagy hiányzik, akkor a visszaadott érték közelítő lehet, azaz ha nem talált pontos egyezést a függvény, akkor a következő legnagyobb, de a keresési érték argumentumnál kisebb értéket adja vissza. Ha az argumentum értéke HAMIS, akkor az FKERES pontos egyezést keres, és ha ilyen nincs, akkor a #HIÁNYZIK hibaértéket adja eredményül. Megjegyzés: ha a keresési érték kisebb, mint a tábla legkisebb értéke, akkor az FKERES a #HIÁNYZIK hibaértéket adja eredményül. A függvény a kis- és nagybetűk között nem tesz különbséget. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 9
Az elmélet megismerése után folytassuk a feladatunkat!. Készítsük el az FKERES függvényhez a táblát, ahonnan az eredményt fogjuk megkapni! 14. ábra Tábla az Fkeres függvényhez A feladatnál nem a pontos keresést kell használnunk, hanem a közelítő módszert kell alkalmaznunk. Egy eredményhez ugyanis több adat is tartozik. Például négyes érdemjegyet kap az a tanuló, aki 81, 82, 83, 84, 85, 86, 87, 88, 89 illetve 90 pontot szerzett. Tehát a táblát úgy kell elkészítenünk, hogy ha a függvény a tábla legelső oszlopában nem talál a keresési értékkel pontosan megegyező adatot, akkor a keresési értéknél kisebb adatok közül a legnagyobb értéket adja vissza. Fontos, hogy ebben az esetben a tábla első oszlopában lévő értékeknek növekvő sorrendben kell elhelyezkedniük. Például Joo György 87 pontot ért el. A 87-el megegyező adat nincs a tábla első oszlopában. Tőle kisebb a 0, 61, 71 és a 81. Ezek közül a legnagyobb értéket veszi: 81. A 81-es adatnak megfelelő sor és a függvény harmadik argumentumában megadott oszlopszám (2) metszéspontjában lévő értéket kapjuk eredményül: jó Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 10
A C3-as cella képlete: =FKERES(B3;E$2:F$6;2;IGAZ) A tábla cellatartomány sorazonosítóit rögzítsük ($), hiszen a képletet a C17-es celláig le kell másolnunk. Ha nem rögzítjük, akkor a másolt képletekben a tábla cellatartomány-hivatkozás hibás lesz. (Függőleges másolásnál a képletekben lévő cellahivatkozások sorazonosítói növekednek.) 15. ábra Fkeres függvény másolása Ha a ponthatárokat meg kell változtatni, akkor a tábla adatainak a módosítása után már egyből az új érdemjegyek jelennek meg a táblázatban. Oldjuk meg megint a dolgozatok eredményének szöveges kiírását, csak most ne az FKERES hanem a VKERES függvény felhasználásával! Mi is a különbség a két függvény között? A VKERES függvényt azokban az esetekben használjuk, amikor az összehasonlítandó értékek a tábla felső sorában helyezkednek el, és egy adott sorban lévő értéket szeretnénk megtudni. Az FKERES függvényt ezzel szemben akkor használjuk, amikor az összehasonlítandó értékek a tábla bal oldalán levő oszlopban helyezkednek el, és egy adott oszlopbeli értéket szeretnénk megtudni. A VKERES névben a V a vízszintes, míg az FKERES névben az F a függőleges irányt jelöli. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 11
=VKERES(keresési érték; tábla; sorszám; tartományban keres) A függvény második argumentumában megadott tábla felső sorában megkeresi az első argumentumban megadott értéket, majd annak oszlopa és a harmadik argumentumban megadott sor metszéspontjában lévő értéket adja eredményül. Lépjünk át a Munka2-es munkalapra és most a Vkeres függvénnyel, oldjuk meg a feladatot! A B4-es cella képlete: =VKERES(B3;$A6:$E7;2;IGAZ) 16. ábra Vkeres függvény feladatának megoldása Tehát a két feladat között annyi a különbség, hogy a tábla adatai az egyik esetben oszlop-, a másik esetben pedig sorszerűen van rögzítve. Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 12
Összefoglalás =ÉS(logikai1; logikai2;.; logikain) A függvény eredménye akkor lesz IGAZ, ha minden argumentuma IGAZ eredményt ad. A függvény eredménye akkor lesz HAMIS, ha bármely argumentuma HAMIS eredményt ad. =VAGY(logikai1; logikai2;.; logikain) A függvény eredménye IGAZ, ha valamely argumentuma IGAZ. A függvény eredménye HAMIS, ha az összes argumentuma HAMIS. =HA(logikai vizsgálat;érték ha igaz;érték ha hamis) Ha a logikai vizsgálat kiértékelése IGAZ értéket ad eredményül, akkor a függvény a második argumentum (érték, ha igaz), egyébként a harmadik argumentum (érték, ha hamis) értékét adja eredményül. Ha az argumentumban szöveget kívánunk megadni, akkor azt idézőjelek ( ) közé tesszük. Több lépésből álló feladatokat egyetlen lépéssel is megoldhatunk, ha függvényeinket egymásba ágyazzuk. Ebben az esetben egy függvény egyik argumentumában egy másik függvényt adunk meg. Az argumentumba, a függvénylista segítségével tudunk egy másik függvényt beszúrni. =FKERES(keresési érték; tábla; oszlop szám; tartományban keres) A függvény második argumentumában megadott tábla balszélső oszlopában megkeresi az első argumentumban megadott értéket, majd annak sora és a harmadik argumentumban megadott oszlop metszéspontjában lévő értéket adja eredményül. =VKERES(keresési érték; tábla; sorszám; tartományban keres) A függvény második argumentumában megadott tábla felső sorában megkeresi az első argumentumban megadott értéket, majd annak oszlopa és a harmadik argumentumban megadott sor metszéspontjában lévő értéket adja eredményül. További ismeretek: Az adatok sorba rendezése, függvények Készítette: SZÁMALK Zrt, Szakképzési Igazgatóság 13