Invatare Atomica

Expresii compuse: conditii multiple si depanarea formulelor

Cum verifici mai multe conditii deodata cu AND si OR, cand alegi IF imbricat in loc de AND/OR, cum citesti pas cu pas o formula complicata si cum gasesti greseala dintr-o formula care da rezultate ciudate

Progres lectie:
0%
🎯

De ce conteaza lectia asta

In practica, o singura conditie e rar suficienta. O proba de apa nu e conforma doar pentru ca un parametru e in limite — trebuie sa fie in limite TOTI parametrii masurati. O piesa nu e rebut doar cand e prea mica — e rebut si cand e prea mare. Aceasta lectie te invata sa combini mai multe conditii intr-o singura formula (cu AND si OR), sa alegi corect intre o formula cu conditii combinate si o formula cu IF imbricat, sa citesti pas cu pas o formula complicata inainte sa te bazezi pe ea si sa recunosti si sa repari cele mai frecvente greseli care fac o formula sa dea rezultate gresite fara niciun mesaj de eroare vizibil.

Dupa aceasta lectie vei putea:

  • Sa scrii o conditie cu mai multe criterii folosind functia AND (toate conditiile trebuie sa fie adevarate)
  • Sa scrii o conditie cu mai multe criterii folosind functia OR (este suficient ca una sa fie adevarata)
  • Sa alegi corect intre IF imbricat si AND/OR, dupa forma problemei pe care o rezolvi
  • Sa evaluezi manual, pas cu pas, o expresie compusa, inlocuind referintele cu valori reale
  • Sa recunosti cele mai frecvente greseli dintr-o formula compusa: paranteze puse gresit, AND folosit in loc de OR, referinte care s-au deplasat gresit la copiere
  • Sa corectezi o formula gresita si sa explici in cuvinte simple ce anume nu functiona

Incearca singur!

Provocare — inainte sa citesti:

Lucrezi la un punct de receptie a lemnului. Un transport de busteni se accepta la plata doar daca sunt indeplinite DOUA conditii deodata: umiditatea masurata este sub 20% SI diametrul mediu este de cel putin 18 cm. Daca oricare dintre cele doua conditii nu este indeplinita, transportul se respinge. Scrie mai jos, in cuvintele tale, cum ai verifica tu manual, pe hartie, daca un transport cu umiditatea 17% si diametrul 22 cm se accepta sau nu — si ce crezi ca s-ar intampla daca ai verifica doar una dintre cele doua conditii si ai uita-o pe cealalta.

💡 Ai nevoie de un indiciu?

Ganditi-va la un control de acces cu doua incuietori pe aceeasi usa: usa se deschide doar daca ambele chei se rasucesc corect. Daca o singura cheie e potrivita si cealalta nu, usa ramane inchisa. La fel functioneaza o conditie cu SI: toate "cheile" (conditiile) trebuie sa fie corecte deodata.

Subiectul lectiei de azi raspunde exact la aceasta intrebare: cum scrii in Excel o astfel de conditie cu mai multe criterii, deodata.

1

De la o singura conditie la mai multe criterii

Functia IF (in Excel cu interfata in romana: DACA) testeaza o singura conditie si alege intre doua rezultate: =IF(conditie; valoare_daca_adevarat; valoare_daca_fals). Daca conditie este adevarata, formula afiseaza al doilea argument; daca este falsa, afiseaza al treilea. Pana acum ai folosit IF cu o singura conditie (ex. o singura comparatie precum B2>=18).
Denumiri in engleza si in romana:

In aceasta lectie, ca si in lectiile anterioare, formulele sunt scrise cu numele functiilor in engleza (IF, AND, OR), forma cea mai des intalnita in materiale si tutoriale. Daca la tine Excel are interfata in romana, aceleasi functii se scriu cu alte nume: IF → DACA, AND → SI, OR → SAU — exact operatorii logici SI, SAU si NU pe care i-ai intalnit deja in lectia anterioara. Modul in care functioneaza si argumentele raman identice, se schimba doar numele scris in formula. Daca tastezi =AND(...) intr-un Excel romanesc, primesti eroarea #NAME? — semn ca trebuie sa scrii =SI(...).

