Mga pahayag ng Excel Nested IF - mga halimbawa, pinakamahuhusay na kagawian at alternatibo

  • Ibahagi Ito
Michael Brown

Ipinapaliwanag ng tutorial kung paano gamitin ang nested IF function sa Excel upang suriin ang maraming kundisyon. Matututuhan mo rin ang ilang iba pang function na maaaring maging magandang alternatibo sa paggamit ng nested formula sa Excel.

Paano mo karaniwang ipinapatupad ang logic sa paggawa ng desisyon sa iyong mga Excel worksheet? Sa karamihan ng mga kaso, gagamit ka ng formula ng IF para subukan ang iyong kundisyon at magbabalik ng isang value kung natutugunan ang kundisyon, isa pang value kung hindi natutugunan ang kundisyon. Upang suriin ang higit sa isang kundisyon at magbalik ng iba't ibang mga halaga depende sa mga resulta, maglalagay ka ng maraming IF sa loob ng isa't isa.

Bagaman napakasikat, ang nested IF statement ay hindi lamang ang paraan upang suriin ang maraming kundisyon sa Excel. Sa tutorial na ito, makakahanap ka ng ilang mga alternatibo na talagang sulit na galugarin.

    Excel nested IF statement

    Narito ang klasikong Excel nested IF formula sa isang generic na form :

    IF( condition1, resulta1, IF( condition2, resulta2, IF( condition3, result3, result4)))

    Makikita mong ang bawat kasunod na IF function ay naka-embed sa value_if_false argument ng nakaraang function. Ang bawat function ng IF ay nakapaloob sa sarili nitong hanay ng mga panaklong, ngunit ang lahat ng mga pansarang panaklong ay nasa dulo ng formula.

    Ang aming generic na nested IF formula ay nagsusuri ng 3 kundisyon, at nagbabalik ng 4 na magkakaibang resulta (ang resulta 4 ay ibinabalik kung wala saworkbook para sa pag-download

    Excel nested If statement - mga halimbawa (.xlsx file)

    ang mga kondisyon ay TOTOO). Isinalin sa isang wika ng tao, ang nested IF statement na ito ay nagsasabi sa Excel na gawin ang sumusunod:Pagsubok kondisyon1, kung TRUE - ibalik ang result1, kung FALSE -

    test kondisyon2 , kung TRUE - ibalik ang r esult2 , kung FALSE -

    test kondisyon3 , kung TRUE - ibalik ang result3 , kung FALSE -

    return resulta4

    Bilang halimbawa, alamin natin ang mga komisyon para sa ilang mga nagbebenta batay sa halaga ng mga benta na nagawa nila:

    Komisyon Mga Benta
    3% $1 - $50
    5% $51 - $100
    7% $101 - $150
    10% Higit sa $150

    Sa matematika, ang pagbabago ng pagkakasunud-sunod ng mga addend ay hindi nagbabago sa kabuuan. Sa Excel, ang pagbabago ng pagkakasunud-sunod ng mga function ng IF ay nagbabago sa resulta. Bakit? Dahil ang isang nested IF formula ay nagbabalik ng value na tumutugma sa unang TRUE kundisyon . Samakatuwid, sa iyong mga nested IF na pahayag, napakahalagang ayusin ang mga kundisyon sa tamang direksyon - mataas hanggang mababa o mababa hanggang mataas, depende sa lohika ng iyong formula. Sa aming kaso, sinusuri muna namin ang "pinakamataas" na kundisyon, pagkatapos ay ang "ikalawang pinakamataas", at iba pa:

    =IF(B2>150, 10%, IF(B2>=101, 7%, IF(B2>=51, 5%, IF(B2>=1, 3%, ""))))

    Kung inilagay namin ang mga kundisyon sa reverse order, mula sa ibaba pataas, ang mga resulta ay magiging mali lahat dahil ang aming formula ay titigil pagkatapos ng unang lohikal na pagsubok (B2>=1) para sa anumang halaga na higit sa 1. Sabihin nating, mayroon kaming $100sa mga benta - mas malaki ito sa 1, kaya hindi susuriin ng formula ang ibang mga kundisyon at ibabalik ang 3% bilang resulta.

    Kung mas gugustuhin mong ayusin ang mga kundisyon mula sa mababa hanggang sa mataas, pagkatapos ay gamitin ang "mas mababa sa " operator at suriin muna ang "pinakamababang" kundisyon, pagkatapos ay ang "pangalawa sa pinakamababa", at iba pa:

    =IF($B2<1, 0%, IF($B2<51, 3%, IF($B2<101, 5%, IF($B2<=150, 7%, 10%))))

    Tulad ng nakikita mo, kailangan ng maraming pag-iisip upang mabuo ang lohika ng isang nested IF na pahayag nang tama hanggang sa dulo. At bagama't pinapayagan ng Microsoft Excel na mag-nest ng hanggang 64 IF function sa isang formula, hindi ito isang bagay na talagang gusto mong gawin sa iyong mga worksheet. Kaya, kung ikaw (o ibang tao) ay tumitingin sa iyong Excel nested IF formula na sinusubukang malaman kung ano talaga ang ginagawa nito, oras na para muling isaalang-alang ang iyong diskarte at malamang na pumili ng isa pang tool sa iyong arsenal.

    Para sa higit pang impormasyon , pakitingnan ang Excel nested IF statement.

    Nested IF na may OR/AND kundisyon

    Kung sakaling kailangan mong suriin ang ilang hanay ng iba't ibang kundisyon, maaari mong ipahayag ang mga kundisyong iyon gamit ang OR pati na rin ang AND function, i-nest ang mga function sa loob ng IF statement, at pagkatapos ay i-nest ang IF statement sa isa't isa.

    Nested IF sa Excel na may OR statement

    Sa pamamagitan ng paggamit ng OR function maaari mong suriin ang dalawa o higit pa iba't ibang kundisyon sa lohikal na pagsubok ng bawat function ng IF at ibalik ang TRUE kung mayroon man (kahit isa) sa mga argumentong OR na nasuri sa TRUE. Upang makita kung paano ito aktwal na gumagana, mangyaring isaalang-alang angsumusunod na halimbawa.

    Ipagpalagay, mayroon kang dalawang column ng mga benta, sabihin ang mga benta sa Enero sa column B at mga benta sa Pebrero sa column C. Gusto mong suriin ang mga numero sa parehong column at kalkulahin ang komisyon batay sa mas mataas na numero. Sa madaling salita, bumuo ka ng formula na may sumusunod na lohika: kung ang mga benta sa Enero o Peb ay mas malaki kaysa sa $150, ang nagbebenta ay makakakuha ng 10% na komisyon, kung ang mga benta sa Enero o Peb ay mas malaki kaysa sa o katumbas ng $101, ang nagbebenta ay makakakuha ng 7% na komisyon , at iba pa.

    Upang magawa ito, sumulat ng ilang NG mga pahayag tulad ng OR(B2>150, C2>150) at ilagay ang mga ito sa mga lohikal na pagsubok ng mga function ng IF na tinalakay sa itaas. Bilang resulta, makukuha mo ang formula na ito:

    =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%, ""))))

    At italaga ang komisyon batay sa mas mataas na halaga ng benta:

    Para sa higit pang mga halimbawa ng formula, pakitingnan ang Excel IF OR statement.

    Nested IF sa Excel na may mga AND statement

    Kung ang iyong mga lohikal na pagsubok ay may kasamang maraming kundisyon, at lahat ng kundisyong iyon ay dapat magsuri sa TRUE, ipahayag ang mga ito sa pamamagitan ng paggamit sa function na AND.

    Halimbawa, upang italaga ang mga komisyon batay sa mas mababang bilang ng mga benta, kunin ang formula sa itaas at palitan ang OR ng mga pahayag na AND. Upang ilagay ito sa ibang paraan, sasabihin mo sa Excel na magbalik lamang ng 10% kung ang mga benta sa Enero at Peb ay higit sa $150, 7% kung ang mga benta sa Enero at Peb ay mas malaki kaysa o katumbas ng $101, at iba pa.

    =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%, ""))))

    Bilang resulta, kinakalkula ng aming nested IF formula ang komisyonbatay sa mas mababang numero sa column B at C. Kung walang laman ang alinmang column, walang komisyon dahil wala sa mga kundisyon ng AND ang natutugunan:

    Kung' Gusto kong ibalik ang 0% sa halip na mga blangkong cell, palitan ang isang walang laman na string (''") sa huling argumento ng 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%))))

    Higit pang impormasyon ang makikita dito: Excel IF na may maraming AND/OR na kundisyon.

    VLOOKUP sa halip na nested IF sa Excel

    Kapag nakikitungo ka sa mga "scale", ibig sabihin, tuluy-tuloy na mga hanay ng mga numerical na halaga na magkakasamang sumasakop sa buong hanay, sa karamihan ng mga kaso maaari mong gamitin ang VLOOKUP function sa halip na mga nested IF.

    Para sa mga panimula, gumawa ng reference table tulad ng ipinapakita sa screenshot sa ibaba. At pagkatapos, bumuo ng Vlookup formula na may tinatayang tugma , ibig sabihin, may range_lookup argument na nakatakda sa TRUE.

    Ipagpalagay na ang lookup value ay nasa B2 at ang reference table ay F2:G5, ang formula ay napupunta sa sumusunod :

    =VLOOKUP(B2,$F$2:$G$5,2,TRUE)

    Pakipansin na inaayos namin ang table_array na may mga ganap na sanggunian ($F$2:$G$5) para makopya nang tama ang formula sa ibang mga cell:

    Sa pamamagitan ng pagtatakda ng huling argumento ng iyong Vlookup formula sa TRUE, sasabihin mo sa Excel na hanapin ang pinakamalapit na tugma - kung hindi mahanap ang eksaktong tugma, ibalik ang susunod na pinakamalaking halaga na mas maliit kaysa sa halaga ng paghahanap. Bilang resulta, tutugma ang iyong formula hindi lamang sa mga eksaktong halaga sa talahanayan ng paghahanap, kundi pati na rin sa alinmanmga value na nasa pagitan.

    Halimbawa, ang lookup value sa B3 ay $95. Ang numerong ito ay wala sa lookup table, at ang Vlookup na may eksaktong tugma ay magbabalik ng #N/A error sa kasong ito. Ngunit ang Vlookup na may tinatayang tugma ay patuloy na naghahanap hanggang sa makita nito ang pinakamalapit na halaga na mas mababa sa halaga ng paghahanap (na $50 sa aming halimbawa) at nagbabalik ng halaga mula sa pangalawang column sa parehong row (na 5%).

    Ngunit paano kung ang lookup value ay mas mababa sa pinakamaliit na numero sa lookup table o ang lookup cell ay walang laman? Sa kasong ito, ibabalik ng Vlookup formula ang #N/A error. Kung hindi mo talaga gusto, ilagay ang VLOOKUP sa loob ng IFERROR at ibigay ang value sa output kapag hindi nakita ang lookup value. Halimbawa:

    =IFERROR(VLOOKUP(B2, $F$2:$G$5, 2, TRUE), "Outside range")

    Mahalagang tala! Para gumana nang tama ang isang Vlookup formula na may tinatayang tugma, dapat na ayusin ang unang column sa lookup table sa pataas na pagkakasunod-sunod , mula sa pinakamaliit hanggang sa pinakamalaki.

    Para sa higit pang impormasyon, pakitingnan ang Eksaktong tugma VLOOKUP vs. tinatayang tugmang VLOOKUP.

    IFS statement bilang alternatibo sa nested IF function

    Sa Excel 2016 at mga mas bagong bersyon, ipinakilala ng Microsoft ang isang espesyal na function upang suriin ang maraming kundisyon - ang IFS function.

    Kakayanin ng isang IFS formula ang hanggang 127 logical_test / value_if_true na pares, at ang unang logical test na nagsusuri sa TRUE "wins":

    IFS(logical_test1,value_if_true1, [logical_test2, value_if_true2]...)

    Alinsunod sa syntax sa itaas, ang aming nested IF formula ay maaaring muling buuin sa paraang ito:

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%)

    Mangyaring bigyang-pansin na ang Ibinabalik ng IFS function ang #N/A error kung wala sa mga tinukoy na kundisyon ang natutugunan. Upang maiwasan ito, maaari kang magdagdag ng isa pang logical_test / value_if_true sa dulo ng iyong formula na magbabalik ng 0 o walang laman na string ("") o anumang value na gusto mo kung wala sa TOTOO ang mga nakaraang lohikal na pagsubok:

    =IFS(B2>150, 10%, B2>=101, 7%, B2>=51, 5%, B2>0, 3%, TRUE, "")

    Bilang resulta, magbabalik ang aming formula ng walang laman na string (blangko na cell) sa halip na #N/A error kung ang isang katumbas na cell sa column B ay walang laman o naglalaman ng text o negatibong numero.

    Tandaan. Tulad ng nested IF, ang IFS function ng Excel ay nagbabalik ng value na tumutugma sa unang kundisyon na nagsusuri sa TRUE, kaya naman mahalaga ang pagkakasunud-sunod ng mga lohikal na pagsubok sa isang IFS formula.

    Para sa higit pang impormasyon, pakitingnan na lang ang Excel IFS function. ng nested IF.

    CHOOSE sa halip na nested IF formula sa Excel

    Ang isa pang paraan upang subukan ang maraming kundisyon sa loob ng iisang formula sa Excel ay ang paggamit ng CHOOSE function, na idinisenyo upang magbalik ng value mula sa ang listahan batay sa posisyon ng value na iyon.

    Inilapat sa aming sample na dataset, ang formula ay may sumusunod na hugis:

    =CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%)

    Sa unang argument ( index_num ), susuriin mo ang lahat ng kundisyon at dagdagan ang mga resulta. Ibinigayna ang TRUE ay katumbas ng 1 at FALSE sa 0, sa ganitong paraan kakalkulahin mo ang posisyon ng value na ibabalik.

    Halimbawa, ang value sa B2 ay $150. Para sa value na ito, ang unang 3 kundisyon ay TRUE at ang huli (B2 > 150) ay FALSE. Kaya, ang index_num ay katumbas ng 3, ibig sabihin ay ibinalik ang ika-3 halaga, na 7%.

    Tip. Kung walang TRUE sa mga lohikal na pagsubok, ang index_num ay katumbas ng 0, at ibinabalik ng formula ang #VALUE! pagkakamali. Ang isang madaling ayusin ay ang pagbabalot ng CHOOSE sa function na IFERROR tulad nito:

    =IFERROR(CHOOSE((B2>=1) + (B2>=51) + (B2>=101) + (B2>150), 3%, 5%, 7%, 10%), "")

    Para sa higit pang impormasyon, pakitingnan ang Excel CHOOSE function na may mga halimbawa ng formula.

    SWITCH function bilang isang maigsi na anyo ng nested IF sa Excel

    Sa mga sitwasyon kung kailan ka nakikitungo sa isang nakapirming hanay ng mga paunang natukoy na halaga, hindi mga kaliskis, ang SWITCH function ay maaaring isang compact na alternatibo sa complex nested IF statement:

    SWITCH(expression, value1, result1, value2, result2, …, [default])

    Ang SWITCH function ay sinusuri ang expression laban sa isang listahan ng values at ibinabalik ang resulta na tumutugma sa unang nakitang tugma.

    Kung sakaling, gusto mong kalkulahin ang komisyon batay sa mga sumusunod na grado, sa halip na mga halaga ng benta, maaari mong gamitin ang compact na ito bersyon ng nested IF formula sa Excel:

    =SWITCH(C2, "A", 10%, "B", 7%, "C", 5%, "D", 3%, "")

    O, maaari kang gumawa ng reference table tulad ng ipinapakita sa screenshot sa ibaba at gumamit ng mga cell reference sa halip na mga hardcoded value:

    =SWITCH(C2, $F$2, $G$2, $F$3, $G$3, $F$4, $G$4, $F$5, $G$5, "")

    Pakiusappansinin na ni-lock namin ang lahat ng reference maliban sa una na may $ sign upang maiwasang magbago ang mga ito kapag kinokopya ang formula sa ibang mga cell:

    Tandaan. Available lang ang SWITCH function sa Excel 2016 at mas bago.

    Para sa higit pang impormasyon, pakitingnan ang SWITCH function - ang compact form ng nested IF statement.

    Pagsasama-sama ng maramihang IF function sa Excel

    Tulad ng nabanggit sa nakaraang halimbawa, ang SWITCH function ay ipinakilala lamang sa Excel 2016. Upang pangasiwaan ang mga katulad na gawain sa mas lumang mga bersyon ng Excel, maaari mong pagsamahin ang dalawa o higit pang mga IF statement sa pamamagitan ng paggamit ng Concatenate operator (&) o ang CONCATENATE function .

    Halimbawa:

    =(IF(C2="a", 10%, "") & IF(C2="b", 7%, "") & IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

    O

    =CONCATENATE(IF(C2="a", 10%, ""), IF(C2="b", 7%, ""), IF(C2="c", 5%, "") & IF(C2="d", 3%, ""))*1

    Tulad ng maaaring mayroon ka napansin, pinarami namin ang resulta ng 1 sa parehong mga formula. Ginagawa ito upang i-convert ang isang string na ibinalik ng Concatenate formula sa isang numero. Kung text ang iyong inaasahang output, hindi kailangan ang multiplication operation.

    Para sa higit pang impormasyon, pakitingnan ang CONCATENATE function sa Excel.

    Makikita mo na ang Microsoft Excel ay nagbibigay ng ilang magagandang alternatibo sa mga nested IF formula, at sana ang tutorial na ito ay nagbigay sa iyo ng ilang mga pahiwatig kung paano gamitin ang mga ito sa iyong mga worksheet. Upang mas masusing tingnan ang mga halimbawang tinalakay sa tutorial na ito, malugod kang i-download ang aming sample na workbook sa ibaba. Salamat sa pagbabasa at umaasa akong makita ka sa aming blog sa susunod na linggo!

    Magsanay

    Si Michael Brown ay isang dedikadong mahilig sa teknolohiya na may hilig sa pagpapasimple ng mga kumplikadong proseso gamit ang mga tool sa software. Sa higit sa isang dekada ng karanasan sa industriya ng tech, hinasa niya ang kanyang mga kasanayan sa Microsoft Excel at Outlook, pati na rin ang Google Sheets at Docs. Ang blog ni Michael ay nakatuon sa pagbabahagi ng kanyang kaalaman at kadalubhasaan sa iba, na nagbibigay ng madaling sundan na mga tip at mga tutorial para sa pagpapabuti ng pagiging produktibo at kahusayan. Isa ka mang batikang propesyonal o baguhan, nag-aalok ang blog ni Michael ng mahahalagang insight at praktikal na payo para masulit ang mahahalagang software tool na ito.