Cuprins
Tutorialul arată cum să creați mai multe declarații IF în Excel cu logica AND și OR. De asemenea, veți învăța cum să utilizați IF împreună cu alte funcții Excel.
În prima parte a tutorialului nostru Excel IF, am văzut cum să construim o instrucțiune IF simplă cu o singură condiție pentru text, numere, date, spații libere și spații libere. Cu toate acestea, pentru o analiză puternică a datelor, este posibil să aveți nevoie de multe ori să evaluați mai multe condiții în același timp. Exemplele de formule de mai jos vă vor arăta cele mai eficiente moduri de a face acest lucru.
Cum se utilizează funcția IF cu condiții multiple
În esență, există două tipuri de Formula IF cu criterii multiple bazate pe logica AND / OR Prin urmare, în testul logic al formulei IF, trebuie să utilizați una dintre aceste funcții:
- Funcția AND - returnează TRUE dacă toate condițiile sunt îndeplinite; în caz contrar, FALSE.
- Funcția OR - returnează TRUE dacă orice condiție unică este îndeplinită; în caz contrar, FALSE.
Pentru a ilustra mai bine acest aspect, să analizăm câteva exemple de formule din viața reală.
Instrucțiunea Excel IF cu condiții multiple (logica AND)
Formula generică a Excel IF cu două sau mai multe condiții este următoarea:
IF(AND( condiție1 , condiție2 , ...), value_if_true, value_if_false)Tradusă într-un limbaj uman, formula spune: Dacă condiția 1 este adevărată ȘI condiția 2 este adevărată, returnează value_if_true ; else return value_if_false .
Să presupunem că aveți un tabel care listează notele de la două teste în coloanele B și C. Pentru a trece examenul final, un student trebuie să aibă ambele note mai mari de 50.
Pentru testul logic, utilizați următoarea instrucțiune AND: AND(B2>50, C2>50)
Dacă ambele condiții sunt adevărate, formula va returna "Pass"; dacă una dintre condiții este falsă - "Fail".
=IF(AND(AND(B2>50, B2>50), "Pass", "Fail")
Ușor, nu-i așa? Captura de ecran de mai jos dovedește că formula noastră Excel IF /AND funcționează corect:
Într-un mod similar, puteți utiliza funcția Excel IF cu mai multe condiții de text .
De exemplu, pentru a afișa "Bun" dacă atât B2 cât și C2 sunt mai mari de 50, "Rău" în caz contrar, formula este:
=IF(AND(AND(B2="pass", C2="pass"), "Bun!", "Rău")
Notă importantă! Funcția AND verifică toate condițiile Acest comportament este puțin neobișnuit, deoarece în majoritatea limbajelor de programare, condițiile ulterioare nu sunt testate dacă oricare dintre testele anterioare a returnat FALSE.
În practică, o instrucțiune IF aparent corectă poate duce la o eroare din cauza acestei specificități. De exemplu, formula de mai jos ar returna #DIV/0! (eroare de "împărțire la zero") dacă celula A2 este egală cu 0:
=IF(AND(AND(A20, (1/A2)>0.5), "Bun", "Rău")
Pentru a evita acest lucru, trebuie să utilizați o funcție IF imbricata:
=IF(A20, IF((1/A2)>0.5, "Bun", "Rău"), "Rău")
Pentru mai multe informații, consultați formula IF AND în Excel.
Funcția Excel IF cu condiții multiple (logică OR)
Pentru a face un lucru dacă orice condiție este îndeplinită, altfel faceți altceva, utilizați această combinație a funcțiilor IF și OR:
IF(OR( condiție1 , condiție2 , ...), value_if_true, value_if_false)Diferența față de formula IF / AND discutată mai sus este că Excel returnează TRUE dacă oricare dintre condițiile specificate este adevărată.
Așadar, dacă în formula anterioară folosim OR în loc de AND:
=IF(OR(B2>50, B2>50), "Pass", "Fail")
Apoi, oricine are mai mult de 50 de puncte la oricare dintre cele două examene va primi "Pass" în coloana D. Cu astfel de condiții, elevii noștri au mai multe șanse să treacă examenul final (Yvette fiind deosebit de ghinionistă, nereușind să pice la doar 1 punct :)
Sfat: În cazul în care creați un declarație IF multiplă cu text și testarea unei valori într-o celulă cu logica OR (adică o celulă poate fi "aceasta" sau "aceea"), atunci puteți construi o formulă mai compactă folosind o constantă de matrice.
De exemplu, pentru a marca o vânzare ca fiind "închisă" dacă în celula B2 se află fie "livrat", fie "plătit", formula este:
=IF(OR(OR(B2={"livrat", "plătit"})), "Închis", "")
Mai multe exemple de formule pot fi găsite în Excel Funcția IF OR.
IF cu mai multe declarații AND & OR
În cazul în care sarcina dumneavoastră necesită evaluarea mai multor seturi de condiții multiple, va trebui să utilizați ambele funcții AND & OR la un moment dat.
În exemplul nostru de tabel, să presupunem că aveți următoarele criterii de verificare a rezultatelor examenelor:
- Condiția 1: exam1>50 și exam2>50
- Condiția 2: exam1>40 și exam2>60
În cazul în care este îndeplinită oricare dintre aceste condiții, examenul final se consideră promovat.
La prima vedere, formula pare puțin complicată, dar de fapt nu este! Trebuie doar să exprimați fiecare dintre condițiile de mai sus sub forma unei declarații AND și să le aninați în funcția OR (deoarece nu este necesar să se îndeplinească ambele condiții, oricare dintre ele este suficientă):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Apoi, utilizați funcția OR pentru testul logic al IF și furnizați rezultatul dorit. value_if_true și value_if_false Ca rezultat, veți obține următoarea formulă IF cu mai multe condiții AND / OR:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")
Captura de ecran de mai jos indică faptul că am făcut formula corect:
Bineînțeles, nu sunteți limitat la utilizarea a doar două funcții AND/OR în formulele IF. Puteți utiliza oricâte dintre acestea necesită logica de afaceri, cu condiția ca:
- În Excel 2007 și versiunile ulterioare, nu aveți mai mult de 255 de argumente, iar lungimea totală a formulei IF nu depășește 8.192 de caractere.
- În Excel 2003 și versiunile ulterioare, nu există mai mult de 30 de argumente, iar lungimea totală a formulei IF nu depășește 1.024 de caractere.
Instrucțiunea IF imbricate pentru a verifica mai multe teste logice
Dacă doriți să evaluați mai multe teste logice în cadrul unei singure formule, atunci puteți anina mai multe funcții una în alta. Astfel de funcții se numesc funcții IF imbricate Acestea se dovedesc deosebit de utile atunci când doriți să returnați valori diferite în funcție de rezultatele testelor logice.
Iată un exemplu tipic: să presupunem că doriți să calificați realizările elevilor ca fiind " Bun ", " Satisfăcător " și " Săracul ", pe baza următoarelor punctaje:
- Bun: 60 sau mai mult (>=60)
- Satisfăcător: între 40 și 60 (>40 și <60)
- Slab: 40 sau mai puțin (<=40)
Înainte de a scrie o formulă, luați în considerare ordinea funcțiilor pe care urmează să le aninați. Excel va evalua testele logice în ordinea în care apar în formulă. Odată ce o condiție este evaluată la TRUE, condițiile următoare nu sunt testate, ceea ce înseamnă că formula se oprește după primul rezultat TRUE.
În cazul nostru, funcțiile sunt aranjate de la cea mai mare la cea mai mică:
=IF(B2>=60, "Bun", IF(B2>40, "Satisfăcător", "Slab"))
Firește, dacă este necesar, puteți anina mai multe funcții (până la 64 în versiunile moderne).
Pentru mai multe informații, consultați Cum se utilizează mai multe instrucțiuni IF imbricate în Excel.
Excel IF formula de matrice IF cu condiții multiple
O altă modalitate de a face ca un Excel IF să testeze mai multe condiții este utilizarea unei formule de matrice.
Pentru a evalua condițiile cu ajutorul logicii AND, utilizați asterisc:
IF( condiție1 ) * ( condiție2 ) * ..., value_if_true, value_if_false)Pentru a testa condițiile cu ajutorul logicii OR, utilizați semnul plus:
IF( condiție1 ) + ( condiție2 ) + ..., value_if_true, value_if_false)Pentru a finaliza corect o formulă de matrice, apăsați împreună tastele Ctrl + Shift + Enter. În Excel 365 și Excel 2021, acest lucru funcționează și ca o formulă obișnuită datorită suportului pentru matricele dinamice.
De exemplu, pentru a obține "Pass" dacă atât B2 cât și C2 sunt mai mari de 50, formula este:
=IF((B2>50) * (C2>50), "Pass", "Fail")
În Excel 365 al meu, o formulă normală funcționează foarte bine (după cum puteți vedea în capturile de ecran de mai sus). În Excel 2019 și versiunile inferioare, nu uitați să o transformați într-o formulă de matrice utilizând comanda rapidă Ctrl + Shift + Enter.
Pentru a evalua mai multe condiții cu ajutorul logicii OR, formula este:
=IF((B2>50) + (C2>50), "Pass", "Fail")
Utilizarea IF împreună cu alte funcții
Această secțiune explică modul de utilizare a funcției IF în combinație cu alte funcții Excel și ce beneficii vă oferă acest lucru.
Exemplul 1. În cazul unei erori #N/A în VLOOKUP
Atunci când VLOOKUP sau altă funcție de căutare nu poate găsi ceva, returnează o eroare #N/A. Pentru ca tabelele dvs. să arate mai bine, puteți returna zero, spațiu gol sau un text specific dacă #N/A. Pentru aceasta, utilizați această formulă generică:
IF(ISNA(VLOOKUP(...)), valoare_dacă_na , VLOOKUP(....))De exemplu:
În cazul în care #N/A se returnează 0:
În cazul în care valoarea de căutare din E1 nu este găsită, formula returnează zero.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
În cazul în care #N/A, trimiteți un spațiu gol:
Dacă valoarea de căutare nu este găsită, formula nu returnează nimic (un șir de caractere gol).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
În cazul în care #N/A se returnează un anumit text:
Dacă valoarea de căutare nu este găsită, formula returnează un text specific.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))
Pentru mai multe exemple de formule, vă rugăm să consultați VLOOKUP cu instrucțiunea IF în Excel.
Exemplul 2. IF cu funcțiile SUM, AVERAGE, MIN și MAX
Pentru a însuma valorile celulelor pe baza anumitor criterii, Excel oferă funcțiile SUMIF și SUMIFS.
În unele situații, logica de afaceri poate necesita includerea funcției SUM în testul logic al IF. De exemplu, pentru a returna etichete de text diferite în funcție de suma valorilor din B2 și C2, formula este:
=IF(SUM(B2:C2)>130, "Bun", IF(SUM(B2:C2)>110, "Satisfăcător", "Slab"))
Dacă suma este mai mare de 130, rezultatul este "bun"; dacă este mai mare de 110 - "satisfăcător", dacă 110 sau mai mic - "slab".
În mod similar, puteți încorpora funcția AVERAGE în testul logic al funcției IF și să returnați etichete diferite în funcție de scorul mediu:
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfăcător", "Poor"))
Presupunând că scorul total se află în coloana D, puteți identifica cea mai mare și cea mai mică valoare cu ajutorul funcțiilor MAX și MIN:
=IF(D2=MAX($D$2:$D$10), "Cel mai bun rezultat", "")
=IF(D2=MAX($D$2:$D$10), "Cel mai bun rezultat", "")
Pentru a avea ambele etichete într-o singură coloană, aninați funcțiile de mai sus una în alta:
=IF(D2=MAX($D$2:$D$10), "Cel mai bun rezultat", IF(D2=MIN($D$2:$D$10), "Cel mai prost rezultat", "")))
De asemenea, puteți utiliza IF împreună cu funcțiile dvs. personalizate. De exemplu, îl puteți combina cu GetCellColor sau GetCellFontColor pentru a returna rezultate diferite în funcție de culoarea unei celule.
În plus, Excel oferă o serie de funcții pentru a calcula date pe baza unor condiții. Pentru exemple detaliate de formule, vă rugăm să consultați următoarele tutoriale:
- COUNTIF - numără celulele care îndeplinesc o condiție
- COUNTIFS - numără celulele cu criterii multiple
- SUMIF - însumează condiționat celulele
- SUMIFS - însumează celule cu mai multe criterii
Exemplul 3. IF cu ISNUMBER, ISTEXT și ISBLANK
Pentru a identifica textul, numerele și celulele goale, Microsoft Excel oferă funcții speciale, cum ar fi ISTEXT, ISNUMBER și ISBLANK. Prin plasarea acestora în testele logice a trei instrucțiuni IF imbricate, puteți identifica toate tipurile de date diferite dintr-o singură dată:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", ""))))
Exemplul 4. IF și CONCATENATE
Pentru a afișa rezultatul funcției IF și un text într-o singură celulă, utilizați împreună funcțiile CONCATENATE sau CONCAT (în Excel 2016 - 365) și IF. De exemplu:
=CONCATENATE("Ai performat ", IF(B1>100, "fantastic!", IF(B1>50, "bine", "slab"))))
=CONCAT("Ai performat ", IF(B1>100, "fantastic!", IF(B1>50, "bine", "slab"))))
Dacă vă uitați la captura de ecran de mai jos, nu veți avea nevoie de nicio explicație cu privire la ceea ce face această formulă:
Formula IF ISERROR / ISNA în Excel
Versiunile moderne ale Excel au funcții speciale pentru a capta erorile și a le înlocui cu un alt calcul sau cu o valoare predefinită - IFERROR (în Excel 2007 și versiunile ulterioare) și IFNA (în Excel 2013 și versiunile ulterioare). În versiunile anterioare ale Excel, puteți utiliza în schimb combinațiile IF ISERROR și IF ISNA.
Diferența constă în faptul că IFERROR și ISERROR gestionează toate erorile posibile în Excel, inclusiv #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! și #NULL!, în timp ce IFNA și ISNA sunt specializate numai pe erorile #N/A.
De exemplu, pentru a înlocui eroarea "divide cu zero" (#DIV/0!) cu textul dvs. personalizat, puteți utiliza următoarea formulă:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
Și asta este tot ce am de spus despre utilizarea funcției IF în Excel. Vă mulțumesc pentru lectură și sper să ne vedem pe blog săptămâna viitoare!
Caietul de practică pentru descărcare
Excel IF criterii multiple - exemple (fișier .xlsx)