De ce nu e suficient un singur criteriu:

In multe situatii reale ai nevoie de mai multe conditii verificate deodata. La un punct de receptie a lemnului, un transport nu se accepta doar pentru ca umiditatea e buna — trebuie SI diametrul sa fie corect. La un control de calitate al pieselor mecanice, o piesa nu e buna doar pentru ca nu e prea mica — trebuie sa nu fie nici prea mare. O singura conditie in IF nu poate exprima "ambele deodata" sau "oricare dintre ele".

Solutia — functii care combina mai multe conditii:

Excel ofera doua functii facute exact pentru asta: AND (toate conditiile trebuie sa fie adevarate) si OR (este suficient ca una singura sa fie adevarata). Rezultatul lor este mereu TRUE sau FALSE, la fel ca al oricarei conditii simple — de aceea pot fi puse direct in locul conditiei dintr-un IF. Le vezi pe rand in atomii urmatori.

2

Functia AND — toate conditiile trebuie sa fie adevarate

=AND(conditie1; conditie2; ...; conditieN) (in Excel romanesc: SI) intoarce TRUE doar daca toate conditiile din interior sunt adevarate. Daca macar una singura este falsa, intreaga functie AND devine FALSE — indiferent cate dintre celelalte sunt adevarate.
Exemplu din masuratori de mediu:

Ai o fisa cu rezultate ale unei probe de apa: in B2 pH-ul masurat, in C2 turbiditatea (masura a limpezimii apei, in NTU). Proba se declara conforma doar daca pH-ul este intre 6,5 si 8,5 SI turbiditatea este sub 5 NTU. Formula:

=IF(AND(B2>=6,5;B2<=8,5;C2<5);"Conforma";"Neconforma")

Daca B2 = 7,2 si C2 = 3,8: B2>=6,5 este adevarat, B2<=8,5 este adevarat, C2<5 este adevarat — toate trei adevarate, deci AND da TRUE, iar formula afiseaza Conforma.

Aceeasi proba, dar cu un singur parametru in afara limitelor:

Daca B2 ramane 7,2 dar C2 = 6,1 (turbiditate prea mare): B2>=6,5 adevarat, B2<=8,5 adevarat, dar C2<5 este fals (6,1 nu e mai mic decat 5). Fiindca una singura din cele trei conditii e falsa, AND da FALSE si formula afiseaza Neconforma — chiar daca pH-ul era perfect.

3

Functia OR — este suficienta o singura conditie adevarata

=OR(conditie1; conditie2; ...; conditieN) (in Excel romanesc: SAU) intoarce TRUE daca cel putin una dintre conditii este adevarata. Da FALSE doar atunci cand toate conditiile, fara exceptie, sunt false.
Exemplu din controlul pieselor mecanice:

O piesa are diametrul nominal de 20 mm, cu toleranta admisa de ±0,05 mm — adica valorile acceptate sunt intre 19,95 mm si 20,05 mm. In B2 ai diametrul masurat al piesei. Piesa este rebut daca diametrul este SUB minim SAU DEASUPRA maximului. Formula:

=IF(OR(B2<19,95;B2>20,05);"Rebut";"Bun")

Daca B2 = 20,08: B2<19,95 este fals, dar B2>20,05 este adevarat. Este suficienta o singura conditie adevarata pentru ca OR sa dea TRUE, deci formula afiseaza Rebut.

Diferenta esentiala fata de AND:

La AND, o singura conditie falsa strica tot rezultatul (rezultatul devine FALSE). La OR, o singura conditie adevarata este suficienta ca sa "salveze" rezultatul (rezultatul devine TRUE). Confundarea celor doua functii este o greseala frecventa — o revii in atomul despre depanare.

4

IF imbricat sau AND/OR — cum alegi

