Taarifa za Excel Nested IF - mifano, mbinu bora na mbadala

  • Shiriki Hii
Michael Brown

Mafunzo yanaeleza jinsi ya kutumia kitendakazi cha IF kilichowekwa katika Excel ili kuangalia hali nyingi. Pia utajifunza vipengele vingine vichache ambavyo vinaweza kuwa vibadala vyema vya kutumia fomula iliyoorodheshwa katika Excel.

Je, huwa unatekeleza vipi mantiki ya kufanya maamuzi katika lahakazi zako za Excel? Katika hali nyingi, ungetumia fomula ya IF kujaribu hali yako na kurudisha thamani moja ikiwa hali hiyo itatimizwa, thamani nyingine ikiwa hali haijatimizwa. Ili kutathmini zaidi ya hali moja na kurejesha thamani tofauti kulingana na matokeo, unaweka IF nyingi ndani ya nyingine.

Ingawa ni maarufu sana, taarifa ya IF iliyoorodheshwa sio njia pekee ya kuangalia hali nyingi katika Excel. Katika mafunzo haya, utapata baadhi ya njia mbadala ambazo hakika zinafaa kuchunguzwa.

    Excel iliweka taarifa ya IF

    Hapa kuna muundo wa kawaida wa Excel ulioweka fomula ya IF katika fomu ya jumla. :

    IF( condition1, matokeo1, IF( condition2, matokeo2, IF( condition3), matokeo3, matokeo4)))

    Unaweza kuona kwamba kila kitendakazi kinachofuata cha IF kimepachikwa kwenye value_if_false hoja ya chaguo za kukokotoa za awali. Kila kitendakazi cha IF kimefungwa katika seti yake ya mabano, lakini mabano yote ya kufunga yapo mwisho wa fomula.

    Fomula yetu ya jumla ya IF iliyojumuishwa hutathmini hali 3, na kurudisha matokeo 4 tofauti (matokeo 4 yanarejeshwa. kama hakunakitabu cha kazi cha kupakuliwa

    Excel nested If statement - mifano (.xlsx file)

    masharti ni KWELI). Ikitafsiriwa katika lugha ya kibinadamu, taarifa hii ya IF iliyoorodheshwa inaambia Excel kufanya yafuatayo:Jaribio condition1, kama TRUE - rudisha matokeo1, ikiwa FALSE -

    test condition2 , kama TRUE - rudisha r esult2 , if FALSE -

    test condition3 , kama TRUE - rudisha matokeo3 , ikiwa FALSE -

    return matokeo4

    Kwa mfano, hebu tujue kamisheni kwa wauzaji kadhaa kulingana na kiasi cha mauzo walichofanya:

    Tume Mauzo
    3% $1 - $50
    5% $51 - $100
    7% $101 - $150
    10% Zaidi ya $150

    Katika hesabu, kubadilisha mpangilio wa nyongeza hakubadilishi jumla. Katika Excel, kubadilisha mpangilio wa kazi za IF hubadilisha matokeo. Kwa nini? Kwa sababu fomula iliyoorodheshwa ya IF inaleta thamani inayolingana na hali ya kwanza ya TRUE . Kwa hivyo, katika taarifa zako za IF zilizowekwa, ni muhimu sana kupanga hali katika mwelekeo sahihi - juu hadi chini au chini hadi juu, kulingana na mantiki ya fomula yako. Kwa upande wetu, tunaangalia hali ya "juu" kwanza, kisha "ya pili juu", na kadhalika:

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

    Ikiwa tutaweka masharti katika mpangilio wa nyuma, kutoka chini kwenda juu, matokeo yote yangekuwa mabaya kwa sababu fomula yetu ingekoma baada ya jaribio la kwanza la kimantiki (B2>=1) kwa thamani yoyote kubwa kuliko 1. Wacha tuseme, tuna $100.katika mauzo - ni kubwa kuliko 1, kwa hivyo fomula haitaangalia masharti mengine na kurudisha 3% kama matokeo.

    Ikiwa ungependa kupanga masharti kutoka chini hadi juu, basi tumia "chini ya " opereta na tathmini hali ya "chini" kwanza, kisha "pili ya chini", na kadhalika:

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

    Kama unavyoona, inachukua mawazo mengi sana kujenga mantiki. ya taarifa ya IF iliyohifadhiwa kwa usahihi hadi mwisho. Na ingawa Microsoft Excel inaruhusu kuweka hadi vitendaji 64 IF katika fomula moja, si jambo ambalo ungependa kufanya katika laha zako za kazi. Kwa hivyo, ikiwa wewe (au mtu mwingine) unatazama fomula yako ya IF iliyoorodheshwa kwenye Excel kujaribu kubaini ni nini hasa inafanya, ni wakati wa kufikiria upya mkakati wako na pengine kuchagua zana nyingine katika ghala lako.

    Kwa maelezo zaidi. , tafadhali angalia taarifa ya IF iliyoorodheshwa ya Excel.

    Imewekwa IF na OR/AND masharti

    Iwapo utahitaji kutathmini seti chache za hali tofauti, unaweza kueleza masharti hayo kwa kutumia AU pamoja na NA kufanya kazi, weka vipengee vya kukokotoa ndani ya kauli za IF, na kisha uambatanishe taarifa za IF.

    Imewekwa IF katika Excel na taarifa za AU

    Kwa kutumia chaguo la kukokotoa la AU unaweza kuangalia mbili au zaidi. hali tofauti katika jaribio la kimantiki la kila chaguo la kukokotoa la IF na urudishe TRUE ikiwa yoyote (angalau moja) kati ya hoja za AU itatathminiwa kuwa TRUE. Ili kuona jinsi inavyofanya kazi, tafadhali zingatiamfano ufuatao.

    Tuseme, una safu mbili za mauzo, tuseme mauzo ya Januari katika safuwima B na mauzo ya Februari kwenye safuwima C. Ungependa kuangalia nambari katika safu wima zote mbili na kuhesabu kamisheni kulingana na nambari ya juu zaidi. Kwa maneno mengine, unaunda fomula yenye mantiki ifuatayo: ikiwa mauzo ya Januari au Februari ni zaidi ya $150, muuzaji atapata kamisheni ya 10%, ikiwa mauzo ya Januari au Februari ni kubwa kuliko au sawa na $101, muuzaji anapata kamisheni ya 7%. , na kadhalika.

    Ili kuifanya, andika baadhi ya kauli kama OR(B2>150, C2>150) na uziweke katika majaribio ya kimantiki ya chaguo za kukokotoa za IF zilizojadiliwa hapo juu. Kwa matokeo, unapata fomula hii:

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

    Na upewe kamisheni kulingana na kiasi cha juu cha mauzo:

    Kwa mifano zaidi ya fomula, tafadhali angalia Excel IF AU taarifa.

    Imewekwa IF katika Excel na AND statements

    Ikiwa majaribio yako ya kimantiki yanajumuisha hali nyingi, na masharti hayo yote yanapaswa kutathminiwa kuwa TRUE, yaeleze. kwa kutumia kitendakazi cha AND.

    Kwa mfano, kukabidhi kamisheni kulingana na idadi ndogo ya mauzo, chukua fomula iliyo hapo juu na ubadilishe AU na kauli za AND. Ili kuiweka tofauti, unaiambia Excel irejeshe 10% ikiwa tu mauzo ya Jan na Feb ni kubwa kuliko $150, 7% ikiwa mauzo ya Jan na Feb ni kubwa kuliko au sawa na $101, na kadhalika.

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

    Kwa matokeo, fomula yetu ya IF iliyoorodheshwa hukokotoa tumekulingana na nambari ya chini katika safu wima B na C. Ikiwa safu wima yoyote ni tupu, hakuna utume hata kidogo kwa sababu hakuna masharti ya AND yanayotimizwa:

    Ikiwa wewe' d napenda kurudisha 0% badala ya seli tupu, badilisha kamba tupu (''") katika hoja ya mwisho na 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%))))

    Maelezo zaidi yanaweza kupatikana hapa: Excel IF iliyo na hali nyingi NA/AU.

    VLOOKUP badala ya IF iliyowekwa kwenye Excel

    Unaposhughulika na "mizani", yaani safu mfululizo za thamani za nambari. ambazo kwa pamoja zinafunika safu nzima, katika hali nyingi unaweza kutumia chaguo za kukokotoa za VLOOKUP badala ya IF zilizowekwa kiota.

    Kwa kuanzia, tengeneza jedwali la marejeleo kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini. Kisha, tengeneza fomula ya Vlookup ukitumia kadirio la kulinganisha , yaani na range_lookup hoja iliyowekwa kuwa TRUE.

    Ikizingatiwa kuwa thamani ya utafutaji iko katika B2 na jedwali la marejeleo ni F2:G5, fomula inakwenda kama ifuatavyo. :

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

    Tafadhali kumbuka kwamba tunarekebisha jedwali_safu yenye marejeleo kamili ($F$2:$G$5) ili fomula inakili ipasavyo kwenye visanduku vingine:

    Kwa kuweka hoja ya mwisho ya fomula yako ya Vlookup kuwa TRUE, unaiambia Excel tafuta inayokaribiana zaidi - ikiwa inayolingana kabisa haipatikani, rudisha thamani kubwa inayofuata ambayo ni ndogo kuliko thamani ya kuangalia. Kama matokeo, fomula yako italingana sio tu na maadili halisi kwenye jedwali la kuangalia, lakini pia yoyotethamani ambazo ziko kati.

    Kwa mfano, thamani ya utafutaji katika B3 ni $95. Nambari hii haipo kwenye jedwali la uchunguzi, na Vlookup iliyo na inayolingana kabisa inaweza kuleta hitilafu ya #N/A katika kesi hii. Lakini Vlookup iliyo na takriban inayolingana inaendelea kutafuta hadi ipate thamani iliyo karibu zaidi ambayo ni chini ya thamani ya utafutaji (ambayo ni $50 katika mfano wetu) na kurudisha thamani kutoka safu wima ya pili katika safu mlalo sawa (ambayo ni 5%).

    Lakini vipi ikiwa thamani ya utafutaji ni chini ya nambari ndogo zaidi katika jedwali la utafutaji au kisanduku cha utafutaji hakina kitu? Katika hali hii, fomula ya Vlookup itarudisha hitilafu ya #N/A. Ikiwa sivyo unavyotaka, weka VLOOKUP ndani ya IFERROR na utoe thamani ya kutoa wakati thamani ya utafutaji haipatikani. Kwa mfano:

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

    Ujumbe muhimu! Ili fomula ya Vlookup iliyo na takriban inayolingana ifanye kazi kwa usahihi, safu wima ya kwanza katika jedwali la kuangalia lazima ipangwe kwa mpangilio wa kupanda , kutoka ndogo hadi kubwa zaidi.

    Kwa maelezo zaidi, tafadhali angalia Ulinganifu Halisi. VLOOKUP dhidi ya takriban inayolingana na VLOOKUP.

    Taarifa ya IFS kama mbadala wa chaguo za kukokotoa za IF zilizowekwa kwenye kiota

    Katika Excel 2016 na matoleo ya baadaye, Microsoft ilianzisha chaguo maalum la kukokotoa kutathmini hali nyingi - chaguo la kukokotoa la IFS.

    Mfumo wa IFS unaweza kushughulikia hadi jozi 127 logical_test / value_if_true , na jaribio la kwanza la kimantiki linalotathmini kuwa TRUE "wins":

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

    Kulingana na sintaksia hapo juu, fomula yetu ya IF iliyoorodheshwa inaweza kujengwa upya kwa njia hii:

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

    Tafadhali zingatia kwamba Chaguo za kukokotoa za IFS hurejesha hitilafu ya #N/A ikiwa hakuna masharti yaliyobainishwa yanayotimizwa. Ili kuepuka hili, unaweza kuongeza logical_test / value_if_true nyingine hadi mwisho wa fomula yako ambayo itarudisha 0 au mfuatano tupu ("") au thamani yoyote unayotaka ikiwa hakuna majaribio ya kimantiki ya hapo awali ni TRUE:

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

    Kutokana na hayo, fomula yetu itarudisha mfuatano tupu (kisanduku tupu) badala ya hitilafu ya #N/A ikiwa kisanduku sambamba katika safu wima B ni. tupu au ina maandishi au nambari hasi.

    Kumbuka. Kama vile IF iliyoorodheshwa, chaguo za kukokotoa za IFS za Excel hurejesha thamani inayolingana na hali ya kwanza inayotathminiwa kuwa TRUE, ndiyo maana mpangilio wa majaribio ya kimantiki katika fomula ya IFS ni muhimu.

    Kwa maelezo zaidi, tafadhali angalia kitendakazi cha Excel IFS badala yake. ya nested IF.

    CHAGUA badala ya fomula ya IF iliyoorodheshwa katika Excel

    Njia nyingine ya kujaribu hali nyingi ndani ya fomula moja katika Excel ni kutumia chaguo la kukokotoa la CHOOSE, ambalo limeundwa kurejesha thamani kutoka. orodha kulingana na nafasi ya thamani hiyo.

    Inatumika kwa sampuli ya mkusanyiko wetu wa data, fomula inachukua sura ifuatayo:

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

    Katika hoja ya kwanza ( index_num ), unatathmini hali zote na kuongeza matokeo. Imetolewakwamba TRUE ni sawa na 1 na FALSE hadi 0, kwa njia hii unakokotoa nafasi ya thamani ya kurejesha.

    Kwa mfano, thamani katika B2 ni $150. Kwa thamani hii, masharti 3 ya kwanza ni TRUE na ya mwisho (B2 > 150) ni FALSE. Kwa hivyo, index_num ni sawa na 3, kumaanisha kwamba thamani ya 3 inarudishwa, ambayo ni 7%.

    Kidokezo. Ikiwa hakuna jaribio lolote la kimantiki ambalo ni TRUE, index_num ni sawa na 0, na fomula hurejesha #VALUE! kosa. Rahisi kurekebisha ni kufunga CHOOSE katika chaguo za kukokotoa za IFERRO kama hii:

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

    Kwa maelezo zaidi, tafadhali angalia chaguo la kukokotoa la Excel CHOOSE na mifano ya fomula.

    BADILI utendakazi kama aina fupi ya IF iliyoorodheshwa katika Excel

    Katika hali unaposhughulikia seti maalum ya thamani zilizobainishwa awali, si mizani, kitendakazi cha SWITCH kinaweza kuwa mbadala thabiti kwa changamano. nested IF statements:

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

    Kitendo cha kukokotoa cha SWITCH hutathmini usemi dhidi ya orodha ya thamani na kurejesha matokeo yanayolingana na ya kwanza kupatikana.

    Iwapo, ungependa kukokotoa tume kulingana na madaraja yafuatayo, badala ya kiasi cha mauzo, unaweza kutumia kompakt hii. toleo la fomula ya IF iliyoorodheshwa katika Excel:

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

    Au, unaweza kutengeneza jedwali la marejeleo kama inavyoonyeshwa kwenye picha ya skrini iliyo hapa chini na utumie marejeleo ya seli badala ya thamani zenye msimbo gumu:

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

    Tafadhalitambua kwamba tunafunga marejeleo yote isipokuwa ya kwanza yenye ishara ya $ ili kuyazuia yasibadilike wakati wa kunakili fomula hadi seli zingine:

    Kumbuka. Chaguo za kukokotoa za SWITCH zinapatikana tu katika Excel 2016 na matoleo mapya zaidi.

    Kwa maelezo zaidi, tafadhali angalia kitendakazi cha SWITCH - umbo fumbatio wa taarifa ya IF iliyoorodheshwa.

    Kuunganisha vitendaji vingi vya IF katika Excel

    Kama ilivyotajwa katika mfano uliotangulia, chaguo la kukokotoa la SWITCH lilianzishwa katika Excel 2016 pekee. Ili kushughulikia kazi zinazofanana katika matoleo ya zamani ya Excel, unaweza kuchanganya taarifa mbili au zaidi za IF kwa kutumia opereta Concatenate (&) au kitendakazi cha CONCATENATE. .

    Kwa mfano:

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

    Au

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

    Kama unavyoweza kuwa nayo niliona, tunazidisha matokeo kwa 1 katika fomula zote mbili. Inafanywa ili kubadilisha mfuatano uliorejeshwa na fomula ya Concatenate kuwa nambari. Ikiwa matokeo unayotarajia ni maandishi, basi utendakazi wa kuzidisha hauhitajiki.

    Kwa maelezo zaidi, tafadhali angalia kitendakazi cha CONCATENATE katika Excel.

    Unaweza kuona kwamba Microsoft Excel hutoa wachache wa njia mbadala nzuri. kuunda fomula za IF, na tunatumahi kuwa somo hili limekupa vidokezo vya jinsi ya kuzitumia katika laha zako za kazi. Ili kuangalia kwa karibu mifano iliyojadiliwa katika somo hili, unakaribishwa kupakua sampuli yetu ya kitabu cha kazi hapa chini. Ninakushukuru kwa kusoma na natumai kukuona kwenye blogu yetu wiki ijayo!

    Fanya mazoezi

    Michael Brown ni mpenda teknolojia aliyejitolea na mwenye shauku ya kurahisisha michakato changamano kwa kutumia zana za programu. Akiwa na uzoefu wa zaidi ya muongo mmoja katika tasnia ya teknolojia, ameboresha ujuzi wake katika Microsoft Excel na Outlook, pamoja na Majedwali ya Google na Hati. Blogu ya Michael imejitolea kushiriki maarifa na ujuzi wake na wengine, kutoa vidokezo na mafunzo ambayo ni rahisi kufuata ili kuboresha tija na ufanisi. Iwe wewe ni mtaalamu aliyebobea au umeanza, blogu ya Michael inatoa maarifa muhimu na ushauri wa vitendo ili kupata manufaa zaidi kutoka kwa zana hizi muhimu za programu.