Kako koristiti više IF izjava u Microsoft Excelu

Poslovni čovjek mješovite rase koji koristi računalo u uredu

Kako koristiti više IF izjava u Microsoft Excelu

Zasluga slike: monkeybusinessimages/iStock/GettyImages

Naredba IF u Excelu pokreće logički test koji vraća jednu vrijednost ako je uvjet ispunjen, a drugu vrijednost ako nije. Korištenje jednog Excel IF izraza može prihvatiti samo osnovne operacije, ali ako ugnijezdite više IF izraza, možete izvoditi komplicirane zadatke. Jedini nedostatak je što morate biti oprezni pri izradi formule kako biste izbjegli pogreške. Alternativne Excel funkcije mogu obaviti isti posao uz manji rizik od pogreške. Naučite osnove ugniježđenih izraza IF u Excelu i alternative kako biste pronašli najbolji pristup za svoje potrebe.

Razumijevanje izraza Excel IF

Funkcija IF u Excelu u biti kaže "ako je to istina, vratite vrijednost x, ali ako nije, vratite vrijednost y." Na primjer, ako provjeravate postoje li različiti odjeli u vašem poslovanju bili ispod ili iznad proračuna, mogli biste usporediti njihove rashode s njihovim proračunima pomoću funkcije i vratiti "Preko proračuna" ako je odjel potrošio previše ili "Unutar proračuna" ako je nije. Općenito govoreći, koristite operatore za usporedbu za formiranje svoje izjave, kao što su:

Video dana

  • = (jednako)
  • (veće od)

  • = (veće ili jednako)

  • < (manji od)
  • <= (manje ili jednako)
  • <> (nije jednako)

Razumijevanje sintakse izraza Excel IF ključni je korak prema učenju pravilnog korištenja. Format funkcije je IF(logički_test, vrijednost_ako_true, [vrijednost_ako_netočno]) gdje uglaste zagrade označavaju da je ovaj posljednji argument neobavezan. Lako ih je protumačiti: The logički_test znači izjava koju želite testirati, vrijednost_ako_istina je mjesto za ono što želite da Excel pokaže je li test istinit, i [value_if_false] je izborno mjesto za ono što želite da Excel prikaže ako je test lažan.

To vam je dovoljno da koristite formulu Excela za if-then izjave, što se može demonstrirati pomoću prethodnog primjera "Preko proračuna/unutar proračuna". Zamislite da imate iznos koji su potrošili različiti odjeli u stupcu B i iznos predviđen u proračunu u stupcu C, s vrijednostima koje počinju u drugom retku. U ćeliju D2 upisali biste =IF(B2>C2, "Preko proračuna", "Unutar proračuna") da biste vratili rezultat koji tražite (uz napomenu da morate koristiti navodnike kako biste ga vratili unutar teksta). Prvi dio kaže "ako je vrijednost u B2 veća od vrijednosti u C2" (ako je izdatak veći od proračuna), drugi dio kaže "onda vratite tekst Iznad budžeta a treći dio kaže "ako ne, onda se vrati U okviru budžeta."

Ugniježđenje višestrukih IF izjava

Iskorištavanje alata za naredbe Excel IF znači biti u mogućnosti kombinirati više IF izraza kada imate zadatak koji je prikladan za to. Možete uključiti drugu IF naredbu u svoj izvorni IF izraz, a možete uključiti još jednu IF naredbu unutar toga i tako dalje. Ovo je osobito korisno ako želite nešto kategorizirati u jednu od nekoliko grupa koristeći jednu formulu. Na primjer, možete koristiti ugniježđene izraze IF za pretvaranje bodova koje su učenici postigli na testu u ocjenu.

Da biste ispravno upotrijebili više IF naredbi, razmislite o logici onoga što tražite od Excela da učini. U suštini, nakon vašeg uvjeta (prvi argument u funkciji), možete dodati još jedan IF izraz u vrijednost_ako_istina ili vrijednost_ako_netočno razmacima, da biste Excelu rekli što dalje. Razmišljajte o tome kao o tome da natjerate Excel da provjeri ćeliju prema drugom kriteriju ako dotična ćelija to ne učini ispunite prvi kriterij (ili doista, ako ispunjava prvi), i ovaj proces možete nastaviti još dugo vrijeme. Drugim riječima, pretvarate "ako ovo, onda ono" u "ako ovo i ovo, onda ono" ili "ako ne ovo nego ovo, onda ono".