IF imbricat (nested IF) inseamna ca pui un IF complet in locul argumentului "valoare_daca_fals" al altui IF, obtinand mai mult de doua rezultate posibile: =IF(conditie1; rezultat1; IF(conditie2; rezultat2; rezultat3)). Se foloseste cand ai mai multe categorii pe baza aceluiasi criteriu — nu cand ai mai multe conditii simultane pentru un singur rezultat.
Cand folosesti IF imbricat — clasificare pe categorii:

Incadrarea unui bustean in clase de calitate dupa diametru: sub 20 cm = "Clasa III", intre 20 si 35 cm = "Clasa II", peste 35 cm = "Clasa I". Formula:

=IF(B2<20;"Clasa III";IF(B2<=35;"Clasa II";"Clasa I"))

Aici avem TREI rezultate posibile pentru UN singur criteriu (diametrul) — exact situatia in care IF imbricat este potrivit.

Cand folosesti AND/OR — un singur rezultat, mai multe conditii:

Daca in schimb ai vrea sa raspunzi la o singura intrebare de tip da/nu — "acest bustean se incadreaza in Clasa II SI are umiditatea sub 20%?" — ai UN singur rezultat posibil (Acceptat / Respins), dar depinde de DOUA conditii simultane. Aici e loc de AND, nu de IF imbricat:

=IF(AND(B2>=20;B2<=35;C2<20);"Acceptat";"Respins")

Cele doua nu se exclud:

Poti combina ambele intr-o singura formula mare — de exemplu un IF imbricat in care una dintre ramuri contine, la randul ei, un AND. Regula de decizie ramane simpla: numara CATE rezultate posibile ai (mai mult de doua → ai nevoie de imbricare) si CATE conditii trebuie verificate simultan pentru fiecare rezultat (mai mult de una → ai nevoie de AND sau OR).

5

Evaluarea pas cu pas a unei expresii compuse

Cand o formula are mai multe niveluri (IF care contine AND, care contine mai multe comparatii), cel mai sigur mod sa verifici daca e corecta este sa o evaluezi manual, ca un calculator: inlocuiesti fiecare referinta de celula cu valoarea ei reala, rezolvi mai intai comparatiile din interior, apoi functia AND sau OR care le contine, si abia la final IF-ul din exterior.
Exemplu complet, dus pana la rezultat:

Formula pentru acceptarea unui transport de busteni la un punct de receptie, unde B2 = diametrul mediu (cm), C2 = umiditatea (%), D2 = marcaj control fitosanitar (text "DA" sau "NU"):

=IF(AND(B2>=18;C2<=20;D2="DA");"Accepta";"Respinge")

Valori concrete: B2 = 19, C2 = 17, D2 = "DA". Evaluare pas cu pas:

Pasul 1 — inlocuiesti referintele: AND(19>=18; 17<=20; "DA"="DA")
Pasul 2 — rezolvi fiecare comparatie: 19>=18 → TRUE; 17<=20 → TRUE; "DA"="DA" → TRUE
Pasul 3 — rezolvi AND: AND(TRUE;TRUE;TRUE) → toate trei sunt adevarate → TRUE
Pasul 4 — rezolvi IF-ul din exterior: conditia AND a dat TRUE, deci formula afiseaza al doilea argument
Rezultat final: "Accepta"

De ce merita acest obicei:

O formula complicata poate parea corecta la prima vedere si totusi sa dea rezultate gresite din cauza unei singure paranteze sau a unui operator incorect. Evaluand manual, cu numere concrete, cel putin o data la constructia formulei, prinzi greselile inainte sa le foloseasca altcineva dintr-un raport oficial.

6

Depanarea unei formule gresite

O formula compusa poate fi valida sintactic (Excel o accepta, nu afiseaza niciun mesaj de eroare) si totusi sa dea rezultate gresite din punct de vedere logic. Acest tip de greseala este cel mai periculos, pentru ca nimic de pe ecran nu te avertizeaza — trebuie sa o gasesti tu, prin verificare.
Greseala 1 — AND folosit in loc de OR (sau invers):

