Functia IF cu AND – realizarea de formule complexe in Excel
Puteti recapitula cele invatate, utilizand fisierul de lucru atasat:
Functia IF cu AND se utilizeaza atunci cand testul logic – argument al functiei IF – este un test combinat, ce contine o conditie complexa de tipul “si si”.
DACA
SI conditia 1 este indeplinita
SI conditia 2 este indeplinita
ATUNCI
realizeaza actiunea de la value_if_true
ALTFEL
realizeaza actiunea de la value_if_false
Functia AND este tot o functie de tip logic si intoarce unul din argumentele TRUE , FALSE sau eroare.
Rezultatul functiei AND este:
- TRUE in cazul in care toate argumentele (logical1,…) intorc valoarea TRUE
- FALSE in cazul in care cel putin unul din agrumente intoarce valoarea FALSE
- eroare in cazul in care cel putin unul din argumente intoarce eroare
Sintaxa :
=AND(logical1,[logical2],…)
Are un singur argument obligatoriu (trebuie introdusa macar o conditie logica).
Logical1 = este un test logic (asemanator cu logical_test din functia IF)
Poate fi rezultatul unei functii, referinta la o celula sau chiar o constanta.
Testul logic poate fi de forma:
- ceva egal cu altceva sau ceva mai mare cu altceva, etc.
- rezultat al unei functii de tip logic (ce intoarce TRUE sau FALSE)
- rezultatul unei functii (de exemplu, functia FIND, IF(FIND()….))
In cazul in care logical1/logical2/…. este rezultatul unei functii, nu este nevoie de utilizarea testului logic cu comparatie.
ATENTIE! Daca rezultatul testului logic este o eroare, atunci functia AND se opreste si rezultatul acesteia va fi eroare.
Semne de comparatie: = , <>, >=, <=, >, <
EXEMPLU
Se da o baza de date de facturi, ce contine informatii referitoare la numarul facturii, data facturii, valoarea facturii si statusul acesteia (platit sau neplatit).
Realizati comparatia cu data curenta, astfel incat, pentru facturile neplatite si pentru care au trecut mai mult de 365 de zile de la data emiterii facturii, in coloana Instanta, sa scrie instanta, altfel sa nu scrie nimic.
REZOLVARE
Pentru ca in coloana Instanta sa puteam inscrie textul “instanta”, trebuie indeplinite simultan doua conditii:
- Diferenta in zile dintre data curenta si data facturii sa fie mai mare de 365
SI
- In coloana Status factura sa scrie textul “NEPLATIT”
PASUL 1
Vom utiliza functia AND pentru a verifica daca o factura trebuie inscrisa la categoria instanta.
=AND(TODAY()-B5>365,D5=”NEPLATIT”)
Unde:
Logical1 este: TODAY()-B5>365
Calculeaza diferenta in zile dintre data curenta (functia TODAY()) si valoarea din B5 (data facturii) si compara aceasta diferenta cu 365 – intoarce valoarea TRUE sau FALSE
Logical2 este: D5=”NEPLATIT”
Verifica daca in D5 scrie NEPLATIT – intoarce valoarea TRUE/FALSE
Textul nu este case sensitiv in exemplul de mai sus, rezultatul fiind acelasi daca se face comparatia cu textul “neplatit” in loc de “NEPLATIT”.
PASUL 2
Puteti denumi aceasta functie complexa (ce contine si functia TODAY) utilizand nume definite de utilizator, sau puteti utiliza functia direct drept argumentul logical_test al functiei IF.
Utilizam formula complexa IF cu AND, in care rezultatul functiei AND va constitui testul logic al functiei IF.
In prima celula din coloana Instanta, inscrieti formula de mai jos:
=IF(AND(TODAY()-B5>365,D5=”NEPLATIT”),”instanta”,””)
Rezultatul functiei AND va fi TRUE sau FALSE, daca este TRUE, in coloana Instanta va scrie textul instanta, daca este FALSE, in coloana Instanta nu va aparea nimic (simbolizat prin doua ghilimele duble).
Atentie! Daca data facturii, asa cum este ea inscrisa in coloana B nu este corect inregistrata ca data calendaristica, de exemplu daca este introdusa ca text, rezultatul functiei AND va fi eroare.
PASUL 3
Copiati formula pana la sfarsitul coloanei Instanta din tabel.
Citeste si: Exemplu de utilizare a functiei IF
Va invit sa refaceti exercitiul, utilizand fisierul de lucru atasat la inceputul articolului. Spor la treaba!