Loogikafunkstioonide grupp on üks väiksemaid kuid üks võimsamaid. Loogikafunktsioone kasutame otsuste tegemiseks ja selle eestvedajaks on IF() funktsioon. Vaatame IF() funktsiooni süntaksit:
=IF(tingimus;väärtus_kui_tõene;väärtus_kui_väär)
Funktsioon koosneb kolmest osast:
- tingimus – tingimus, mille peate seadma. Kasutatakse tuntud võrdlustehteid
- > (suurem kui)
- < (väiksem kui)
- = (võrdne)
- >= (suurem või võrdne)
- <= (väiksem või võrdne)
- <> (ei võrdu)
- väärtus_kui_tõene – kui seatud tingimus on TÕENE (ingl. k true), siis teostatakse järgmine tegevus, milleks võib olla tekst, number, valem või uus funktsioon
- väärtus_kui_väär – kui seatud tingimus on VÄÄR(ingl. k false), siis teostatakse järgmine tegevus, milleks võib olla tekst, number, valem või uus funktsioon
Näide 1
Vaatame näidet, kus ühes veerus on tähised ‘m’ ja ‘n’.
Laseme programmil otsustada, et kui lahtris on ‘m’, siis kirjutatakse kõrvallahtrisse sõna ‘mees’ ja kui ‘n’, siis ‘naine’. Vaatame otsustamist skeemilt:
Funktsioonina näeb rida välja selline:
- =IF(A2=”m”;”mees”;”naine”)
Näide 2
Vaatame näidet arvudega. Meil on olemas teenitud palk ja tehtud tükitöö.
Motiveerime töötajaid – kui tükitöö ületab 8, siis anname preemiat 100. Kui mitte, siis jääb palk samaks. Vaatame skeemilt:
Funktsioon näeb välja selline
- =IF(B2>8;A2+100;A2)
Näide 3
Üks võimalus, mida palju kasutatakse ja mis ajab kasutajad segadusse on IF() funktsioonid üksteise sees. See tähendab seda, et kui näiteks funktsioon ei vasta tingimusele, siis saab esitada uue tingimuse jne jne. Seda nimetatakse pesastamiseks. Vanemad versioonid toetasid kuni 7 pesaastamist ning uus saab hakkama kuni 64-ga.
Võtame näitena eksami tabeli, kus laseme Excelil lisada automaatselt õppuritele hinde.
Kogu eksam oli 20 punkti. Kui õppur sai 18p sai hindeks “5”, kui 15p hinne “4”, 9p hinne “3” ja alla 9p saab hindeks “MA” (mittearvestatud). Paremaks arusaamiseks panen mõtte skeemi.
Kasutan järgmist funktsiooni, kus VÄÄR vastuse kohale kirjutan uue tingimuse.
- =IF(B3>=18;5; IF(B3>=15;4; IF(B3>=9;3; “MA”)))
AND, OR ja NOT
Tegemist on funktsioonidega, mida reeglina eraldi ei kasutata, vaid ikka koos IF() funktsiooniga. Kõigi kolme tulemuseks on alati TÕENE või VÄÄR. AND() funktsiooni kasutatakse kui kõik argumendid peavad olema tõesed. Näiteks mul on nimekiri vanustega. Soov on teada saada kes on teismelised. Kasutan siin AND() funktsiooni, kus on kaks tingimust – vanus peab olema üle 10 JA alla 20.
OR() funktsiooni kasutame kui täidetud peab olema ainult üks argument. Näiteks kontrollime, kas vanus on üle 20 VÕI alla 10.
Kui OR() või AND() funktsioon kujuneb liiga pikaks, siis on mõtekas kaaluda eituse funktsiooni NOT(). Loome funktsiooni, mis “ütleb”, et kui kasutaja EI OLE üle 20, siis on ta noor, vastasel juhul vana.
Veateated
Veateadetele nagu #N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME? või #NULL! reageerimiseks on loogikafunkstioonidesse lisatud IFERROR() funktsioon. Näiteks kui sinu lahendus annab veateate, siis saab sellest kasutajat teavitada oma tekstiga.
Kõik loogikafunktsioonid
Funktsioon | Kirjeldus |
AND | Annab vastuseks väärtuse TRUE, kui kõigi selle argumentide väärtus on TRUE. |
FALSE | Annab vastuseks loogikaväärtuse FALSE. |
IF | Määrab loogikaavaldise tõesusväärtuse. |
IFERROR | Annab vastuseks teie määratud väärtuse, kui valem annab tulemuseks vea, muul juhul annab vastuseks valemi tulemi. |
NOT | Muudab argumendi tõesusväärtuse vastupidiseks. |
OR | Annab vastuseks väärtuse TRUE, kui mõni argumendi väärtus on TRUE. |
TRUE | Annab vastuseks loogikaväärtuse TRUE. |