Geneste IF in Excel - formule met veelvuldige voorwaardes

  • Deel Dit
Michael Brown

Die tutoriaal verduidelik hoe om veelvuldige IF in Excel te gebruik en verskaf 'n paar geneste If-formulevoorbeelde vir mees algemene take.

As iemand jou vra watter Excel-funksie jy die meeste gebruik, wat sal jou antwoord wees? In die meeste gevalle is dit die Excel IF-funksie. 'n Gereelde If-formule wat 'n enkele toestand toets, is baie eenvoudig en maklik om te skryf. Maar wat as jou data meer uitgebreide logiese toetse met veelvuldige toestande vereis? In hierdie geval kan jy verskeie IF-funksies in een formule insluit, en hierdie veelvuldige If-stellings word Excel Nested IF genoem. Die grootste voordeel van die geneste If-stelling is dat dit jou in staat stel om meer as een toestand na te gaan en verskillende waardes terug te gee na gelang van die resultate van daardie kontroles, alles in 'n enkele formule.

Microsoft Excel het perke tot die vlakke van geneste IF's . In Excel 2003 en laer is tot 7 vlakke toegelaat. In Excel 2007 en hoër kan jy tot 64 IF-funksies in een formule nes.

Verder in hierdie tutoriaal sal jy 'n paar Excel geneste If-voorbeelde vind saam met 'n gedetailleerde verduideliking van hul sintaksis en logika .

    Voorbeeld 1. Klassieke geneste IF-formule

    Hier is 'n tipiese voorbeeld van Excel If met veelvuldige voorwaardes. Gestel jy het 'n lys van studente in kolom A en hul eksamenpunte in kolom B, en jy wil die tellings met die volgende klassifiseertoestande:

    • Uitstekend: Meer as 249
    • Goed: tussen 249 en 200, ingesluit
    • Bevredigend: tussen 199 en 150, ingesluit
    • Swak : Onder 150

    En nou, kom ons skryf 'n geneste IF-funksie gebaseer op die bogenoemde kriteria. Dit word as 'n goeie praktyk beskou om met die belangrikste toestand te begin en jou funksies so eenvoudig as moontlik te hou. Ons Excel geneste IF formule gaan soos volg:

    =IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))

    En werk presies soos dit moet:

    Verstaan ​​Excel geneste IF logika

    Ek het al gehoor dat sommige mense sê dat Excel-veelvoud As hulle mal maak :) Probeer dit in 'n ander hoek kyk:

    Wat die formule eintlik vertel Excel om te doen, is om die logiese_toets van die eerste IF-funksie te evalueer en, indien aan die voorwaarde voldoen word, die waarde terug te gee wat in die waarde_as_waar -argument verskaf word. As die voorwaarde van die 1ste If-funksie nie nagekom word nie, toets dan die 2de If-stelling, ensovoorts.

    IF( check ifB2>=249, if true - return"Uitstekend", of anders

    IF( kontroleer of B2>=200, indien waar - gee terug "Goed", of anders

    IF( kontroleer of B2>150, as waar - gee terug "Bevredigend", as onwaar -

    retour "Swak")))

    Voorbeeld 2. Veelvuldige As met rekenkundige berekeninge

    Hier is nog 'n tipiese taak: die eenheidsprys wissel na gelang van die gespesifiseerde hoeveelheid, en jou doel is om 'n formule te skryf watbereken die totale prys vir enige hoeveelheid items wat in 'n spesifieke sel ingevoer word. Met ander woorde, jou formule moet veelvuldige toestande nagaan en verskillende berekeninge uitvoer, afhangende van watter hoeveelheid reeks die gespesifiseerde hoeveelheid val:

    Eenheidhoeveelheid Prys per eenheid
    1 tot 10 $20
    11 tot 19 $18
    20 tot 49 $16
    50 tot 100 $13
    Meer as 101 $12

    Hierdie taak kan ook uitgevoer word deur verskeie IF-funksies te gebruik. Die logika is dieselfde as in die bostaande voorbeeld, die enigste verskil is dat jy die gespesifiseerde hoeveelheid vermenigvuldig met die waarde wat deur geneste IF's (d.w.s. die ooreenstemmende prys per eenheid) teruggestuur word.

    As die gebruiker die hoeveelheid invoer in sel B8, die formule is soos volg:

    =B8*IF(B8>=101, 12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, "")))))

    En die resultaat sal iets soortgelyks soos hierdie lyk:

    Soos jy verstaan , hierdie voorbeeld demonstreer slegs die algemene benadering, en jy kan hierdie geneste If-funksie maklik aanpas na gelang van jou spesifieke taak.

    Byvoorbeeld, in plaas daarvan om die pryse in die formule te "hardkodeer", kan jy verwys na die selle wat daardie waardes bevat (selle B2 tot B6). Dit sal jou gebruikers in staat stel om die brondata te wysig sonder om die formule op te dateer:

    =B8*IF(B8>=101,B6, IF(B8>=50, B5, IF(B8>=20, B4, IF( B8>=11, B3, IF(B8>=1, B2, "")))))

    Of jy wil dalk 'n bykomende IF-funksie insluit (s) wat 'n boonste regmaak,onderste of albei grense van die bedragreeks. Wanneer die hoeveelheid buite die reeks is, sal die formule 'n "buite die reeks"-boodskap vertoon. Byvoorbeeld:

    =IF(OR(B8>200,B8=101,12, IF(B8>=50, 13, IF(B8>=20, 16, IF( B8>=11, 18, IF(B8>=1, 20, ""))))))

    Die geneste IF-formules wat hierbo beskryf word, werk in alle weergawes van Excel. In Excel 365 en Excel 2021 kan jy ook die IFS-funksie vir dieselfde doel gebruik.

    Gevorderde Excel-gebruikers wat vertroud is met skikkingsformules, kan hierdie formule gebruik wat basies dieselfde ding doen as die geneste IF-funksie hierbo bespreek. Alhoewel die skikkingsformule baie moeiliker is om te verstaan, laat dit maar skryf, dit het een onbetwisbare voordeel - jy spesifiseer die reeks selle wat jou toestande bevat eerder as om elke toestand individueel te verwys. Dit maak die formule meer buigsaam, en as jou gebruikers toevallig enige van die bestaande toestande verander of 'n nuwe een byvoeg, sal jy net 'n enkele reeksverwysing in die formule hoef op te dateer.

    Excel geneste IF - wenke en truuks

    Soos jy sopas gesien het, is daar geen vuurpylwetenskap in die gebruik van veelvuldige IF in Excel nie. Die volgende wenke sal jou help om jou geneste IF-formules te verbeter en algemene foute te voorkom.

    Genste IF-limiete

    In Excel 2007 - Excel 365 kan jy tot 64 IF-funksies nes. In ouer weergawes van Excel 2003 en laer kan tot 7 geneste IF-funksies gebruik word. Die feit dat jy baie IF's in een formule kan nes, beteken egter nie dat jy dit moet doen nie.Hou asseblief in gedagte dat elke bykomende vlak jou formule moeiliker maak om te verstaan ​​en foutop te los. As jou formule te veel geneste vlakke het, wil jy dit dalk optimeer deur een van hierdie alternatiewe te gebruik.

    Die volgorde van geneste IF-funksies maak saak

    Die Excel-geneste IF-funksie evalueer die logiese toetse in die volgorde wat hulle in die formule verskyn, en sodra een van die toestande na WAAR evalueer word, word die daaropvolgende toestande nie getoets nie. Met ander woorde, die formule stop na die eerste WARE resultaat.

    Kom ons kyk hoe dit in die praktyk werk. Met B2 gelyk aan 274, evalueer die geneste IF-formule hieronder die eerste logiese toets (B2>249), en gee "Uitstekend" terug omdat hierdie logiese toets WAAR is:

    =IF(B2>249, "Excellent", IF(B2>=200, "Good", IF(B2>150, "Satisfactory", "Poor")))

    Nou, laat ons keer die volgorde van IF-funksies om:

    =IF(B2>150, "Satisfactory", IF(B2>200, "Good", IF(B2>249, "Excellent", "Poor")))

    Die formule toets die eerste voorwaarde, en omdat 274 groter as 150 is, is die resultaat van hierdie logiese toets ook WAAR. Gevolglik gee die formule "Bevredigend" terug sonder om ander toestande te toets.

    Jy sien, die verandering van die volgorde van IF-funksies verander die resultaat:

    Evalueer die formule logika

    Om die logiese vloei van jou geneste IF-formule stap-vir-stap te kyk, gebruik die Evalueer Formule-kenmerk geleë op die Formule -oortjie, in die Formuleouditering groep. Die onderstreepte uitdrukking is die deel wat tans geëvalueer word, en klik die Evalueer knoppie sal jou al die stappe in die evalueringsproses wys.

    Byvoorbeeld, die evaluering van die eerste logiese toets van die geneste IF-formule wat in die skermkiekie hieronder gewys word, sal soos volg verloop: B2>249; 274>249; WAAR; Uitstekend.

    Balanseer die parentese van geneste IF-funksies

    Een van die hoofuitdagings met geneste IF's in Excel is om parentese-pare te pas. As die hakies nie ooreenstem nie, sal jou formule nie werk nie. Gelukkig bied Microsoft Excel 'n paar kenmerke wat jou kan help om die hakies te balanseer wanneer jy 'n formule wysig:

    • As jy meer as een stel hakies het, word die hakies in verskillende kleure geskakeer. dat die openingshakies pas by die slot een.
    • Wanneer jy 'n hakies toemaak, lig Excel kortliks die bypassende paar uit. Dieselfde vetdruk, of "flikkering", effek word verkry wanneer jy deur die formule beweeg deur die pyltjie sleutels te gebruik.

    Vir meer inligting, sien asseblief Pas hakies pare in Excel-formules.

    Behandel teks en syfers anders

    Wanneer jy logiese toetse van jou geneste IF-formules bou, onthou dat teks en syfers verskillend behandel moet word - sluit tekswaardes altyd in dubbele aanhalingstekens, maar moet nooit aanhalingstekens om getalle sit nie:

    Reg: =IF(B2>249, "Uitstekend",...)

    Verkeerd: =IF(B2> "249", "Uitstekend",...)

    Die logiese toets van dietweede formule sal ONWAAR teruggee selfs al is die waarde in B2 groter as 249. Hoekom? Omdat 249 'n getal is en "249" 'n numeriese string is, wat twee verskillende dinge is.

    Voeg spasies of reëlbreuke by om geneste IF's makliker te lees

    Wanneer 'n formule met veelvuldige bou word geneste IF-vlakke, kan jy die formule se logika duideliker maak deur verskillende IF-funksies met spasies of lynbreuke te skei. Excel gee nie om oor ekstra spasiëring in 'n formule nie, so jy sal dalk nie bekommerd wees om dit te verniel nie.

    Om 'n sekere deel van die formule na die volgende reël te skuif, klik net waar jy 'n reëlbreuk wil invoeg , en druk Alt + Enter. Brei dan die formulebalk uit soveel as wat nodig is en jy sal sien dat jou geneste IF-formule baie makliker geword het om te verstaan.

    Alternatiewe vir geneste IF in Excel

    Om die limiet van sewe geneste IF-funksies in Excel 2003 en ouer weergawes te omseil en jou formules meer kompak en vinnig te maak, oorweeg dit om die volgende alternatiewe vir geneste Excel IF-funksies te gebruik.

    1. Om toets verskeie toestande en gee verskillende waardes terug op grond van die resultate van daardie toetse, jy kan die KIES-funksie gebruik in plaas van geneste IF's.
    2. Bou 'n verwysingstabel en 'n gebruik VLOOKUP met benaderde passing soos in hierdie voorbeeld getoon: VLOOKUP in plaas van geneste IF in Excel.
    3. Gebruik IF met logiese funksies OF / EN, soos gedemonstreer in die hierdievoorbeelde.
    4. Gebruik 'n skikkingsformule soos in hierdie voorbeeld getoon.
    5. Kombineer veelvuldige IF-stellings deur die CONCATENATE-funksie of die aaneenskakel-operateur (&) te gebruik. 'n Formulevoorbeeld kan hier gevind word.
    6. Vir ervare Excel-gebruikers kan die beste alternatief vir die gebruik van veelvuldige geneste IF-funksies wees om 'n pasgemaakte werkbladfunksie met VBA te skep.

    Dit is hoe jy gebruik 'n If-formule in Excel met verskeie voorwaardes. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien.

    Oefen werkboek vir aflaai

    Nested If Excel states (.xlsx file)

    Michael Brown is 'n toegewyde tegnologie-entoesias met 'n passie om komplekse prosesse te vereenvoudig deur sagteware-instrumente te gebruik. Met meer as 'n dekade se ondervinding in die tegnologiebedryf, het hy sy vaardighede in Microsoft Excel en Outlook, sowel as Google Sheets en Docs, opgeskerp. Michael se blog is toegewy daaraan om sy kennis en kundigheid met ander te deel, en verskaf maklik-om-te volg wenke en tutoriale vir die verbetering van produktiwiteit en doeltreffendheid. Of jy nou 'n ervare professionele persoon of 'n beginner is, Michael se blog bied waardevolle insigte en praktiese raad om die meeste uit hierdie noodsaaklike sagteware-nutsmiddels te kry.