Datganiadau Excel Nested IF - enghreifftiau, arferion gorau a dewisiadau eraill

  • Rhannu Hwn
Michael Brown

Mae'r tiwtorial yn esbonio sut i ddefnyddio'r swyddogaeth IF nythu yn Excel i wirio amodau lluosog. Byddwch hefyd yn dysgu ychydig o swyddogaethau eraill a allai fod yn ddewisiadau amgen da i ddefnyddio fformiwla nythu yn Excel.

Sut ydych chi fel arfer yn gweithredu rhesymeg gwneud penderfyniadau yn eich taflenni gwaith Excel? Yn y rhan fwyaf o achosion, byddech chi'n defnyddio fformiwla IF i brofi'ch cyflwr a dychwelyd un gwerth os yw'r amod yn cael ei fodloni, gwerth arall os na chaiff yr amod ei fodloni. Er mwyn gwerthuso mwy nag un cyflwr a dychwelyd gwerthoedd gwahanol yn dibynnu ar y canlyniadau, rydych chi'n nythu sawl IF y tu mewn i'ch gilydd.

Er ei fod yn boblogaidd iawn, nid y datganiad IF nythu yw'r unig ffordd i wirio amodau lluosog yn Excel. Yn y tiwtorial hwn, fe welwch lond llaw o ddewisiadau eraill sy'n bendant yn werth eu harchwilio.

    6>Datganiad IF nythog Excel

    Dyma fformiwla glasurol Excel nythu IF ar ffurf generig :

    IF( amod1, canlyniad1, IF( amod2, canlyniad2, IF( amod3), canlyniad3, canlyniad4)))

    Gallwch weld bod pob ffwythiant IF dilynol wedi'i fewnosod i arg value_if_false y ffwythiant blaenorol. Mae pob ffwythiant IF wedi'i amgáu yn ei set ei hun o gromfachau, ond mae'r cromfachau cau i gyd ar ddiwedd y fformiwla.

    Mae ein fformiwla generig nythu IF yn gwerthuso 3 chyflwr, ac yn dychwelyd 4 canlyniad gwahanol (dychwelir canlyniad 4 os nad oes yr un o'rllyfr gwaith i'w lawrlwytho

    Excel nythol Os datganiad - enghreifftiau (ffeil .xlsx)

    amodau yn WIR). Wedi'i gyfieithu i iaith ddynol, mae'r datganiad IF nythog hwn yn dweud wrth Excel i wneud y canlynol:Profwch cyflwr 1, os GWIR - dychwelwch canlyniad1, os ANWIR -

    prawf amod2 , os GWIR - dychwelwch r esult2 , os ANGHYWIR -

    profwch amod3 , os GWIR - dychwelwch canlyniad3 , os ANGHYWIR -

    dychwelyd canlyniad4

    Er enghraifft, gadewch i ni ddarganfod comisiynau ar gyfer nifer o werthwyr yn seiliedig ar faint o werthiannau y maent wedi'u gwneud:

    >
    Comisiwn Gwerthiant
    3% $1 - $50
    5% $51 - $100
    7% $101 - $150
    10% Dros $150

    Mewn mathemateg, nid yw newid trefn atodiadau yn newid y swm. Yn Excel, mae newid trefn swyddogaethau IF yn newid y canlyniad. Pam? Oherwydd bod fformiwla IF nythog yn dychwelyd gwerth sy'n cyfateb i'r cyflwr gwIR cyntaf . Felly, yn eich datganiadau IF nythog, mae'n bwysig iawn trefnu'r amodau i'r cyfeiriad cywir - uchel i isel neu isel i uchel, yn dibynnu ar resymeg eich fformiwla. Yn ein hachos ni, rydym yn gwirio'r cyflwr "uchaf" yn gyntaf, yna'r "ail uchaf", ac yn y blaen:

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

    Pe baem yn gosod y amodau yn y drefn wrthdroi, o'r gwaelod i fyny, byddai'r canlyniadau i gyd yn anghywir oherwydd byddai ein fformiwla yn dod i ben ar ôl y prawf rhesymegol cyntaf (B2>=1) am unrhyw werth sy'n fwy nag 1. Gadewch i ni ddweud, mae gennym $100mewn gwerthiant - mae'n fwy nag 1, felly ni fyddai'r fformiwla yn gwirio amodau eraill ac yn dychwelyd 3% fel canlyniad.

    Os byddai'n well gennych drefnu'r amodau o isel i uchel, yna defnyddiwch y "llai na " gweithredwr a gwerthuswch y cyflwr "isaf" yn gyntaf, yna'r "ail isaf", ac yn y blaen:

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

    Fel y gwelwch, mae angen cryn dipyn o feddwl i adeiladu'r rhesymeg o ddatganiad IF nythu yn gywir yr holl ffordd i'r diwedd. Ac er bod Microsoft Excel yn caniatáu nythu hyd at 64 o swyddogaethau IF mewn un fformiwla, nid yw'n rhywbeth y byddech chi wir eisiau ei wneud yn eich taflenni gwaith. Felly, os ydych chi (neu rywun arall) yn syllu ar eich fformiwla Excel nythu IF yn ceisio darganfod beth mae'n ei wneud mewn gwirionedd, mae'n bryd ailystyried eich strategaeth ac mae'n debyg dewis offeryn arall yn eich arsenal.

    Am ragor o wybodaeth , gweler y datganiad OS wedi'i nythu gan Excel.

    Nythu OS gydag amodau OR/AND

    Rhag ofn y bydd angen i chi werthuso ychydig o setiau o wahanol amodau, gallwch fynegi'r amodau hynny gan ddefnyddio OR yn ogystal â A swyddogaeth, nythu'r ffwythiannau y tu mewn i ddatganiadau IF, ac yna nythu'r datganiadau IF i mewn i'w gilydd.

    Nythu IF yn Excel gyda datganiadau OR

    Drwy ddefnyddio'r ffwythiant OR gallwch wirio dau neu fwy amodau gwahanol ym mhrawf rhesymegol pob ffwythiant IF a dychwelyd GWIR os bydd unrhyw (o leiaf un) o'r dadleuon NEU yn gwerthuso i WIR. I weld sut mae'n gweithio mewn gwirionedd, ystyriwch yyr enghraifft ganlynol.

    Gan dybio, mae gennych ddwy golofn o werthiannau, dyweder gwerthiannau mis Ionawr yng ngholofn B a gwerthiannau mis Chwefror yng ngholofn C. Rydych am wirio'r rhifau yn y ddwy golofn a chyfrifo'r comisiwn yn seiliedig ar rif uwch. Mewn geiriau eraill, rydych chi'n adeiladu fformiwla gyda'r rhesymeg ganlynol: os yw gwerthiannau Ionawr neu Chwefror yn fwy na $150, mae'r gwerthwr yn cael comisiwn o 10%, os yw gwerthiannau Ionawr neu Chwefror yn fwy na neu'n hafal i $101, mae'r gwerthwr yn cael comisiwn o 7% , ac yn y blaen.

    I'w wneud, ysgrifennwch ychydig o ddatganiadau fel OR(B2>150, C2>150) a'u nythu i mewn i brofion rhesymegol y ffwythiannau IF a drafodwyd uchod. O ganlyniad, rydych chi'n cael y fformiwla hon:

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

    A bydd y comisiwn wedi'i neilltuo ar sail y swm gwerthiant uwch:

    Ar gyfer mwy o enghreifftiau fformiwla, gweler datganiad Excel IF OR.

    Nythu IF yn Excel gyda datganiadau AND

    Os yw eich profion rhesymegol yn cynnwys amodau lluosog, a dylai pob un o'r amodau hynny werthuso i WIR, mynegwch nhw trwy ddefnyddio'r ffwythiant AND.

    Er enghraifft, i aseinio'r comisiynau yn seiliedig ar nifer is o werthiannau, cymerwch y fformiwla uchod a disodli NEU gyda datganiadau AND. I'w roi yn wahanol, rydych yn dweud wrth Excel am ddychwelyd 10% dim ond os yw gwerthiant Ionawr a Chwefror yn fwy na $150, 7% os yw gwerthiannau Ionawr a Chwefror yn fwy na neu'n hafal i $101, ac yn y blaen.

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

    O ganlyniad, mae ein fformiwla IF nythu yn cyfrifo'r comisiwnyn seiliedig ar y nifer isaf yng ngholofnau B ac C. Os yw'r naill golofn neu'r llall yn wag, nid oes comisiwn o gwbl oherwydd nid yw'r un o'r amodau AC wedi'u bodloni:

    Os ydych' ch yn hoffi dychwelyd 0% yn lle celloedd gwag, disodli llinyn gwag (''") yn yr arg olaf gyda 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%))))

    Mae rhagor o wybodaeth ar gael yma: Excel IF gyda chyflyrau lluosog A/NEU.

    VLOOKUP yn lle nythu IF yn Excel

    Pan fyddwch yn delio â "graddfeydd", h.y. ystodau parhaus o werthoedd rhifiadol sydd gyda'i gilydd yn cwmpasu'r ystod gyfan, yn y rhan fwyaf o achosion gallwch ddefnyddio'r ffwythiant VLOOKUP yn lle IFs nythu.

    I ddechreuwyr, gwnewch dabl cyfeirio fel y dangosir yn y ciplun isod. Ac yna, adeiladwch fformiwla Vlookup gyda cyfateb bras , h.y. gyda'r arg range_lookup wedi'i gosod i WIR.

    A chymryd bod y gwerth chwilio yn B2 a'r tabl cyfeirio yw F2:G5, mae'r fformiwla'n mynd fel a ganlyn :

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

    Sylwch ein bod yn trwsio'r table_array gyda chyfeiriadau absoliwt ($F$2:$G$5) i'r fformiwla gopïo'n gywir i gelloedd eraill:

    Drwy osod arg olaf eich fformiwla Vlookup i WIR, rydych chi'n dweud wrth Excel i chwiliwch am y cyfateb agosaf - os na ddarganfyddir cyfatebiaeth union, dychwelwch y gwerth mwyaf nesaf sy'n llai na'r gwerth chwilio. O ganlyniad, bydd eich fformiwla yn cyd-fynd nid yn unig â'r union werthoedd yn y tabl chwilio, ond hefyd unrhyw raigwerthoedd sy'n disgyn rhwng.

    Er enghraifft, y gwerth chwilio yn B3 yw $95. Nid yw'r rhif hwn yn bodoli yn y tabl chwilio, a byddai Vlookup sy'n cyfateb yn union yn dychwelyd gwall #N/A yn yr achos hwn. Ond mae Vlookup sy'n cyfateb yn fras yn parhau i chwilio nes iddo ddod o hyd i'r gwerth agosaf sy'n llai na'r gwerth am-edrych (sef $50 yn ein hesiampl) ac yn dychwelyd gwerth o'r ail golofn yn yr un rhes (sef 5%).

    Ond beth os yw'r gwerth am-edrych yn llai na'r nifer lleiaf yn y tabl chwilio neu'r gell chwilio yn wag? Yn yr achos hwn, bydd fformiwla Vlookup yn dychwelyd y gwall # N/A. Os nad dyna'r hyn yr ydych ei eisiau mewn gwirionedd, nythu VLOOKUP y tu mewn i IFERROR a rhowch y gwerth i'r allbwn pan na chanfyddir y gwerth chwilio. Er enghraifft:

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

    Nodyn pwysig! Er mwyn i fformiwla Vlookup sy'n cyfateb yn fras weithio'n gywir, mae'n rhaid i'r golofn gyntaf yn y tabl am-edrych gael ei threfnu yn trefn esgynnol , o'r lleiaf i'r mwyaf.

    Am ragor o wybodaeth, gweler Union match VLOOKUP vs. cyfateb yn fras VLOOKUP.

    Datganiad IFS yn lle ffwythiant IF nythu

    Yn Excel 2016 a fersiynau diweddarach, cyflwynodd Microsoft swyddogaeth arbennig i werthuso amodau lluosog - y ffwythiant IFS.<3

    Gall fformiwla IFS drin hyd at 127 logical_test / value_if_true pâr, a'r prawf rhesymegol cyntaf sy'n gwerthuso i WIR "ennill":

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

    Yn unol â'r gystrawen uchod, gellir ail-greu ein fformiwla IF nythu fel hyn:

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

    Rhowch sylw bod y Mae ffwythiant IFS yn dychwelyd y gwall # N/A os nad yw'r un o'r amodau penodedig yn cael ei fodloni. Er mwyn osgoi hyn, gallwch ychwanegu un arall logical_test / value_if_true at ddiwedd eich fformiwla a fydd yn dychwelyd 0 neu linyn gwag ("") neu pa bynnag werth a ddymunwch os nad oes un o'r mae profion rhesymegol blaenorol yn WIR:

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

    O'r herwydd, bydd ein fformiwla yn dychwelyd llinyn gwag (cell wag) yn lle'r gwall # N/A os yw cell gyfatebol yng ngholofn B yn yn wag neu'n cynnwys testun neu rif negatif.

    Nodyn. Fel IF nythu, mae ffwythiant IFS Excel yn dychwelyd gwerth sy'n cyfateb i'r amod cyntaf sy'n gwerthuso i WIR, a dyna pam mae trefn y profion rhesymegol mewn fformiwla IFS yn bwysig.

    Am ragor o wybodaeth, gweler swyddogaeth Excel IFS yn lle hynny o nythog IF.

    DEWIS yn lle fformiwla IF nythu yn Excel

    Ffordd arall i brofi amodau lluosog o fewn fformiwla sengl yn Excel yw defnyddio'r ffwythiant CHOOSE, sydd wedi'i gynllunio i ddychwelyd gwerth o y rhestr yn seiliedig ar safle o'r gwerth hwnnw.

    Wedi'i gymhwyso i'n set ddata sampl, mae'r fformiwla yn cymryd y siâp a ganlyn:

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

    Yn y ddadl gyntaf ( index_num ), rydych yn gwerthuso'r holl amodau ac yn adio'r canlyniadau. Wedi rhoibod GWIR yn cyfateb i 1 ac ANGHYWIR i 0, fel hyn rydych chi'n cyfrifo lleoliad y gwerth i'w ddychwelyd.

    Er enghraifft, y gwerth yn B2 yw $150. Ar gyfer y gwerth hwn, mae'r 3 amod cyntaf yn WIR ac mae'r un olaf (B2 > 150) yn ANGHYWIR. Felly, mae index_num yn hafal i 3, sy'n golygu bod y 3ydd gwerth yn cael ei ddychwelyd, sef 7%.

    Awgrym. Os nad yw'r un o'r profion rhesymegol yn WIR, mae index_num yn hafal i 0, ac mae'r fformiwla yn dychwelyd y #VALUE! gwall. Ateb hawdd yw lapio CHOOSE yn y ffwythiant IFERROR fel hyn:

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

    Am ragor o wybodaeth, gweler swyddogaeth Excel CHOOSE gydag enghreifftiau o fformiwla.

    Swyddogaeth SWITCH fel ffurf gryno o IF nythu yn Excel

    Mewn sefyllfaoedd pan fyddwch yn delio â set sefydlog o werthoedd wedi'u diffinio ymlaen llaw, nid graddfeydd, gall y swyddogaeth SWITCH fod yn ddewis amgen cryno i gymhleth datganiadau IF nythu:

    SWITCH(mynegiant, gwerth1, canlyniad1, gwerth2, canlyniad2, …, [diofyn])

    Mae'r ffwythiant SWITCH yn gwerthuso mynegiant yn erbyn rhestr o werthoedd ac yn dychwelyd y canlyniad sy'n cyfateb i'r cyfatebiad cyntaf a ganfuwyd.

    Rhag ofn, yr hoffech gyfrifo'r comisiwn yn seiliedig ar y graddau canlynol, yn hytrach na symiau gwerthiant, gallech ddefnyddio'r compact hwn fersiwn o fformiwla IF nythu yn Excel:

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

    Neu, gallwch wneud tabl cyfeirio fel y dangosir yn y sgrinlun isod a defnyddio cyfeirnodau cell yn lle gwerthoedd cod caled:

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

    Os gwelwch yn ddasylwch ein bod yn cloi pob cyfeiriad ac eithrio'r un cyntaf gyda'r arwydd $ i'w hatal rhag newid wrth gopïo'r fformiwla i gelloedd eraill:

    Nodyn. Mae'r ffwythiant SWITCH ar gael yn Excel 2016 ac uwch yn unig.

    Am ragor o wybodaeth, gweler ffwythiant SWITCH - ffurf gryno datganiad IF wedi'i nythu.

    Cydgadweddu swyddogaethau IF lluosog yn Excel

    Fel y soniwyd yn yr enghraifft flaenorol, dim ond yn Excel 2016 y cyflwynwyd y swyddogaeth SWITCH. I drin tasgau tebyg mewn fersiynau Excel hŷn, gallwch gyfuno dau ddatganiad IF neu fwy trwy ddefnyddio'r gweithredwr Concatenate (&) neu'r swyddogaeth CONCATENATE .

    Er enghraifft:

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

    Neu

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

    Fel y gallai fod gennych sylwi, rydym yn lluosi'r canlyniad ag 1 yn y ddwy fformiwla. Mae'n cael ei wneud i drosi llinyn a ddychwelwyd gan y fformiwla Concatenate i rif. Os mai testun yw eich allbwn disgwyliedig, yna nid oes angen y gweithrediad lluosi.

    Am ragor o wybodaeth, gweler swyddogaeth CONCATENATE yn Excel.

    Gallwch weld bod Microsoft Excel yn darparu llond llaw o ddewisiadau amgen da i nythu fformiwlâu IF, a gobeithio bod y tiwtorial hwn wedi rhoi rhai cliwiau i chi ar sut i'w trosoledd yn eich taflenni gwaith. I gael golwg agosach ar yr enghreifftiau a drafodir yn y tiwtorial hwn, mae croeso i chi lawrlwytho ein gweithlyfr enghreifftiol isod. Diolch i chi am ddarllen a gobeithio gweld chi ar ein blog wythnos nesaf!

    Ymarfer

    Mae Michael Brown yn frwd dros dechnoleg ymroddedig ac yn frwd dros symleiddio prosesau cymhleth gan ddefnyddio offer meddalwedd. Gyda mwy na degawd o brofiad yn y diwydiant technoleg, mae wedi hogi ei sgiliau yn Microsoft Excel ac Outlook, yn ogystal â Google Sheets a Docs. Mae blog Michael yn ymroddedig i rannu ei wybodaeth a'i arbenigedd ag eraill, gan ddarparu awgrymiadau a thiwtorialau hawdd eu dilyn ar gyfer gwella cynhyrchiant ac effeithlonrwydd. P'un a ydych chi'n weithiwr proffesiynol profiadol neu'n ddechreuwr, mae blog Michael yn cynnig mewnwelediadau gwerthfawr a chyngor ymarferol ar gyfer cael y gorau o'r offer meddalwedd hanfodol hyn.