Invatare Atomica

Functii logice: IF, AND, OR, NOT, IFERROR, IFS

Cum ia foaia de calcul decizii singura, pe baza unor conditii pe care le scrii tu

Progres lectie:
0%
🎯

Obiectivul lectiei

Vei invata sa construiesti in foaia de calcul reguli de decizie automate — celule care raspund singure "da/nu" sau "incadrat/depasit" pe baza unor conditii. Aceasta e exact ce faci manual cand compari o masuratoare de mediu cu un prag legal, cand verifici daca un buturug de arbore respecta diametrul minim de exploatare, sau cand marchezi o piesa din atelier ca fiind in toleranta sau nu. In loc sa parcurgi manual sute de randuri dintr-un tabel, functiile logice fac verificarea automat, pe toate randurile deodata.

Dupa aceasta lectie vei putea:

  • Sa scrii o functie IF simpla care alege intre doua rezultate pe baza unei conditii
  • Sa combini mai multe conditii cu AND (toate trebuie sa fie adevarate) si OR (cel putin una adevarata)
  • Sa inversezi o conditie cu NOT
  • Sa imbrici (aninezi) mai multe functii IF pentru a incadra o valoare pe trei sau mai multe intervale
  • Sa inlocuiesti IF-urile imbricate cu IFS, mai usor de citit, cand ai multe intervale
  • Sa protejezi o formula de erori de afisare cu IFERROR
  • Sa recunosti si sa repari cea mai frecventa greseala la IF-uri imbricate — ordinea gresita a conditiilor

Incearca singur!

Provocare — inainte sa citesti:

Lucrezi la ocolul silvic si ai masurat diametrul unui copac la 1,30 m inaltime (diametrul de baza, notat DBH): 42 cm. Regula ocolului spune: sub 20 cm = "puiet, nu se exploateaza"; intre 20 si 45 cm = "exploatare selectiva, cu aviz"; peste 45 cm = "exploatare libera, cu marcaj". In ce categorie se incadreaza copacul tau? Acum imagineaza-ti ca ai 300 de copaci masurati intr-o coloana din Excel — cum ai verifica rapid categoria fiecaruia, fara sa citesti manual fiecare numar?

💡 Ai nevoie de un indiciu?

Copacul de 42 cm intra la categoria de mijloc: "exploatare selectiva, cu aviz" (e mai mare sau egal cu 20, dar mai mic sau egal cu 45).

Pentru 300 de copaci, ideea e sa scrii O SINGURA formula care testeaza pragurile si o copiezi pe toate randurile — asta fac exact functiile logice din lectia de azi.

1

Functia IF — prima decizie automata

IF (in romana "daca") este functia care testeaza o conditie si alege intre doua rezultate posibile. Sintaxa in Excel:
=IF(conditie; valoare_daca_adevarat; valoare_daca_fals)
Cele trei parti sunt separate prin punct si virgula pe un calculator cu setari regionale de Romania (separatorul de argumente e dat de setarea Windows "List separator", NU de limba interfetei Excel — un Excel in limba engleza, dar cu regiunea Windows setata pe Romania, foloseste tot punct si virgula). Pe un calculator cu setari regionale US/UK, separatorul e virgula: =IF(condition, value_if_true, value_if_false). Aceasta lectie foloseste peste tot numele englezesti ale functiilor (IF, AND, OR, NOT, IFS, IFERROR) cu punct si virgula ca separator — combinatia obisnuita pe un Windows romanesc cu Excel in limba engleza; intr-un Excel efectiv localizat in romana, si numele functiilor sunt traduse (de exemplu DACA in loc de IF). Conditia este o comparatie care da mereu ADEVARAT sau FALS — de exemplu B2>7, C4="Da", A1<=100.
Exemplu numeric complet — proba de mediu:

Ai masurat pH-ul unei probe de apa in celula B2: B2 = 15 — atentie, un pH real nu depaseste 14, dar folosim 15 aici doar ca exemplu numeric simplu de calcul, nu ca valoare reala de pH.
Formula: =IF(B2>7;"Bazic";"Acid")
Pasul de calcul: Excel verifica 15>7 → ADEVARAT → afiseaza primul text, "Bazic".
Daca B2 ar fi fost 5, conditia 5>7 ar fi FALS, iar rezultatul ar fi fost "Acid".