Formula gresita: =IF(OR(B2>=18;C2<=20);"Accepta";"Respinge"), scrisa cand intentia era ca AMBELE conditii sa fie indeplinite deodata. Cum se recunoaste: apar rezultate "Accepta" si pentru linii unde una dintre conditii clar nu e indeplinita — de exemplu B2=25 (diametru bun) dar C2=45 (umiditate mult peste prag) tot apare "Accepta", pentru ca OR are nevoie de o singura conditie adevarata, iar B2>=18 e adevarata. Reparatia: inlocuiesti OR cu AND.

Greseala 2 — referinte care se deplaseaza gresit la copiere:

Cand o formula compara valori dintr-o coloana cu un prag fix, scris o singura data intr-o celula (de exemplu pragul de umiditate in B1), acea referinta trebuie fixata cu semnul $ inainte de litera coloanei si numarul liniei: $B$1. Daca ramane scrisa simplu (B1) si copiezi formula in jos pe mai multe randuri, Excel deplaseaza automat toate referintele relative — inclusiv pragul, care ar fi trebuit sa ramana neschimbat. Rezultatul: doar prima linie e corecta, iar de la a doua in jos formula compara cu celule goale sau cu alte date.

Greseala 3 — argumentele lui IF in ordine inversata:

Daca scrii =IF(B2>=18;"Respins";"Admis") in loc de =IF(B2>=18;"Admis";"Respins"), formula ramane valida sintactic, dar logica e inversata: cine indeplineste conditia e etichetat gresit. Se recunoaste cand rezultatele par "pe dos" fata de asteptari — verifica intotdeauna care argument vine dupa prima virgula (adevarat) si care dupa a doua (fals).

Metoda sigura de verificare:

Alege 2-3 randuri din datele tale cu rezultat cunoscut (unul care ar trebui clar acceptat, unul clar respins) si evalueaza formula manual, pas cu pas, ca in atomul anterior. Daca rezultatul calculat manual nu coincide cu ce afiseaza Excel, ai gasit un rand unde ceva nu e in regula — de acolo pornesti investigatia.

7

Recapitulare si conexiuni

Expresiile compuse iti permit sa muti in Excel deciziile pe care le luai manual, cu mai multe criterii deodata: AND cand toate conditiile trebuie indeplinite, OR cand este suficienta una singura, IF imbricat cand ai mai multe categorii de rezultat posibile.
Rezumat vizual al alegerii:

Un singur rezultat (da/nu), mai multe conditii simultane → AND (toate) sau OR (macar una), pus in interiorul unui IF
Mai multe rezultate posibile, pe intervale ale aceluiasi criteriu → IF imbricat
Formula complicata, rezultat neclar → evaluare manuala, pas cu pas, cu valori reale
Rezultat gresit, fara mesaj de eroare → verifica AND/OR, parantezele, referintele fixate cu $ si ordinea argumentelor din IF

Cum se leaga cele trei lectii ale modulului:

Ai parcurs acum toti cei trei piloni ai prelucrarii datelor cu operatori: Lectia 1 — operatorii aritmetici si ordinea corecta a operatiilor; Lectia 2 — operatorii relationali si logici de baza, folositi pentru a compara valori; Lectia 3 (aceasta) — combinarea lor in expresii compuse folosite zilnic in fise de lucru, evidente si rapoarte. Impreuna, aceste trei lectii iti dau instrumentele pentru orice formula de decizie intalnita la locul de munca.

De retinut pentru activitatile practice:

AND(conditie1;conditie2;...) — TRUE doar daca toate sunt adevarate.
OR(conditie1;conditie2;...) — TRUE daca macar una este adevarata.
IF imbricat — pentru mai multe categorii de rezultat, nu pentru conditii simultane.
Evaluare pas cu pas — inlocuieste referintele cu valori, rezolva din interior spre exterior.
Fixeaza pragurile cu $ ($B$1) inainte sa copiezi o formula pe mai multe randuri.

Exercitii practice

Exercitiul 1 (Nivel minim) — Evalueaza manual AND si OR