Primjer ugniježđene funkcije IF

Zamislite da ste učenicima dali test u kojem je rezultat od 85 posto ili više ocjena A, između 70 i 85 posto je B, između 55 i 70 posto je C, između 40 posto i 55 posto je D i sve niže je Iznevjeriti. Bodovi su u stupcu B, od reda 2 do reda 11. Možete koristiti pažljivo izrađenu funkciju Excel IF s više uvjeta za kategorizaciju rezultata učenika.

Prvi dio je jednostavan (za rezultat u B2, u ovom primjeru): =IF(B2>=85, "A") govori Excelu da vrati A ako je učenik postigao 85 ili više. Ugniježđenje vam omogućuje da dodate druge ocjene, koristeći treći argument (što učiniti ako je uvjet netačan) za dodavanje dodatnih uvjeta: =IF(B2>=85, "A", IF(B2>=70, "B")), što govori Excelu da vrati A za rezultate od 85 ili više, ali ako ne, vrati B ako je rezultat veći od 70. Nastavite na ovaj način da dovršite formulu, koristeći svaki put treći argument za novu IF naredbu: =IF(B2>=85, "A", IF(B2>=70, "B",IF(B2>=55, "C", IF(B2>=40, "D", "Neuspjeh")) ))

Ovo izgleda komplicirano, pa bi njegovo rastavljanje trebalo učvrstiti ideju. Prva dva argumenta kažu "ako je rezultat u B2 85 ili više, tada učenik dobiva A", a treći kaže, "u suprotnom, provjerite sljedeći uvjet". The drugi IF dovodi do ove izjave, "(za učenike koji su postigli manje od 85) ako je rezultat u B2 70 ili veći, tada učenik dobiva B, a ako ne, provjerite sljedeći uvjet." Treći IF kaže: "(za učenike koji su postigli manje od 70) ako je rezultat u B2 55 ili veći, učenik koji je postigao dobiva C, a ako ne, provjerite sljedeći uvjet" a četvrti kaže "(za učenike koji su postigli manje od 55) ako je rezultat na B2 veći od 40, učenik dobiva D, ako ne, učenik ne uspijeva."

Kodovi pogrešaka za IF izjave

Pod uvjetom da pravilno unesete formulu za IF naredbu, vratit će jednu od opcija koje ste dali Excelu. Međutim, ako pogriješite, formula bi mogla vratiti a 0 ili #IME? u ćeliji koja sadrži vašu formulu.

A 0 pogreška znači da ili vrijednost_ako_istina ili vrijednost_ako_netočno argument je prazan. Riješite ovaj problem tako da osigurate da je vrijednost unesena u oba argumenta ili barem u vrijednost_ako_istina argument. The vrijednost_ako_netočno argument se može potpuno ukloniti, a vratit će FALSE ako ne stavite drugi zarez iza vrijednost_ako_istina polje.

A #IME? pogreška vam govori da ste vjerojatno nešto pogrešno napisali u formuli. To bi moglo biti malo teže popraviti jer može biti bilo koji dio formule, ali najbolji savjet je da sve provjerite ili ponovno napišete formulu.

Uobičajeni problemi s ugniježđenim IF izjavama

U prethodnom primjeru formula ugniježđene funkcije IF postala je prilično duga, što je jedan od glavnih nedostataka korištenja višestrukih izraza IF u Excelu. Mogu se zakomplicirati, a lako je pogriješiti jer morate pažljivo pratiti logiku kako biste bili sigurni da sve funkcionira na način na koji namjeravate. Microsoft ističe da pogrešno ugniježđena formula može čak i vratiti pravi rezultat većinu vremena, ali netočne rezultate u rijetkim prilikama. Ove je teško uočiti.