Cum scrii formula pas cu pas in Excel:

1. Dai clic pe celula unde vrei rezultatul (ex. C2).
2. Scrii =IF( — Excel iti arata automat ordinea argumentelor.
3. Dai clic pe celula cu conditia (ex. B2), scrii operatorul de comparatie si valoarea de prag (ex. >7).
4. Pui punct si virgula, scrii textul pentru cazul adevarat intre ghilimele.
5. Pui punct si virgula, scrii textul pentru cazul fals intre ghilimele.
6. Inchizi paranteza si apesi Enter.
7. Tragi de coltul din dreapta-jos al celulei (mânerul de umplere) in jos, pentru a copia formula pe restul randurilor.

2

AND si OR — combinarea mai multor conditii

Cand o decizie depinde de mai multe conditii deodata, IF singur nu ajunge — ai nevoie de AND sau OR in interiorul lui.
AND(conditie1; conditie2; ...) — da ADEVARAT numai daca toate conditiile din paranteza sunt adevarate. Daca macar una e falsa, rezultatul e FALS.
OR(conditie1; conditie2; ...) — da ADEVARAT daca cel putin una dintre conditii este adevarata. Da FALS doar cand toate sunt false.
AND si OR nu afiseaza singure text — se pun de obicei ca prim argument al lui IF.
Exemplu numeric complet — control de calitate in atelier:

O piesa metalica trebuie sa aiba lungimea intre 98 si 102 mm ca sa fie acceptata. In B2 avem lungimea masurata: B2 = 99.
Formula: =IF(AND(B2>=98;B2<=102);"Acceptata";"Respinsa")
Pas cu pas: Excel evalueaza intai AND(99>=98;99<=102) → 99>=98 este ADEVARAT, 99<=102 este ADEVARAT → AND cu ambele conditii adevarate da ADEVARAT → IF afiseaza "Acceptata".
Daca piesa ar fi avut 105 mm, 105<=102 ar fi FALS, deci AND ar da FALS, iar rezultatul ar fi "Respinsa", chiar daca prima conditie (105>=98) era adevarata — AND cere ca TOATE sa fie adevarate.

Exemplu cu OR — alerta de mediu:

O statie de masurare emite alerta daca temperatura apei depaseste 25°C SAU turbiditatea depaseste 50 NTU (unitate de masura a tulburelii apei). In B2 = temperatura (22), in C2 = turbiditatea (60).
Formula: =IF(OR(B2>25;C2>50);"ALERTA";"Normal")
OR(22>25;60>50) → prima conditie FALS, a doua ADEVARAT → OR cu cel putin o conditie adevarata da ADEVARAT → rezultatul este "ALERTA", desi temperatura singura era in limite.

3

NOT — inversarea unei conditii

NOT(conditie) inverseaza rezultatul unei conditii: transforma ADEVARAT in FALS si FALS in ADEVARAT. Se foloseste cand e mai simplu sa exprimi conditia "pe dos" decat direct.
Exemplu numeric complet — fisa de intretinere utilaj:

O coloana B contine data ultimei revizii tehnice a unui utilaj din atelier; vrei sa marchezi utilajele la care lipseste data reviziei (celula goala). In B2 nu s-a completat nimic — celula este goala.
Formula: =IF(NOT(B2="");"Are data revizie";"LIPSA REVIZIE")
Pas cu pas: B2="" testeaza daca celula e goala → pentru o celula chiar goala, acest test da ADEVARAT → NOT(ADEVARAT) = FALS → IF afiseaza al doilea rezultat, "LIPSA REVIZIE".
Daca B2 ar fi continut o data (ex. 15.03.2026), B2="" ar fi FALS, NOT(FALS) = ADEVARAT, iar formula ar afisa "Are data revizie".

O varianta echivalenta, fara NOT:

Aceeasi regula se poate scrie si direct, inversand cele doua rezultate: =IF(B2="";"LIPSA REVIZIE";"Are data revizie"). NOT devine util mai ales cand conditia din interior e deja complexa (ex. NOT(AND(...))) si ar fi greoi de rescris pe dos.

4

IF imbricat — incadrarea pe trei sau mai multe intervale

Cand ai trei sau mai multe categorii (nu doar doua), pui un IF in interiorul altui IF — se numeste IF imbricat (nested IF). Regula de aur: testezi conditiile in ordine, de la cea mai mica valoare la cea mai mare (sau invers, consecvent), pentru ca Excel se opreste la primul test care da ADEVARAT si il ignora pe restul.
Exemplu numeric complet — incadrarea copacilor pe categorii de exploatare:

Regula ocolului silvic: diametru sub 20 cm = "Puiet"; intre 20 si 45 cm (inclusiv) = "Selectiva"; peste 45 cm = "Libera". Diametrul e in celula B2.
Formula: =IF(B2<20;"Puiet";IF(B2<=45;"Selectiva";"Libera"))
Pentru B2 = 15: 15<20 → ADEVARAT → rezultatul este direct "Puiet", al doilea IF nici nu se mai evalueaza.
Pentru B2 = 42: 42<20 → FALS → Excel trece la IF(B2<=45;...) → 42<=45 → ADEVARAT → rezultatul este "Selectiva".
Pentru B2 = 60: 60<20 → FALS → 60<=45 → FALS → se ajunge la ultimul rezultat, "Libera".

Greseala tipica — ordinea gresita a conditiilor:

O greseala frecventa apare cand scrii conditiile in ordine descrescatoare (de la cea mai mare valoare spre cea mai mica) si folosesti acelasi operator strict (>) la ambele praguri, fara sa verifici ce se intampla exact la limita dintre categorii. Exemplu: =IF(B2>45;"Libera";IF(B2>20;"Selectiva";"Puiet")).
Testeaza aceasta formula chiar pe limita: B2 = 20. Regula declarata mai sus spune ca 20 cm intra la "Selectiva" (limita e inclusa). Dar formula calculeaza: 20>45 → FALS → trece la 20>20 → tot FALS (20 nu e STRICT mai mare decat 20) → rezultatul este gresit, "Puiet" in loc de "Selectiva". Formula rateaza exact valoarea de granita.
Cum recunosti greseala: testeaza mereu formula pe valorile-limita (aici 20 si 45), nu doar pe valori din mijlocul intervalului — o greseala de granita se ascunde usor daca testezi doar B2=15 sau B2=42.
Cum se repara: la conditia care corespunde limitei inclusive, foloseste >= in loc de >: =IF(B2>45;"Libera";IF(B2>=20;"Selectiva";"Puiet")). Acum 20>=20 este ADEVARAT, iar formula da corect "Selectiva". Regula generala: pentru fiecare prag, decide daca limita trebuie inclusa (foloseste >= sau <=) sau exclusa (foloseste > sau <), si testeaza formula exact pe acea valoare de granita, nu doar in mijlocul intervalului.

5

IFS — aceeasi decizie, mai usor de citit

IFS (disponibila in Excel 2019, Excel 365 si Google Sheets) testeaza mai multe conditii in ordine, dar fara sa mai imbrici IF-uri unul in altul. Sintaxa:
=IFS(conditie1; rezultat1; conditie2; rezultat2; ...; conditieN; rezultatN)
Excel evalueaza conditiile in ordinea scrisa si se opreste la prima adevarata, exact ca la IF imbricat — dar formula ramane "plata", fara paranteze care se aduna unele peste altele.
Exemplu numeric complet — aceeasi regula a copacilor, rescrisa cu IFS:

Aceeasi regula ca la atomul anterior (sub 20 = Puiet; 20-45 = Selectiva; peste 45 = Libera), pentru B2 = 42:
Formula: =IFS(B2<20;"Puiet";B2<=45;"Selectiva";B2>45;"Libera")
Pas cu pas: 42<20 → FALS, se trece mai departe → 42<=45 → ADEVARAT → rezultatul este "Selectiva", la fel ca la IF imbricat, dar fara paranteze inlantuite.
Observatie importanta: ultima conditie tot trebuie scrisa explicit (B2>45) — IFS nu are un "altfel" implicit ca ultimul argument al lui IF. Daca nicio conditie nu e adevarata, IFS afiseaza eroarea #N/A.

Cand alegi IF imbricat si cand IFS:

Pentru doua-trei categorii, IF imbricat ramane simplu si e disponibil in orice versiune de Excel. Pentru patru sau mai multe categorii, IFS e mult mai usor de verificat vizual, pentru ca fiecare regula sta pe "randul" ei logic, nu ingropata in paranteze. Daca aplicatia ta (versiune veche de Excel) nu are IFS, foloseste IF imbricat.

6

IFERROR — cand formula da eroare in loc de rezultat

Unele formule produc erori de afisare in anumite conditii — cel mai des #DIV/0! (impartire la zero) si #N/A (valoare negasita, de exemplu la o cautare). O eroare intr-o celula se propaga: orice formula care foloseste acea celula va afisa si ea o eroare. IFERROR prinde eroarea si o inlocuieste cu o valoare aleasa de tine. Sintaxa:
=IFERROR(formula_de_verificat; valoare_daca_eroare)
Exemplu numeric complet — consum de combustibil pe utilaj forestier:

Coloana A = litri de motorina consumati, coloana B = kilometri parcursi. Vrei consumul mediu (litri/km) in coloana C. Pe un rand, utilajul nu s-a deplasat deloc: A2 = 12 (litri, pentru functionare stationara), B2 = 0 (km).
Fara protectie: =A2/B2 → 12/0 → Excel afiseaza #DIV/0!.
Cu protectie: =IFERROR(A2/B2;"N/A - fara deplasare") → Excel incearca 12/0, detecteaza eroarea, si in loc sa o afiseze, pune textul "N/A - fara deplasare".
Pentru un rand normal, de exemplu A3 = 12, B3 = 40: =IFERROR(A3/B3;"N/A - fara deplasare") → 12/40 = 0,3 → cum 12/40 nu produce nicio eroare, IFERROR afiseaza direct rezultatul calculat, 0,3 litri/km.

IFERROR nu inlocuieste verificarea logica:

IFERROR ascunde eroarea de afisare, dar nu explica de ce a aparut. Daca vrei sa distingi intre "utilajul n-a functionat azi" si "s-a uitat completarea kilometrajului", tot ai nevoie de un IF separat care sa verifice, de exemplu, daca ziua e zi libera. IFERROR e o plasa de siguranta pentru afisare, nu un inlocuitor al logicii de decizie.

7

Recapitulare si conexiuni

Functiile logice transforma o foaie de calcul dintr-un simplu tabel de numere intr-un instrument care ia decizii — exact deciziile pe care le-ai lua tu manual, dar aplicate automat pe sute de randuri.
Rezumat vizual al functiilor invatate:

IF(conditie; adevarat; fals) — o decizie simpla, cu doua rezultate posibile
  + AND(c1; c2; ...) — toate conditiile trebuie sa fie adevarate
  + OR(c1; c2; ...) — e suficient ca una sa fie adevarata
  + NOT(conditie) — inverseaza rezultatul
IF imbricat — mai multe IF-uri unul in altul, pentru trei sau mai multe categorii
IFS(c1; r1; c2; r2; ...) — aceeasi idee, scrisa "plat", fara paranteze imbricate
IFERROR(formula; valoare_de_rezerva) — prinde erorile de calcul si le inlocuieste cu ceva citibil

O grila de decizie completa, pusa cap la cap:

Pentru fisa de exploatare forestiera, o formula finala ar putea combina mai multe idei din lectie. Atentie insa: o comparatie intre text si numar (de exemplu "abc">45) NU produce o eroare in Excel — ordinea de comparare a Excel considera orice text mai mare decat orice numar, deci IFERROR singur NU prinde acest caz. Solutia corecta verifica intai daca celula chiar contine un numar, cu functia ISNUMBER:
=IF(ISNUMBER(B2);IFS(B2<20;"Puiet";AND(B2>=20;B2<=45);"Selectiva cu aviz";B2>45;"Libera cu marcaj");"Verifica masuratoarea")
Pas cu pas: ISNUMBER(B2) da ADEVARAT doar daca B2 contine efectiv un numar. Daca da, IF trece la IFS, care alege categoria pe baza pragurilor. Daca B2 contine text (de exemplu cineva a scris "n/a" in loc de o masuratoare), ISNUMBER(B2) da FALS, iar formula afiseaza direct "Verifica masuratoarea", fara sa mai incerce nicio comparatie numerica.
IFERROR ramane util, dar pentru altceva: erori de calcul reale, de exemplu #DIV/0! sau #N/A intr-o alta formula din fisa. Pentru "text in loc de numar" solutia corecta e ISNUMBER, nu IFERROR.

Conexiune cu urmatoarea lectie:

Ai invatat sa iei decizii pe baza unei valori dintr-o singura celula. In lectia urmatoare vei invata functiile de cautare si referinta (precum VLOOKUP/XLOOKUP) — cum gasesti automat o informatie asociata unei valori (de exemplu, pretul unui produs dupa codul lui) intr-un tabel mare, fara sa cauti manual randul cu ochii.

De retinut pentru activitatile practice:

IF are mereu trei parti: conditie, rezultat-daca-adevarat, rezultat-daca-fals.
AND = si toate; OR = macar una; NOT = pe dos.
La IF imbricat sau IFS pe intervale, ordinea conditiilor conteaza — testeaza pe valori de proba din fiecare categorie.
IFERROR prinde erori de afisare (#DIV/0!, #N/A), nu inlocuieste gandirea logica din spatele formulei.

Exercitii practice

Exercitiul 1 (Nivel minim) — IF simplu la o masuratoare de mediu

Intr-o fisa de monitorizare a calitatii aerului, celula B2 contine concentratia de pulberi in suspensie (PM10), masurata in µg/m³: B2 = 55. Pragul legal de alerta folosit in exemplul nostru este 50 µg/m³. Scrie o formula IF care afiseaza "Peste prag" daca valoarea depaseste 50, si "In limite" altfel. Precizeaza ce rezultat da formula ta pentru B2 = 55 si explica de ce.

Vezi rezolvarea

Date: B2 = 55 (PM10), pragul legal = 50.

Formula: =IF(B2>50;"Peste prag";"In limite")

Pentru B2 = 55: Excel testeaza conditia 55>50 -> ADEVARAT, deci formula alege primul rezultat si afiseaza Peste prag. Daca B2 ar fi fost, de exemplu, 42, conditia 42>50 ar fi FALS si formula ar afisa al doilea rezultat, In limite.

Atentie: enuntul cere strict depasirea pragului, nu atingerea lui, deci operatorul corect ramane >, nu >=.

Exercitiul 2 (Nivel standard) — Grila de decizie cu AND si IF imbricat

La un depozit de piese auto, o piesa e acceptata la receptie doar daca greutatea (coloana B) e intre 480 si 520 grame SI codul de lot (coloana C) incepe corect (presupunem ca ai deja o coloana D cu ADEVARAT/FALS pentru validarea codului). Pentru randul curent: B2 = 505, D2 = ADEVARAT. Scrie o formula IF care combina AND intre conditia de greutate (B2 intre 480 si 520) si conditia de cod (D2) si afiseaza "Acceptata" sau "Respinsa". Precizeaza rezultatul pentru datele date, pas cu pas.

Vezi rezolvarea

Date: B2 = 505 (greutate), D2 = ADEVARAT (cod deja validat).

Formula: =IF(AND(B2>=480;B2<=520;D2);"Acceptata";"Respinsa")

Pas cu pas: AND evalueaza trei conditii - B2>=480 -> 505>=480 ADEVARAT; B2<=520 -> 505<=520 ADEVARAT; D2 -> ADEVARAT (e deja o valoare logica, nu mai trebuie comparata cu nimic). Toate trei fiind ADEVARAT, AND intoarce ADEVARAT, iar IF alege primul rezultat: Acceptata.

Daca oricare dintre cele trei conditii ar fi fost FALS, AND ar fi dat FALS si rezultatul ar fi fost Respinsa.

Exercitiul 3 (Nivel performanta) — Grila completa pe trei intervale, cu protectie la erori

Un ocol silvic clasifica arborii masurati dupa diametrul de baza (coloana B, in cm) astfel: sub 20 cm = "Puiet"; intre 20 si 45 cm inclusiv = "Selectiva"; peste 45 cm = "Libera". In plus, pe unele randuri diametrul nu a fost masurat corect si celula contine text in loc de numar (in Excel o comparatie intre text si numar NU produce o eroare — deci nu poti prinde acest caz cu IFERROR; ai nevoie de ISNUMBER, ca la ATOM 7). Scrie o singura formula, folosind ISNUMBER impreuna cu IFS (sau IF imbricat, la alegere), care: (a) incadreaza corect diametrul in cele trei categorii, respectand limitele inclusive corect (atentie la valorile de granita 20 si 45 — verifica-le explicit), si (b) afiseaza textul "Verifica masuratoarea" daca celula B2 nu contine un numar. Testeaza-ti formula mental pe patru valori: B2 = 18, B2 = 20, B2 = 45, B2 = 60, si precizeaza rezultatul pentru fiecare.

Vezi rezolvarea

Nivel performanta - schita, nu formula gata scrisa:

  1. Ordinea testelor conteaza: ISNUMBER(B2) trebuie verificat primul, inaintea comparatiilor numerice (B2<20 etc.) - daca testezi comparatiile intai, Excel compara text cu numar fara eroare vizibila, dar rezultatul e gresit, nu Verifica masuratoarea.
  2. Structura recomandata (IFS sau IF imbricat, la alegere): prima pereche conditie-rezultat = NOT(ISNUMBER(B2)) -> Verifica masuratoarea; urmatoarele perechi testeaza B2<20, apoi B2<=45, apoi cazul ramas Libera.
  3. Capcana de granita: foloseste <= la 45, nu <, altfel diametrul exact 45 pica in categoria gresita.

Criterii de evaluare: o singura formula, ISNUMBER testat inaintea comparatiilor, granitele 20 si 45 tratate inclusiv. Testeaza singur formula pe B2=18, 20, 45, 60 - daca vreun rezultat nu e cel asteptat, ordinea testelor sau operatorul de comparatie e gresit.

Ce ai invatat astazi

  • IF(conditie; adevarat; fals) alege intre doua rezultate pe baza unei singure conditii
  • AND cere ca toate conditiile din interior sa fie adevarate; OR cere ca macar una sa fie adevarata
  • NOT inverseaza o conditie (adevarat devine fals si invers)
  • IF imbricat testeaza conditiile in ordine si se opreste la prima adevarata — ordinea pragurilor conteaza
  • IFS scrie aceleasi reguli pe intervale mai citibil, fara paranteze imbricate, dar cere conditie explicita pentru fiecare caz
  • IFERROR prinde erorile de afisare (#DIV/0!, #N/A) si le inlocuieste cu o valoare aleasa de tine
  • Greseala tipica: conditii puse in ordine inconsecventa la IF imbricat — se repara testand valori din fiecare categorie

Vrei mai mult?

AND, OR si NOT au o sora mai putin cunoscuta, XOR (disponibila din Excel 2013) — adevarat doar cand EXACT una dintre doua conditii e adevarata, nu ambele si nu niciuna.

  • Provocare: o piesa are doua verificari independente: vizuala (coloana D, ADEVARAT/FALS) si cu instrument (coloana E, ADEVARAT/FALS). Regula: daca EXACT una dintre ele trece, piesa merge la reverificare manuala (caz suspect); daca ambele coincid (ambele ADEVARAT sau ambele FALS), decizia e clara. Scrie =IF(XOR(D2;E2);"Reverifica manual";"Decizie clara") si testeaz-o cu D2=ADEVARAT/E2=FALS, apoi cu D2=ADEVARAT/E2=ADEVARAT.
  • De ce? IF imbricat se opreste la PRIMA conditie adevarata si ignora tot restul. La incadrarea copacilor (Puiet/Selectiva/Libera), ce s-ar schimba daca ai inversa ordinea, testand intai "peste 45" si abia apoi "sub 20"?
  • Deschidere: exact acest mecanism — IF imbricat pe praguri succesive — sta la baza scoringului de credit bancar: venitul si vechimea in munca trec prin praguri care decid automat daca cererea e aprobata, trimisa la analist uman sau respinsa. In lectia urmatoare vei aduce pragurile insele dintr-un tabel, cu VLOOKUP, in loc sa le scrii fix in formula.

Urmatoarea lectie

Continua cu Functii de cautare si referinta — cum gasesti automat o informatie dintr-un tabel mare pe baza unei valori cunoscute, fara sa cauti manual randul cu ochii.

Continua →