Fara sa deschizi Excel, calculeaza manual rezultatul (TRUE sau FALSE) al urmatoarelor expresii, ca si cum ai fi tu insuti programul de calcul tabelar: a) =AND(12>10;5<3) b) =OR(12>10;5<3) c) =AND(7=7;"DA"="DA";4>1) d) =OR(2>5;3>5;1>5). Pentru fiecare, scrie rezultatul si explica intr-o propozitie de ce.

Vezi rezolvarea

Evaluare pas cu pas:

  1. =AND(12>10;5<3): 12>10 este TRUE, dar 5<3 este FALSE → AND = FALSE (o singura conditie falsa strica tot rezultatul)
  2. =OR(12>10;5<3): prima conditie e TRUE → OR = TRUE (e suficienta o singura conditie adevarata)
  3. =AND(7=7;"DA"="DA";4>1): toate cele trei conditii sunt TRUE → AND = TRUE
  4. =OR(2>5;3>5;1>5): toate cele trei conditii sunt FALSE → OR = FALSE (nicio conditie adevarata)

Exercitiul 2 (Nivel standard) — Validarea unei fise de masuratori de mediu

Esti tehnician la un laborator de mediu si primesti 4 probe de apa, cu valorile: Proba 1 — pH 7,1, turbiditate 3,2 NTU; Proba 2 — pH 6,2, turbiditate 2,5 NTU; Proba 3 — pH 7,8, turbiditate 6,4 NTU; Proba 4 — pH 8,5, turbiditate 4,9 NTU. O proba este Conforma doar daca pH-ul este intre 6,5 si 8,5 (inclusiv) SI turbiditatea este sub 5 NTU. a) Scrie formula completa cu IF si AND pentru celula corespunzatoare probei 1 (presupune ca pH-ul e in coloana B si turbiditatea in coloana C, pe randul 2). b) Evalueaza manual, pas cu pas, fiecare din cele 4 probe si scrie rezultatul (Conforma/Neconforma). c) Pentru fiecare proba care iese Neconforma, explica exact care conditie a picat.

Vezi rezolvarea

a) Formula pentru proba 1: =IF(AND(B2>=6,5;B2<=8,5;C2<5);"Conforma";"Neconforma")

b) Evaluare pas cu pas pentru cele 4 probe:

  1. Proba 1 (pH 7,1; turbiditate 3,2): 7,1 e in interval, 3,2<5 → toate TRUE → Conforma
  2. Proba 2 (pH 6,2; turbiditate 2,5): 6,2>=6,5 este FALSE → Neconforma
  3. Proba 3 (pH 7,8; turbiditate 6,4): pH e in interval, dar 6,4<5 este FALSE → Neconforma
  4. Proba 4 (pH 8,5; turbiditate 4,9): 8,5<=8,5 este TRUE (limita inclusiv), 4,9<5 este TRUE → Conforma

c) Conditia care a picat: la Proba 2, pH-ul este sub minimul admis (6,5); la Proba 3, turbiditatea depaseste pragul de 5 NTU, desi pH-ul era in regula.

Exercitiul 3 (Nivel performanta) — Gaseste si repara greseala

Un coleg de la un atelier de reparatii utilaje a scris urmatoarea formula ca sa marcheze piesele defecte, unde B2 este diametrul masurat, iar toleranta admisa (fixa, pentru toate piesele) este intre 49,95 si 50,05 mm, scrisa in celulele D1 (minim) si E1 (maxim): =IF(AND(B2>=D1;B2<=E1);"Rebut";"Bun"). Formula a fost copiata pe 15 randuri (pentru 15 piese). a) Explica de ce logica din IF este inversata (indiciu: cand o piesa este in interiorul limitelor, ea ar trebui sa fie declarata buna, nu rebut) si scrie formula cu logica corectata folosind OR in loc de AND. Atentie: nu e suficient sa inlocuiesti doar numele functiei — daca pastrezi aceleasi comparatii (B2>=D1;B2<=E1) sub OR, obtii tot o formula gresita (verifica manual: o piesa buna de 50 mm da B2>=D1 adevarat, deci OR devine TRUE si piesa tot iese "Rebut" — de fapt, orice valoare va da mereu "Rebut"). Pentru ca OR sa functioneze corect aici, trebuie sa inversezi si operatorii de comparatie (din >= in <, din <= in >), nu doar sa schimbi AND in OR. b) Explica separat o a doua problema: ce se intampla cu referintele D1 si E1 dupa ce formula e copiata pe randurile 3-16, daca nu au semnul $ in fata, si scrie formula finala, corecta pe ambele probleme, gata de copiat pe toate cele 15 randuri.

