O funcție Excel pe care o folosesc destul de puțin în formulele mele este funcția IF . Funcția IF este utilizată pentru a testa o condiție logică și produce două rezultate diferite în funcție de situația în care condiția logică returnează TRUE sau FALSE .
Să exemplificăm mai jos tabelul vânzărilor de telefoane mobile de mai jos. Puteți descărca fișierul exemplu aici.
Funcția IF cu condiție unică
Luați în considerare un scenariu în care trebuie să calculați comisionul Comisiei pentru fiecare rând de vânzări, în funcție de locul în care au fost realizate vânzările ( coloana D ). În cazul în care vânzările au fost efectuate în SUA, comisionul Comisiei este de 10%, în caz contrar locațiile rămase vor beneficia de comision de 5%.
Prima formulă pe care trebuie să o introduceți pe celula F2 este după cum se arată mai jos:
= IF (D2 = "SUA", E2 * 10%, E2 * 5%)
Formularea defalcate:
- = IF ( - "=" indică începutul unei formule din celulă și IF este funcția Excel pe care o folosim.
- D2 = "SUA" - testul logic pe care îl efectuăm (de exemplu dacă datele din coloana D2 sunt SUA ).
- E2 * 10% - Rezultatul care va fi returnat de formula dacă rezultatul testului logic inițial este TRUE (adică valoarea din coloana D2 este SUA ).
- E2 * 5% - Rezultatul care va fi returnat de formula daca rezultatul testului logic initial este FALSE (adica valoarea din coloana D2 NU este SUA ).
- ) - Suportul de închidere indicând sfârșitul formulei.
Apoi puteți copia formula de la celula F2 la restul rândurilor din coloana F și va calcula comisionul pentru fiecare linie, fie cu 10%, fie cu 5% în funcție de faptul dacă testul logic IF întoarce TRUE sau FALSE pe fiecare rând.
Funcția IF cu condiții multiple
Ce ar fi daca regulile ar fi un pic mai complicate in cazul in care trebuie sa testati pentru mai mult de o conditie logica cu rezultate diferite returnate pentru fiecare conditie?
Excel are un răspuns la asta! Putem combina mai multe funcții IF în cadrul aceleiași celule, uneori cunoscute sub numele de IF Nested .
Luați în considerare un scenariu similar în care comisioanele sunt diferite pentru fiecare locație de vânzare, după cum urmează:
- SUA 10%
- Australia 5%
- Singapore 2%
În celula F2 (care ulterior va fi copiată în restul rândurilor din aceeași coloană F), introduceți formula după cum urmează:
= IF (D2 = "USA", E2 * 10%, IF (D2 = "Australia", E2 * 5%, E2 * 2%))
Formularea defalcate:
- = IF ( - Începutul formulei utilizând o instrucțiune IF
- D2 = "SUA" - primul test logic pe care îl efectuăm (de exemplu, dacă datele din coloana D2 sunt SUA ).
- E2 * 10% - Rezultatul care va fi returnat de formula dacă rezultatul testului logic inițial este TRUE (adică valoarea din coloana D2 este SUA ).
- IF (D2 = "Australia", E2 * 5%, E2 * 2%) - a doua declarație Excel IF care va fi evaluată dacă testul logic inițial a avut drept rezultat FALSE (adică valoarea din coloana D2 NU este SUA ). Aceasta este o sintaxă similară a " funcției IF cu condiție unică" discutată mai devreme în acest articol, în cazul în care dacă valoarea pe celula D2 este Australia, rezultatul E2 * 5% va fi returnat. În caz contrar, dacă valoarea nu este Australia, funcția va reveni la rezultatul E2 * 2%.
- ) - Suportul de închidere indicând sfârșitul formulei pentru prima funcție IF .
Pe măsură ce Excel va evalua formula de la stânga la dreapta, atunci când se va îndeplini un test logic (de ex. D2 = "SUA", funcția se oprește și returnează rezultatul, ignorând orice test logic ulterior (de exemplu D2 = "Australia") . )
Deci, dacă primul test logic returnează FALSE (adică locația nu este SUA ), va continua să evalueze al doilea test logic. Dacă cel de-al doilea test logic returnează FALSE (de exemplu, locația nu este Australia ), nu este nevoie să încercăm mai departe, deoarece știm că singura valoare posibilă pe celula D2 este Singapore, prin urmare ar trebui să returneze un rezultat de E2 * 2% .
Dacă preferați pentru claritate, puteți adăuga cel de-al treilea test logic IF (D2 = "Singapore", "valoare dacă TRUE", "valoare dacă FALSE") . Prin urmare, formula completă extinsă este prezentată mai jos:
= IF (D2 = "USA", E2 * 10%, IF (D2 = "Australia", E2 * 5%, IF (D2 = "Singapore", E2 * 2%)))
Așa cum am menționat mai devreme, cele de mai sus vor reveni la același rezultat ca și formula inițială pe care am avut-o.
= IF (D2 = "USA", E2 * 10%, IF (D2 = "Australia", E2 * 5%, E2 * 2%))
Sfaturi rapide
- Pentru fiecare functie IF ( functie, trebuie sa existe o deschidere si o inchidere rotunda. Cand exista trei functii IF ca in unul din exemplele de mai sus, formula va avea nevoie de trei paranteze de inchidere ")))", fiecare marcand sfarsitul o deschidere corespunzătoare IF ( declarație.
- Dacă nu specificăm cel de-al doilea rezultat al testului logic (când testul logic a avut drept rezultat FALSE ), valoarea implicită atribuită de Excel va fi textul "FALSE". Astfel formula = IF (D2 = "SUA", E2 * 10%) va returna textul "FALSE" dacă D2 nu este "SUA" .
- Dacă aveți mai multe teste logice diferite, fiecare cu propriul rezultat diferit, puteți combina / asocia funcția IF de mai multe ori, una după alta, similară exemplului de mai sus.