Satura rādītājs
Šajā pamācībā ir izskaidrots, kā Excel programmā izmantot ieliktu funkciju IF, lai pārbaudītu vairākus nosacījumus. Jūs uzzināsiet arī dažas citas funkcijas, kas varētu būt labas alternatīvas ieliktu formulu izmantošanai Excel programmā.
Kā jūs parasti ieviešat lēmumu pieņemšanas loģiku Excel darblapās? Vairumā gadījumu jūs izmantotu IF formulu, lai pārbaudītu nosacījumu un atgrieztu vienu vērtību, ja nosacījums ir izpildīts, un citu vērtību, ja nosacījums nav izpildīts. Lai novērtētu vairāk nekā vienu nosacījumu un atgrieztu dažādas vērtības atkarībā no rezultātiem, jūs ievietojat vairākus IF viens otrā.
Lai gan ir ļoti populārs, ieliktais IF paziņojums nav vienīgais veids, kā pārbaudīt vairākus nosacījumus programmā Excel. Šajā pamācībā atradīsiet vairākas alternatīvas, kuras noteikti ir vērts izpētīt.
Excel ligzdots IF paziņojums
Šeit ir ievietota klasiskā Excel ielikta IF formula vispārīgā formā:
IF( nosacījums1 , rezultāts1 , IF( nosacījums2 , rezultāts2 , IF( nosacījums3 , rezultāts3 , rezultāts4 )))Redzams, ka katra nākamā IF funkcija ir iestrādāta frāzē value_if_false Katra IF funkcija ir ietverta savā iekavās, bet visas noslēdzošās iekavās ir formulas beigās.
Mūsu vispārējā ieloka IF formula izvērtē 3 nosacījumus un atgriež 4 dažādus rezultātus (ja neviens no nosacījumiem nav TRUE, tiek atgriezts 4. rezultāts). Tulkojot cilvēka valodā, šis ieloka IF formulējums liek programmai Excel veikt šādas darbības:
Tests nosacījums1 , ja TRUE - atgriezties rezultāts1 , ja FALSE -tests nosacījums2 , ja TRUE - atgriezt r esult2 , ja FALSE -
tests nosacījums3 , ja TRUE - atgriezties rezultāts3 , ja FALSE -
atgriezt rezultāts4
Piemēram, noskaidrosim vairāku pārdevēju komisijas maksu, pamatojoties uz viņu veikto pārdošanas darījumu skaitu:
Komisija | Pārdošana |
3% | $1 - $50 |
5% | $51 - $100 |
7% | $101 - $150 |
10% | Vairāk nekā 150 $ |
Matemātikā saskaitāmo secības maiņa nemaina summu. Excel programmā IF funkciju secības maiņa maina rezultātu. Kāpēc? Tāpēc, ka ielikta IF formula atgriež vērtību, kas atbilst summai. pirmais TRUE nosacījums . Tāpēc ir ļoti svarīgi, lai jūsu ligzdotajos IF izteikumos nosacījumi būtu sakārtoti pareizajā virzienā - no augsta uz zemu vai no zema uz augstu, atkarībā no jūsu formulas loģikas. Mūsu gadījumā mēs vispirms pārbaudām "augstāko" nosacījumu, tad "otro augstāko" un tā tālāk:
=IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))
Ja mēs izvietotu nosacījumus apgrieztā secībā, no apakšas uz augšu, rezultāti būtu nepareizi, jo mūsu formula apstātos pēc pirmā loģiskā testa (B2>=1) jebkurai vērtībai, kas lielāka par 1. Teiksim, mums ir 100 ASV dolāru pārdošanas apjoms - tas ir lielāks par 1, tāpēc formula nepārbaudītu citus nosacījumus un kā rezultātu atgrieztu 3%.
Ja vēlaties sakārtot nosacījumus no zemākā uz augstāko, izmantojiet operatoru "mazāk nekā" un vispirms novērtējiet nosacījumu "zemākais", pēc tam "otrais zemākais" un tā tālāk:
=IF($B2<1, 0%, IF($B2<51, 3%, IF($B2<101, 5%, IF($B2<=150, 7%, 10%))))
Kā redzat, ir nepieciešams diezgan daudz domāt, lai pareizi izveidotu ielikta IF paziņojuma loģiku līdz pat beigām. Un, lai gan Microsoft Excel ļauj vienā formulā ievietot līdz pat 64 IF funkcijām, tas nav kaut kas tāds, ko jūs patiešām vēlētos darīt savās darblapās. Tātad, ja jūs (vai kāds cits) skatāties uz savu Excel ieliktu IF formulu, mēģinot noskaidrot, ko tā patiesībā dara, ir pienācis laiks.pārdomājiet savu stratēģiju un, iespējams, izvēlieties citu rīku savā arsenālā.
Papildinformāciju skatiet sadaļā Excel ieliktais IF izteikums.
Iestrādāts IF ar OR/AND nosacījumiem
Ja ir jāizvērtē vairākas dažādu nosacījumu kopas, šos nosacījumus var izteikt, izmantojot OR un AND funkciju, ievietot šīs funkcijas IF izteikumos un pēc tam ievietot IF izteikumus viens otrā.
Iespraustie IF programmā Excel ar OR paziņojumiem
Izmantojot OR funkciju, katras IF funkcijas loģiskajā testā varat pārbaudīt divus vai vairākus dažādus nosacījumus un atgriezt TRUE, ja kāds (vismaz viens) no OR argumentiem ir TRUE. Lai redzētu, kā tas faktiski darbojas, aplūkojiet šādu piemēru.
Pieņemsim, ka jums ir divas pārdošanas apjomu kolonnas, piemēram, janvāra pārdošanas apjomi B kolonnā un februāra pārdošanas apjomi C kolonnā. Jūs vēlaties pārbaudīt skaitļus abās kolonnās un aprēķināt komisijas maksu, pamatojoties uz lielāku skaitli. Citiem vārdiem sakot, jūs izveidojat formulu ar šādu loģiku: ja janvāra vai februāra pārdošanas apjomi ir lielāki par 150 USD, pārdevējs saņem 10 % komisijas maksu, ja janvāra vai februāra pārdošanas apjomi ir lielāki vai vienādi ar 150 USD.101 ASV dolārs, pārdevējs saņem 7% komisijas maksu un tā tālāk.
Lai to izdarītu, uzrakstiet dažus OF apgalvojumus, piemēram, OR(B2>150, C2>150), un ievietojiet tos iepriekš aplūkotajās IF funkciju loģiskajās pārbaudēs. Rezultātā iegūsiet šo formulu:
=IF(OR(B2>150, C2>150), 10%, IF(OR(B2>=101, C2>=101),7%, IF(OR(B2>=51, C2>=51), 5%, IF(OR(B2>=1, C2>=1), 3%, ""))))
Un komisijas maksa tiek piešķirta, pamatojoties uz lielāku pārdošanas apjomu:
Vairāk formulas piemēru skatiet programmā Excel IF OR.
Iespraustie IF programmā Excel ar AND paziņojumiem
Ja jūsu loģiskajos testos ir vairāki nosacījumi un visiem šiem nosacījumiem ir jābūt TRUE, izsakiet tos, izmantojot funkciju AND.
Piemēram, lai piešķirtu komisijas maksu, pamatojoties uz mazāku pārdošanas apjomu skaitu, izmantojiet iepriekš minēto formulu un aizstājiet OR ar AND paziņojumiem. Citādi sakot, jūs sakāt Excel, lai atdeva 10 % tikai tad, ja janvāra un februāra pārdošanas apjoms ir lielāks par 150 USD, 7 %, ja janvāra un februāra pārdošanas apjoms ir lielāks vai vienāds ar 101 USD, un tā tālāk.
=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, ""))))
Rezultātā mūsu iegultā IF formula aprēķina komisijas maksu, pamatojoties uz mazāko skaitli B un C slejā. Ja kāda no šīm kolonnām ir tukša, komisijas maksa vispār netiek aprēķināta, jo nav izpildīts neviens no AND nosacījumiem:
Ja vēlaties, lai tukšo šūnu vietā tiktu atgriezti 0%, pēdējā argumentā aizstāt tukšu virkni ('''") ar 0%:
=IF(AND(B2>150, C2>150), 10%, IF(AND(B2>=101, C2>=101), 7%, IF(AND(B2>=51, C2>=51), 5%, IF(AND(B2>=1, C2>=1), 3%, 0%))))
Plašāka informācija ir atrodama šeit: Excel IF ar vairākiem AND/OR nosacījumiem.
VLOOKUP, nevis iegultais IF programmā Excel
Ja runa ir par "skalu", t. i., nepārtrauktiem skaitlisko vērtību diapazoniem, kas kopā aptver visu diapazonu, vairumā gadījumu varat izmantot VLOOKUP funkciju, nevis ieliktos IF.
Vispirms izveidojiet atsauces tabulu, kā parādīts zemāk redzamajā ekrānšāviņā. Un pēc tam izveidojiet Vlookup formulu, kurā aptuvena atbilstība , t. i., ar range_lookup arguments ir iestatīts uz TRUE.
Pieņemot, ka meklēšanas vērtība ir B2 un atsauces tabula ir F2:G5, formula ir šāda:
=VLOOKUP(B2,$F$2:$G$5,2,TRUE)
Lūdzu, ņemiet vērā, ka mēs labojam table_array ar absolūtajām atsaucēm ($F$2:$G$5), lai formula tiktu pareizi kopēta uz citām šūnām:
Nosakot Vlookup formulas pēdējo argumentu kā TRUE, jūs norādāt Excel meklēt vistuvākā atbilstība - ja precīza atbilstība nav atrasta, tiek atgriezta nākamā lielākā vērtība, kas ir mazāka par meklēšanas vērtību. Rezultātā jūsu formula atbilst ne tikai precīzām vērtībām meklēšanas tabulā, bet arī visām vērtībām, kas ir starp tām.
Piemēram, meklēšanas vērtība B3 ir $95. Šis skaitlis neeksistē meklēšanas tabulā, un Vlookup ar precīzu atbilstību šajā gadījumā atgrieztu kļūdu #N/A. Bet Vlookup ar aptuvenu atbilstību turpina meklēšanu, līdz atrod tuvāko vērtību, kas ir mazāka par meklēšanas vērtību (kas mūsu piemērā ir $50), un atdod vērtību no tās pašas rindas otrās kolonnas (kas ir 5%).
Bet ko darīt, ja meklēšanas vērtība ir mazāka par mazāko skaitli meklēšanas tabulā vai meklēšanas šūna ir tukša? Šādā gadījumā VLOOKUP formula atgriezīs kļūdu #N/A. Ja tas nav tas, ko jūs patiesībā vēlaties, ievietojiet VLOOKUP IFERROR iekšpusē un norādiet vērtību, kas tiks izvadīta, ja meklēšanas vērtība nav atrasta. Piemēram:
=IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Ārpus diapazona")
Svarīga piezīme! Lai Vlookup formula ar aptuvenu sakritību darbotos pareizi, pirmajai slejā meklēšanas tabulā jābūt sakārtotai pēc augošā secībā no mazākā uz lielāko.
Lai iegūtu vairāk informācijas, skatiet sadaļu Precīza sakritība VLOOKUP pret aptuvenu sakritību VLOOKUP.
IFS paziņojums kā alternatīva ieliktai IF funkcijai
Programmā Excel 2016 un jaunākajās versijās Microsoft ieviesa īpašu funkciju vairāku nosacījumu izvērtēšanai - funkciju IFS.
IFS formula var apstrādāt līdz 127 logical_test / value_if_true pāri, un pirmais loģiskais tests, kura vērtība ir TRUE, "uzvar":
IFS(logical_test1, value_if_true1, [logical_test2, value_if_true2]...)Saskaņā ar iepriekšminēto sintaksi mūsu ielikto IF formulu var rekonstruēt šādā veidā:
=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)
Lūdzu, pievērsiet uzmanību, ka IFS funkcija atgriež kļūdu #N/A, ja nav izpildīts neviens no norādītajiem nosacījumiem. Lai no tā izvairītos, varat pievienot vēl vienu logical_test / value_if_true formulas beigās, kas atgriezīs 0 vai tukšu virkni (""), vai jebkuru citu vērtību, ja neviens no iepriekšējiem loģiskajiem testiem nebūs TRUE:
=IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")
Rezultātā mūsu formula atgriezīs tukšu virkni (tukšu šūnu), nevis kļūdu #N/A, ja atbilstošā B slejas šūna ir tukša vai satur tekstu vai negatīvu skaitli.
Piezīme. Līdzīgi kā ligzdotā IF, Excel IFS funkcija atgriež vērtību, kas atbilst pirmajam nosacījumam, kura vērtība ir TRUE, tāpēc IFS formulā ir svarīga loģisko testu secība.
Papildinformāciju skatiet sadaļā Excel IFS funkcija ievietotā IF vietā.
Izvēlēties, nevis iegultās IF formulas vietā programmā Excel
Vēl viens veids, kā pārbaudīt vairākus nosacījumus vienā formulā programmā Excel, ir izmantot funkciju CHOOSE, kas ir paredzēta, lai atgrieztu vērtību no saraksta, pamatojoties uz šīs vērtības pozīciju.
Piemērojot šo formulu mūsu parauga datu kopai, iegūstam šādu formulu:
=CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>=150), 3%, 5%, 7%, 10%)
Pirmajā argumentā ( index_num ), jūs izvērtējat visus nosacījumus un saskaitāt rezultātus. Ņemot vērā, ka TRUE ir vienāds ar 1, bet FALSE - ar 0, šādā veidā jūs aprēķināt atgriežamās vērtības pozīciju.
Piemēram, B2 vērtība ir $150. Šai vērtībai pirmie trīs nosacījumi ir TRUE, bet pēdējais (B2> 150) ir FALSE. Tātad, index_num ir vienāds ar 3, kas nozīmē, ka tiek atgriezta trešā vērtība, kas ir 7%.
Padoms. Ja neviens no loģiskajiem testiem nav TRUE, index_num ir vienāds ar 0, un formula atgriež kļūdu #VALUE!. Viegli to var novērst, izmantojot funkciju IFERROR, piemēram, šādi:
=IFERROR(CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%), "")
Lai iegūtu vairāk informācijas, skatiet Excel funkciju CHOOSE ar formulas piemēriem.
SWITCH funkcija kā īss iegultā IF veids programmā Excel
Situācijās, kad tiek strādāts ar fiksētu iepriekš noteiktu vērtību kopumu, nevis skalu, SWITCH funkcija var būt kompakta alternatīva sarežģītiem ielocītiem IF izteikumiem:
SWITCH(izteiksme, vērtība1, rezultāts1, vērtība2, rezultāts2, ..., [noklusējuma])SWITCH funkcija izvērtē izteiksme pret sarakstu ar vērtības un atgriež rezultāts kas atbilst pirmajai atrastajai sakritībai.
Ja vēlaties aprēķināt komisijas maksu, pamatojoties uz šādām pakāpēm, nevis pārdošanas apjomiem, varat izmantot šo kompakto ieliktās IF formulas versiju programmā Excel:
=SWITCH(C2, "A", 10%, "B", 7%, "C", 5%, "D", 3%, "")
Vai arī varat izveidot atsauces tabulu, kā parādīts zemāk redzamajā ekrānšāviņattēlā, un kodēto vērtību vietā izmantot šūnu atsauces:
=SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")
Lūdzu, ņemiet vērā, ka mēs bloķējam visas atsauces, izņemot pirmo ar zīmi $, lai novērstu to maiņu, kopējot formulu uz citām šūnām:
Piezīme. Funkcija SWITCH ir pieejama tikai programmā Excel 2016 un jaunākās versijās.
Lai uzzinātu vairāk, lūdzu, skatiet SWITCH funkcija - kompakta forma ligzdotam IF izteikumam.
Vairāku IF funkciju savienošana programmā Excel
Kā minēts iepriekšējā piemērā, funkcija SWITCH tika ieviesta tikai programmā Excel 2016. Lai veiktu līdzīgus uzdevumus vecākās Excel versijās, varat apvienot divus vai vairākus IF izteikumus, izmantojot operatoru Concatenate (&) vai funkciju CONCATENATE.
Piemēram:
=(IF(C2="a", 10%, "") & IF(C2="b", 7%, "") & IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1
Vai
=CONCATENATE(IF(C2="a", 10%, ""), IF(C2="b", 7%, ""), IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1
Kā jau, iespējams, pamanījāt, abās formulās rezultāts tiek reizināts ar 1. Tas tiek darīts, lai pārvērstu virkni, ko atgriež formula Concatenate, skaitlī. Ja paredzamais rezultāts ir teksts, reizināšanas operācija nav nepieciešama.
Lai iegūtu vairāk informācijas, skatiet sadaļu CONCATENATE funkcija programmā Excel.
Jūs redzat, ka Microsoft Excel piedāvā virkni labu alternatīvu ligzdotajām IF formulām, un cerams, ka šī pamācība ir sniegusi jums dažas norādes par to, kā tās izmantot savās darblapās. Lai tuvāk aplūkotu šajā pamācībā aplūkotos piemērus, aicinām lejupielādēt mūsu parauga darbgrāmatu zemāk. Paldies, ka izlasījāt, un ceru, ka nākamnedēļ tiksimies mūsu blogā!
Prakses darba burtnīca lejupielādei
Excel ieliktais If paziņojums - piemēri (.xlsx fails)