Vezi rezolvarea

Schita de rezolvare, fara formula finala data direct - verific-o singur pe un caz-limita inainte sa o consideri corecta:

  1. a) AND(B2>=D1;B2<=E1) este TRUE tocmai cand piesa e IN interiorul limitelor - deci formula actuala eticheteaza gresit o piesa BUNA drept "Rebut". Nu e suficient sa schimbi AND in OR pastrand aceleasi comparatii: OR(B2>=D1;B2<=E1) ar iesi TRUE aproape mereu (orice piesa satisface macar una din cele doua). Solutia corecta cere sa inversezi SI comparatiile, ca sa prinzi piesele din AFARA limitelor: OR(B2<D1;B2>E1).
  2. b) D1 si E1 sunt praguri fixe, aceleasi pentru toate cele 15 piese; fara semnul $, la copiere in jos Excel le deplaseaza automat (D1 devine D2, D3...), stricand formula pe fiecare rand. Se fixeaza cu $D$1 si $E$1.

Formula finala trebuie sa combine ambele corectii de mai sus. Verific-o testand mental o piesa de 50 mm (in interior) - daca formula ta ii da "Rebut", mai ai o greseala.

Ce ai invatat astazi

  • AND(conditie1;conditie2;...) da TRUE doar daca TOATE conditiile sunt adevarate
  • OR(conditie1;conditie2;...) da TRUE daca CEL PUTIN UNA dintre conditii este adevarata
  • AND si OR se pun in locul conditiei dintr-un IF: =IF(AND(...);"da";"nu")
  • IF imbricat se foloseste cand ai mai multe rezultate posibile (categorii), nu conditii simultane
  • Evaluarea pas cu pas: inlocuiesti referintele cu valori, rezolvi din interior spre exterior
  • O formula poate fi valida sintactic si totusi gresita logic — fara niciun mesaj de eroare
  • Greseli tipice: AND in loc de OR (sau invers), referinte fara $ deplasate la copiere, argumentele lui IF inversate
  • Fixeaza pragurile constante cu $ ($B$1) inainte sa copiezi o formula pe mai multe randuri

Vrei mai mult?

Provocare: extinde exemplul busteanului. Reguli: daca umiditatea depaseste 25%, lotul e "Rebutat", indiferent de diametru; altfel, se incadreaza dupa diametru in Clasa III (sub 20 cm), Clasa II (20-35 cm) sau Clasa I (peste 35 cm). Scrie O SINGURA formula, combinand IF imbricat cu o conditie simpla, care rezolva ambele reguli deodata.

  • De gandit: in Excel, functia AND verifica intotdeauna TOATE conditiile din interior, chiar daca prima e deja FALS. De ce, in alte limbaje de programare (Python, C, JavaScript), operatorul echivalent lui AND se opreste din verificat imediat ce gaseste o conditie falsa?
  • Deschidere: acest comportament se numeste evaluare in scurtcircuit si e folosit deliberat in programare pentru a evita erori - de exemplu, o conditie x != 0 and 10/x > 1 nu va incerca niciodata sa imparta la zero, pentru ca prima conditie falsa opreste verificarea inainte de a ajunge la impartire.

Ai finalizat modulul

Ai parcurs toate cele trei lectii ale modulului Prelucrarea Datelor - Operatori: operatori aritmetici, operatori relationali si logici, si acum expresiile compuse care le combina pe toate. Intoarce-te la pagina modulului pentru recapitulare si pentru a vedea urmatorii pasi.

Inapoi la modul →