Nepostavljanje uvjeta u pravi red uobičajena je pogreška. U primjeru ocjenjivanih testova, ako ste započeli s nižim rezultatom =IF(B2>=40, "D", …" i nastavio s popisom ostalih uzlaznim redoslijedom, čak i rezultat od 100 bi dao D. To je zato što se prvi uvjet provjerava prvi, pa ako ste započeli s "ako je ćelija B2 40 ili veća, vratite D" klasificirao bi svaki rezultat od 40 ili više kao D bez provjere bilo čega drugog jer zadovoljava prvi stanje. Ovo je savršen primjer zašto morate slijediti logiku svoje formule do kraja.

Također morate biti sigurni da ste dodali pravi broj zagrada na kraj više IF naredbi kako biste pravilno zatvorili formulu. Excel pomaže u tome usklađivanjem boja i isticanjem zagrada dok radite.

Maksimalni broj ugniježđenih IF-ova

Tehnički možete ugnijezditi do 64 IF funkcije u jednu formulu, ali Microsoft ne preporučuje korištenje ove funkcije iz gore navedenih razloga. Stvari se brzo zakompliciraju, a velike su šanse, ako pokušavate ugnijezditi više od 10 IF naredbi, vjerojatno postoji bolji alat za posao koji je već uključen u Excel.

IFS funkcija u Excelu

Najprikladnija alternativa funkciji IF je funkcija IFS, koja je verzija funkcija koja obavlja isti zadatak kao ugniježđenje u jednoj funkciji i može podnijeti do 127 Uvjeti. IFS funkcija ima jednostavniju sintaksu: =IFS(logički_test1, vrijednost_ako_istina1, [logički_test2, vrijednost_ako_istina2], [logički_test3, vrijednost_ako_istina3]…) i tako dalje. U suštini, ovo funkcionira poput ugniježđenih IF naredbi, osim što naknadni IF izrazi zauzimaju prostor nakon "vrijednosti ako je istinito" bez potrebe za ponovnim pokretanjem funkcije.

Formula u primjeru ispitne ocjene može se napisati puno jednostavnije s funkcijom IFS. Umjesto:

=IF(B2>=85, "A", IF(B2>=70, "B",IF(B2>=55, "C", IF(B2>=40, "D", "Neuspjeh")) ))

jednostavno napišite

=IFS(B2>=85, "A", B2>=70, "B", B2>=55, "C", B2>=40, "D", TRUE, "Neuspjeh")

The PRAVI na pretposljednjem mjestu kaže "ako nije zadovoljena nijedna od drugih vrijednosti, vratite sljedeću vrijednost."

Ova je značajka dostupna samo u programu Excel 2019 ili Excel za Office 365.

Funkcija VLOOKUP

Funkcija VLOOKUP u Excelu često je jednostavnija alternativa višestrukim IF naredbama i dostupna je na bilo kojoj verziji Excela od 2007. nadalje. Nije idealan za sve situacije jer ili daje rezultate za točno podudaranje ili za najbliži broj, tako da se ne može koristiti za ocjene kao u prethodnom primjeru. Međutim, u mnogim situacijama to vam može uštedjeti mnogo posla pri pisanju formule, iako morate konstruirati tablicu s mogućim vrijednostima u jednom stupac, kao što su proizvodi koje vaša trgovina prodaje i ono što želite da funkcija vrati, kao što je cijena proizvoda, u drugom stupcu, za primjer.

Sintaksa za VLOOKUP je =VLOOKUP(vrijednost_pretraživanja, niz_tablice, broj_indeksa_stupca, [pretraživanje_raspona]) a učenje svake od komponenti pokazuje vam kako je koristiti. The tražena_vrijednost argument je vrijednost koju želite provjeriti, a koja mora biti ćelija u istom stupcu kao i početak tablice prema kojoj je želite provjeriti, iznad ili ispod nje. The tablica_niz je raspon ćelija koje sadrže vašu tablicu informacija, kao što su proizvodi i njihove odgovarajuće cijene, i kol_indeks_br je stupac u kojem želite da Excel traži vrijednost koju treba vratiti 1 označavajući krajnji lijevi stupac, 2 označavanje sljedećeg i tako dalje. Konačno, [range_lookup] nije obavezno, ali unesite "TRUE" ako želite da Excel temelji odgovor na najbližoj vrijednosti ili "FALSE" ako želite samo točno podudaranje.