Cuprins
Tutorialul explică modul de utilizare a mai multor IF în Excel și oferă câteva exemple de formule If imbricate pentru cele mai comune sarcini.
Dacă cineva vă întreabă ce funcție Excel folosiți cel mai des, care ar fi răspunsul dvs.? În majoritatea cazurilor, este funcția Excel IF. O formulă If obișnuită care testează o singură condiție este foarte simplă și ușor de scris. Dar dacă datele dvs. necesită teste logice mai elaborate, cu mai multe condiții? În acest caz, puteți include mai multe funcții IF într-o singură formulă, iar aceste funcții multiple Ifse numesc Excel Nested IF Cel mai mare avantaj al instrucțiunii If imbricate este că vă permite să verificați mai multe condiții și să returnați valori diferite în funcție de rezultatele acestor verificări, toate într-o singură formulă.
Microsoft Excel are limite în ceea ce privește niveluri de IF-uri imbricate În Excel 2003 și versiunile inferioare, erau permise până la 7 niveluri. În Excel 2007 și versiunile superioare, puteți îngloba până la 64 de funcții IF într-o singură formulă.
Mai departe în acest tutorial, veți găsi câteva exemple de Excel Nested If, împreună cu o explicație detaliată a sintaxei și logicii acestora.
Exemplul 1. Formulă clasică de tip IF imbricate
Iată un exemplu tipic de Excel If cu condiții multiple. Să presupunem că aveți o listă de studenți în coloana A și notele lor la examene în coloana B și doriți să clasificați notele cu următoarele condiții:
- Excelent: Peste 249
- Bun: între 249 și 200, inclusiv
- Satisfăcător: între 199 și 150, inclusiv
- Slab: sub 150
Și acum, haideți să scriem o funcție IF imbricate pe baza criteriilor de mai sus. Este considerată o bună practică să începeți cu cea mai importantă condiție și să vă păstrați funcțiile cât mai simple posibil. Formula noastră IF imbricate din Excel este următoarea:
=IF(B2>249, "Excelent", IF(B2>=200, "Bun", IF(B2>150, "Satisfăcător", "Slab"))))
Și funcționează exact așa cum trebuie:
Înțelegerea logicii IF imbricate din Excel
I-am auzit pe unii oameni spunând că Excel multiple If îi înnebunește :) Încearcă să privești din alt unghi:
Ceea ce formula îi spune de fapt lui Excel să facă este să evalueze test_logic a primei funcții IF și, dacă este îndeplinită condiția, returnează valoarea furnizată în funcția value_if_true Dacă nu este îndeplinită condiția din prima funcție If, testați a doua declarație If și așa mai departe.
IF( verificați dacă B2>=249, dacă este adevărat - return "Excelent", sau altfelIF( verificați dacă B2>=200, dacă este adevărat - return "Bun", sau altfel
IF( verificați dacă B2>150, dacă este adevărat - return "Satisfăcător", dacă este fals -
return "Poor"))))
Exemplul 2. Mai multe If cu calcule aritmetice
Iată o altă sarcină tipică: prețul unitar variază în funcție de cantitatea specificată, iar obiectivul dvs. este de a scrie o formulă care să calculeze prețul total pentru orice cantitate de elemente introduse într-o anumită celulă. Cu alte cuvinte, formula dvs. trebuie să verifice mai multe condiții și să efectueze calcule diferite în funcție de intervalul de cantități în care se încadrează cantitatea specificată:
Unitate Cantitate | Preț pe unitate |
De la 1 la 10 | $20 |
De la 11 la 19 ani | $18 |
De la 20 la 49 de ani | $16 |
50 până la 100 | $13 |
Peste 101 | $12 |
Această sarcină poate fi îndeplinită și prin utilizarea mai multor funcții IF. Logica este aceeași ca în exemplul de mai sus, singura diferență este că se înmulțește cantitatea specificată cu valoarea returnată de IF-urile imbricate (adică prețul corespunzător pe unitate).
Presupunând că utilizatorul introduce cantitatea în celula B8, formula este următoarea:
=B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))
Iar rezultatul va fi asemănător cu acesta:
După cum înțelegeți, acest exemplu demonstrează doar abordarea generală și puteți personaliza cu ușurință această funcție If imbricata în funcție de sarcina dvs. particulară.
De exemplu, în loc să "codificați" prețurile în formulă, puteți face trimitere la celulele care conțin aceste valori (celulele B2 - B6). Astfel, utilizatorii dvs. vor putea să editeze datele sursă fără a fi nevoiți să actualizeze formula:
=B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))
Sau, este posibil să doriți să includeți o funcție (funcții) IF suplimentară (suplimentare) care fixează o limită superioară, inferioară sau ambele limite ale intervalului de cantități. Atunci când cantitatea se află în afara intervalului, formula va afișa un mesaj "out of the range". De exemplu:
=IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))
Formulele IF imbricate descrise mai sus funcționează în toate versiunile de Excel. În Excel 365 și Excel 2021, puteți utiliza, de asemenea, funcția IFS în același scop.
Utilizatorii avansați de Excel care sunt familiarizați cu formulele de matrice pot folosi această formulă care, practic, face același lucru ca și funcția IF imbricate discutată mai sus. Deși formula de matrice este mult mai dificil de înțeles, ca să nu mai vorbim de scris, are un avantaj incontestabil - specificați intervalul de celule care conțin condițiile dvs. în loc să faceți referire la fiecare condiție în parte. Acest lucru face caformula este mai flexibilă, iar dacă se întâmplă ca utilizatorii dvs. să schimbe oricare dintre condițiile existente sau să adauge una nouă, va trebui să actualizați doar o singură referință de interval în formulă.
Excel nested IF - sfaturi și trucuri
După cum tocmai ați văzut, nu este o știință a rachetelor în utilizarea IF multiple în Excel. Următoarele sfaturi vă vor ajuta să vă îmbunătățiți formulele IF imbricate și să preveniți greșelile comune.
Limite IF imbricate
În Excel 2007 - Excel 365, puteți anina până la 64 de funcții IF. În versiunile mai vechi de Excel 2003 și inferioare, pot fi utilizate până la 7 funcții IF aninate. Cu toate acestea, faptul că puteți anina o mulțime de IF-uri într-o formulă nu înseamnă că ar trebui să o faceți. Rețineți că fiecare nivel suplimentar face ca formula dvs. să fie mai dificil de înțeles și de rezolvat. Dacă formula dvs. are prea multe niveluri aninate, este posibil să vădoriți să o optimizați folosind una dintre aceste alternative.
Ordinea funcțiilor IF imbricate contează
Funcția Excel IF imbricate evaluează testele logice în ordinea în care apar în formulă și, de îndată ce una dintre condiții este evaluată ca fiind ADEVĂRATĂ, condițiile următoare nu sunt testate. Cu alte cuvinte, formula se oprește după primul rezultat ADEVĂRAT.
Să vedem cum funcționează în practică. Cu B2 egal cu 274, formula IF imbricata de mai jos evaluează primul test logic (B2>249) și returnează "Excelent", deoarece acest test logic este ADEVĂRAT:
=IF(B2>249, "Excelent", IF(B2>=200, "Bun", IF(B2>150, "Satisfăcător", "Slab"))))
Acum, haideți să inversăm ordinea funcțiilor IF:
=IF(B2>150, "Satisfăcător", IF(B2>200, "Bun", IF(B2>249, "Excelent", "Slab"))))
Formula testează prima condiție și, deoarece 274 este mai mare decât 150, rezultatul acestui test logic este, de asemenea, ADEVĂRAT. În consecință, formula returnează "Satisfăcător" fără a testa alte condiții.
Vedeți, schimbarea ordinii funcțiilor IF modifică rezultatul:
Evaluați logica formulei
Pentru a urmări pas cu pas fluxul logic al formulei IF imbricate, utilizați funcția Evaluate Formula (Evaluare formulă), situată în fereastra de instrumente Formula în fila Auditul formulei Expresia subliniată este partea care se află în curs de evaluare, iar dacă faceți clic pe butonul Evaluați vă va arăta toate etapele procesului de evaluare.
De exemplu, evaluarea primului test logic al formulei IF imbricate prezentate în captura de ecran de mai jos se va desfășura după cum urmează: B2>249; 274>249; TRUE; Excelent.
Echilibrarea parantezelor din funcțiile IF imbricate
Una dintre principalele provocări cu IF-uri imbricate în Excel este potrivirea perechilor de paranteze. Dacă parantezele nu se potrivesc, formula dvs. nu va funcționa. Din fericire, Microsoft Excel oferă câteva funcții care vă pot ajuta să echilibrați parantezele atunci când editați o formulă:
- În cazul în care aveți mai multe seturi de paranteze, perechile de paranteze sunt umbrite în culori diferite, astfel încât paranteza de deschidere să se potrivească cu cea de închidere.
- Atunci când închideți o paranteză, Excel evidențiază pentru scurt timp perechea corespunzătoare. Același efect de evidențiere sau de "pâlpâire" este produs atunci când vă deplasați prin formulă cu ajutorul tastelor săgeată.
Pentru mai multe informații, consultați Potriviți perechile de paranteze în formulele Excel.
Tratați diferit textul și numerele
Atunci când creați teste logice pentru formulele IF imbricate, nu uitați că textul și numerele trebuie tratate diferit - întotdeauna includeți valorile textului în ghilimele duble, dar nu puneți niciodată ghilimele în jurul numerelor:
Da: =IF(B2>249, "Excelent",...)
Greșit: =IF(B2>"249", "Excellent",…)
Testul logic al celei de-a doua formule va returna FALSE chiar dacă valoarea din B2 este mai mare decât 249. De ce? Pentru că 249 este un număr și "249" este un șir numeric, care sunt două lucruri diferite.
Adăugați spații sau pauze de linie pentru a face ca IF-urile imbricate să fie mai ușor de citit
Atunci când construiți o formulă cu mai multe niveluri IF imbricate, puteți face ca logica formulei să fie mai clară prin separarea diferitelor funcții IF cu spații sau pauze de linie. Excel nu se preocupă de spațierea suplimentară într-o formulă, așa că nu trebuie să vă faceți griji cu privire la manipularea acesteia.
Pentru a muta o anumită parte a formulei pe linia următoare, faceți clic în locul în care doriți să introduceți o întrerupere de linie și apăsați Alt + Enter . Apoi, extindeți bara de formule atât cât este necesar și veți vedea că formula dvs. de tip IF imbricate a devenit mult mai ușor de înțeles.
Alternative la IF imbricate în Excel
Pentru a ocoli limita de șapte funcții IF imbricate în Excel 2003 și în versiunile mai vechi și pentru a face formulele mai compacte și mai rapide, luați în considerare utilizarea următoarelor alternative la funcțiile IF imbricate din Excel.
- Pentru a testa mai multe condiții și a returna valori diferite în funcție de rezultatele acestor teste, puteți utiliza funcția CHOOSE în loc de IF-uri imbricate.
- Construiți un tabel de referință și utilizați VLOOKUP cu o potrivire aproximativă, așa cum se arată în acest exemplu: VLOOKUP în loc de IF imbricate în Excel.
- Utilizați IF cu funcțiile logice OR / AND, așa cum se demonstrează în aceste exemple.
- Utilizați o formulă de matrice, așa cum se arată în acest exemplu.
- Combinați mai multe instrucțiuni IF utilizând funcția CONCATENATE sau operatorul de concatenare (&). Un exemplu de formulă poate fi găsit aici.
- Pentru utilizatorii experimentați de Excel, cea mai bună alternativă la utilizarea mai multor funcții IF imbricate ar putea fi crearea unei funcții personalizate pentru foaia de lucru folosind VBA.
Iată cum se utilizează o formulă If în Excel cu mai multe condiții. Vă mulțumesc pentru lectură și sper să ne revedem pe blog săptămâna viitoare.
Caietul de practică pentru descărcare
Instrucțiuni If Aninate Excel (fișier .xlsx)