Functia IF — prima decizie automata
=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.
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".
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.
AND si OR — combinarea mai multor conditii
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.
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.
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.
NOT — inversarea unei conditii
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".
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.
IF imbricat — incadrarea pe trei sau mai multe intervale
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".
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.
IFS — aceeasi decizie, mai usor de citit
=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.
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.
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.
IFERROR — cand formula da eroare in loc de rezultat
#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)
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 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.
Recapitulare si conexiuni
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
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.
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.
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.