Cuprins
În acest articol, veți învăța cum să construiți o instrucțiune Excel IF pentru diferite tipuri de valori, precum și cum să creați mai multe instrucțiuni IF.
IF este una dintre cele mai populare și utile funcții din Excel. În general, utilizați o instrucțiune IF pentru a testa o condiție și pentru a returna o valoare dacă condiția este îndeplinită și o altă valoare dacă condiția nu este îndeplinită.
În acest tutorial, vom învăța sintaxa și utilizările comune ale funcției Excel IF, apoi vom examina mai îndeaproape exemple de formule care, sperăm, se vor dovedi utile atât pentru începători, cât și pentru utilizatorii experimentați.
Funcția IF în Excel
IF este una dintre funcțiile logice care evaluează o anumită condiție și returnează o valoare dacă condiția este TRUE și o altă valoare dacă condiția este FALSE.
Sintaxa funcției IF este următoarea:
IF(test_logic, [value_if_true], [value_if_false])După cum vedeți, IF primește în total 3 argumente, dar numai primul este obligatoriu, celelalte două fiind opționale.
Test_logic (obligatoriu) - condiția care trebuie testată. Poate fi evaluată ca TRUE sau FALSE.
Valoare_if_true (opțional) - valoarea care se returnează atunci când testul logic este evaluat la TRUE, adică atunci când condiția este îndeplinită. Dacă este omisă, se va utiliza value_if_false trebuie să fie definit.
Valoare_if_false (opțional) - valoarea care se returnează atunci când testul logic se evaluează la FALSE, adică atunci când condiția nu este îndeplinită. Dacă se omite, se va utiliza value_if_true trebuie să fie setat.
Formula de bază IF în Excel
Pentru a crea un simplu Dacă atunci în Excel, iată ce trebuie să faceți:
- Pentru test_logic , scrieți o expresie care returnează fie TRUE, fie FALSE. Pentru aceasta, în mod normal, veți folosi unul dintre operatorii logici.
- Pentru value_if_true , specificați ce se returnează atunci când testul logic este evaluat la TRUE.
- Pentru value_if_false , specificați ce se returnează atunci când testul logic se evaluează la FALSE. Deși acest argument este opțional, vă recomandăm să îl configurați întotdeauna pentru a evita rezultate neașteptate. Pentru explicații detaliate, consultați Excel IF: lucruri de știut.
Ca exemplu, să scriem o formulă IF foarte simplă care verifică o valoare din celula A2 și returnează "Bun" dacă valoarea este mai mare de 80, "Rău" în caz contrar:
=IF(B2>80, "Bun", "Rău")
Această formulă ajunge la C2, apoi este copiată până la C7:
În cazul în care doriți să returnați o valoare numai atunci când condiția este îndeplinită (sau nu este îndeplinită), iar în caz contrar - nimic, atunci utilizați un șir gol ("") pentru argumentul "nedefinit". De exemplu:
=IF(B2>80, "Good", "")
Această formulă va returna "Bun" dacă valoarea din A2 este mai mare de 80, iar în caz contrar, o celulă goală:
Excel Dacă atunci formula: lucruri de știut
Deși ultimii doi parametri ai funcției IF sunt opționali, formula dvs. poate produce rezultate neașteptate dacă nu cunoașteți logica de bază.
Dacă value_if_true este omis
Dacă cel de-al doilea argument al formulei IF din Excel este omis (adică există două virgule consecutive după testul logic), veți obține zero (0) atunci când condiția este îndeplinită, ceea ce nu are sens în majoritatea cazurilor. Iată un exemplu de astfel de formulă:
=IF(B2>80, , "Bad")
Pentru a returna în schimb o celulă goală, furnizați un șir de caractere gol (""") pentru al doilea parametru, după cum urmează:
=IF(B2>80, "", "Bad")
Captura de ecran de mai jos demonstrează diferența:
În cazul în care value_if_false este omis
Omiterea celui de-al treilea parametru din IF va produce următoarele rezultate atunci când testul logic este evaluat la FALSE.
Dacă există doar o paranteză de închidere după value_if_true , funcția IF va returna valoarea logică FALSE. Destul de neașteptat, nu-i așa? Iată un exemplu de astfel de formulă:
=IF(B2>80, "Bun")
Introduceți o virgulă după value_if_true va forța Excel să returneze 0, ceea ce nu are nici el prea mult sens:
=IF(B2>80, "Bun",)
Cea mai rezonabilă abordare este utilizarea unui șir de lungime zero ("") pentru a obține o celulă goală atunci când condiția nu este îndeplinită:
=IF(B2>80, "Good", "")
Sfat. Pentru a returna o valoare logică atunci când condiția specificată este îndeplinită sau nu este îndeplinită, furnizați TRUE pentru value_if_true și FALSE pentru value_if_false Pentru ca rezultatele să fie valori booleene pe care alte funcții Excel să le poată recunoaște, nu includeți TRUE și FALSE între ghilimele duble, deoarece acest lucru le va transforma în valori normale de text.
Utilizarea funcției IF în Excel - exemple de formule
Acum că sunteți familiarizat cu sintaxa funcției IF, să ne uităm la câteva exemple de formule și să învățăm cum să folosim Dacă atunci declarații în scenarii din viața reală.
Funcția Excel IF cu numere
Pentru a construi o instrucțiune IF pentru numere, utilizați operatori logici precum:
- Egal cu (=)
- Nu este egal cu ()
- Mai mare decât (>)
- Mai mare sau egal cu (>=)
- Mai puțin decât (<)
- Mai mic sau egal cu (<=)
Mai sus, ați văzut deja un exemplu de astfel de formulă care verifică dacă un număr este mai mare decât un anumit număr.
Și iată o formulă care verifică dacă o celulă conține un element număr negativ :
=IF(B2<0, "Invalid", "")
Pentru numerele negative (care sunt mai mici decât 0), formula returnează "Invalid"; pentru zerouri și numere pozitive - o celulă goală.
Funcția Excel IF cu text
În mod obișnuit, se scrie o instrucțiune IF pentru valorile textului folosind fie operatorul "egal cu", fie operatorul "nu este egal cu".
De exemplu, următoarea formulă verifică Starea livrării în B2 pentru a determina dacă este necesară sau nu o acțiune:
=IF(B2="livrat", "Nu", "Da")
Tradusă în engleză, formula spune: returnează "Nu" dacă B2 este egal cu "livrat", "Da" în caz contrar.
O altă modalitate de a obține același rezultat este de a utiliza operatorul "not equal to" și de a schimba value_if_true și value_if_false valori:
=IF(C2 "livrat", "Da", "Nu")
Note:
- Atunci când folosiți valori text pentru parametrii IF, nu uitați să le includeți întotdeauna între ghilimele duble .
- La fel ca majoritatea celorlalte funcții Excel, IF nu ține cont de majuscule și minuscule în mod implicit În exemplul de mai sus, nu se face nicio diferență între "delivered", "Delivered" și "DELIVERED".
Instrucțiune IF sensibilă la majuscule și minuscule pentru valori text
Pentru a trata literele majuscule și minuscule ca fiind caractere diferite, utilizați IF în combinație cu funcția EXACT, care ține cont de majuscule și minuscule.
De exemplu, pentru a returna "Nu" numai atunci când B2 conține "DELIVERED" (majusculă), se va utiliza această formulă:
=IF(EXACT(B2, "DELIVERED"), "Nu", "Da")
Dacă celula conține text parțial
În situația în care doriți să bazați condiția pe potrivire parțială mai degrabă decât o potrivire exactă, o soluție imediată care vine în minte este utilizarea caracterelor joker în testul logic. Cu toate acestea, această abordare simplă și evidentă nu va funcționa. Multe funcții acceptă caractere joker, dar, din păcate, IF nu este una dintre ele.
O soluție funcțională este utilizarea IF în combinație cu ISNUMBER și SEARCH (fără deosebire de majuscule și minuscule) sau FIND (cu deosebire de majuscule și minuscule).
De exemplu, în cazul în care este necesară acțiunea "Nu" atât pentru articolele "Livrat", cât și pentru cele "În curs de livrare", următoarea formulă va funcționa foarte bine:
=IF(ISNUMBER(SEARCH("deliv", B2)), "Nu", "Da")
Pentru mai multe informații, vă rugăm să consultați:
- Instrucțiunea Excel IF pentru potrivirea parțială a textului
- Dacă celula conține atunci
Excel Instrucțiune IF cu date
La prima vedere, se poate părea că formulele IF pentru date sunt asemănătoare instrucțiunilor IF pentru valori numerice și text. Din păcate, nu este așa. Spre deosebire de multe alte funcții, IF nu recunoaște datele în testele logice și le interpretează ca simple șiruri de text. Cu alte cuvinte, nu puteți furniza o dată sub forma "1/1/2020" sau ">1/1/2020". Pentru ca funcția IF să recunoască o dată, trebuie să o înfășurați înfuncția DATEVALUE.
De exemplu, iată cum puteți verifica dacă o anumită dată este mai mare decât o altă dată:
=IF(B2>DATEVALUE("7/18/2022")), "În curând", "Completat")
Această formulă evaluează datele din coloana B și returnează "În curând" dacă un joc este programat pentru 18-iul-2022 sau mai târziu, "Terminat" pentru o dată anterioară.
Desigur, nimic nu vă împiedică să introduceți data țintă într-o celulă predefinită (de exemplu, E2) și să faceți trimitere la acea celulă. Amintiți-vă doar să blocați adresa celulei cu semnul $ pentru a o transforma într-o referință absolută. De exemplu:
=IF(B2>$E$2, "Coming soon", "Completed")
Pentru a compara o dată cu data curentă , utilizați funcția TODAY(). De exemplu:
=IF(B2>TODAY(), "Coming soon", "Completed")
Instrucțiunea Excel IF pentru spații libere și spații libere
Dacă doriți să marcați cumva datele pe baza faptului că o anumită celulă (sau celule) este goală sau nu este goală, puteți fie:
- Folosiți funcția IF împreună cu ISBLANK, sau
- Folosiți expresiile logice (egal cu gol) sau "" (diferit de gol).
Tabelul de mai jos explică diferența dintre aceste două abordări prin exemple de formule.
Test logic | Descriere | Exemplu de formulă | |
Celule goale | ="" | Evaluează la TRUE dacă o celulă este goală din punct de vedere vizual, chiar dacă conține un element șir de lungime zero . În caz contrar, se evaluează la FALSE. | =IF(A1="", 0, 1) |
Se returnează 0 dacă A1 este vizual gol, altfel se returnează 1.
Dacă A1 conține un șir gol (""), formula returnează 0.
Evaluează la TRUE dacă o celulă conține absolut nimic - fără formule, fără spații, fără șiruri goale.
În caz contrar, se evaluează la FALSE.
Se returnează 0 dacă A1 este absolut gol, 1 în caz contrar.
Dacă A1 conține un șir gol (""), formula returnează 1.
Celule cu șiruri de lungime zero sunt considerate gol .
Se returnează 1 dacă A1 nu este alb; în caz contrar, 0.
Dacă A1 conține un șir gol, formula returnează 0.
Celule cu șiruri de lungime zero sunt considerate fără spații libere .
Funcționează la fel ca formula de mai sus, dar returnează 1 dacă A1 conține un șir gol.
Și acum, să vedem în acțiune propozițiile IF goale și non-goale. Să presupunem că aveți o dată în coloana B numai dacă un joc a fost deja jucat. Pentru a eticheta jocurile finalizate, utilizați una dintre aceste formule:
=IF(B2="", "", "Completat")
=IF(ISBLANK(B2), "", "Completat")
=IF($B2"", "Completat", "")
=IF(ISBLANK($B2)=FALSE, "Completed", "")
În cazul în care celulele testate nu au șiruri de lungime zero, toate formulele vor returna exact aceleași rezultate:
Verifică dacă două celule sunt identice
Pentru a crea o formulă care verifică dacă două celule se potrivesc, comparați celulele folosind semnul egal (=) în testul logic IF. De exemplu:
=IF(B2=C2, "Același scor", "")
Pentru a verifica dacă cele două celule conțin același text, inclusiv literele majuscule, faceți ca formula IF să fie sensibilă la majuscule și minuscule cu ajutorul funcției EXACT.
De exemplu, pentru a compara parolele din A2 și B2, și returnează "Match" dacă cele două șiruri sunt exact la fel, "Do not match" în caz contrar, formula este:
=IF(EXACT(A2, B2), "Potrivire", "Nu se potrivește")
IF apoi formula pentru a rula o altă formulă
În toate exemplele anterioare, o instrucțiune Excel IF a returnat valori. Dar poate, de asemenea, să efectueze un anumit calcul sau să execute o altă formulă atunci când o anumită condiție este îndeplinită sau nu. Pentru aceasta, încorporați o altă funcție sau expresie aritmetică în instrucțiunea value_if_true și/sau value_if_false argumente.
De exemplu, dacă B2 este mai mare de 80, îl vom înmulți cu 7%, altfel cu 3%:
=IF(B2>80, B2*7%, B2*3%)
Instrucțiuni IF multiple în Excel
În esență, există două moduri de a scrie mai multe instrucțiuni IF în Excel:
- Îmbinarea mai multor funcții IF una în alta
- Utilizarea funcției AND sau OR în testul logic
Instrucțiunea IF imbricate
Funcțiile IF imbricate vă permit să plasați mai multe instrucțiuni IF în aceeași celulă, adică să testați mai multe condiții într-o singură formulă și să returnați valori diferite în funcție de rezultatele acestor teste.
Să presupunem că obiectivul dvs. este de a atribui diferite bonusuri în funcție de scor:
- Peste 90 - 10%
- De la 90 la 81 - 7%.
- 80 la 70 - 5%
- Mai puțin de 70 - 3%
Pentru a îndeplini această sarcină, trebuie să scrieți 3 funcții IF separate și să le aninați una în alta astfel:
=IF(B2>90, 10%, IF(B2>=81, 7%, IF(B2>=70, 5%, 3%)))
Pentru mai multe exemple de formule, vă rugăm să consultați:
- Formula IF imbricată în Excel
- Funcția IF imbricate: exemple, cele mai bune practici și alternative
Instrucțiunea Excel IF cu condiții multiple
Pentru a evalua mai multe condiții cu ajutorul logicii AND sau OR, încorporați funcția corespunzătoare în testul logic:
- AND - va returna TRUE dacă toate condițiile sunt îndeplinite.
- OR - va returna TRUE dacă orice dintre condiții este îndeplinită.
De exemplu, pentru a returna "Pass" dacă ambele scoruri din B2 și C2 sunt mai mari de 80, formula este:
=IF(AND(AND(B2>80, C2>80), "Pass", "Fail")
Pentru a obține "Pass" dacă oricare dintre punctaje este mai mare de 80, formula este:
=IF(OR(B2>80, C2>80), "Pass", "Fail")
Pentru detalii complete, vă rugăm să vizitați:
- Formula IF ȘI în Excel
- Funcția Excel IF OR cu exemple de formule
Dacă eroare în Excel
Începând cu Excel 2007, avem o funcție specială, numită IFERROR, pentru a verifica dacă există erori în formule. În Excel 2013 și versiunile ulterioare, există și funcția IFNA pentru a gestiona erorile #N/A.
Și totuși, pot exista unele circumstanțe în care utilizarea funcției IF împreună cu ISERROR sau ISNA reprezintă o soluție mai bună. Practic, IF ISERROR este formula care trebuie utilizată atunci când doriți să returnați ceva dacă există o eroare și altceva dacă nu există nicio eroare. Funcția IFERROR nu poate face acest lucru, deoarece returnează întotdeauna rezultatul formulei principale dacă nu este o eroare.
De exemplu, pentru a compara fiecare scor din coloana B cu primele 3 scoruri din E2:E4 și pentru a returna "Da" dacă se găsește o potrivire, "Nu" în caz contrar, introduceți această formulă în C2, apoi copiați-o în jos până la C7:
=IF(ISERROR(MATCH(B2, $E$2:$E$4, 0)), "Nu", "Da" )
Pentru mai multe informații, consultați formula IF ISERROR în Excel.
Sperăm că exemplele noastre v-au ajutat să vă faceți o idee despre elementele de bază ale FI Excel. Vă mulțumesc pentru lectură și sper să ne vedem pe blog săptămâna viitoare!
Caiet de practică
Excel Instrucțiunea IF - exemple de formule (fișier .xlsx)