Excel IF-funksie met verskeie voorwaardes

  • Deel Dit
Michael Brown

Die tutoriaal wys hoe om veelvuldige IF-stellings in Excel te skep met EN sowel as OF-logika. Jy sal ook leer hoe om IF saam met ander Excel-funksies te gebruik.

In die eerste deel van ons Excel IF-tutoriaal het ons gekyk hoe om 'n eenvoudige IF-stelling met een voorwaarde vir teks te konstrueer, nommers, datums, spasies en nie-blankes. Vir kragtige data-analise moet jy egter dikwels verskeie toestande op 'n slag evalueer. Die onderstaande formule-voorbeelde sal jou die doeltreffendste maniere wys om dit te doen.

    Hoe om IF-funksie met veelvuldige voorwaardes te gebruik

    In wese is daar twee tipes van die IF formule met veelvuldige kriteria gebaseer op die EN / OF logika . Gevolglik, in die logiese toets van jou IF formule, moet jy een van hierdie funksies gebruik:

    • EN funksie - gee WAAR terug as al die voorwaardes nagekom word; ONWAAR anders.
    • OF-funksie - gee WAAR terug as enige enkele voorwaarde nagekom word; ONWAAR anders.

    Om die punt beter te illustreer, kom ons ondersoek 'n paar voorbeelde van werklike formules.

    Excel IF-stelling met veelvuldige voorwaardes (EN logika)

    Die generiese formule van Excel IF met twee of meer voorwaardes is dit:

    IF(EN( voorwaarde1, voorwaarde2, …), waarde_as_waar, waarde_as_onwaar)

    Vertaal in 'n mens taal, sê die formule: As voorwaarde 1 waar is EN voorwaarde 2 waar is, keer terug waarde_as_waar ; else return value_if_false .

    Gestel jy het 'n tabel wat die tellings van twee toetse in kolomme B en C bevat. Om die eindeksamen te slaag, moet 'n student albei tellings groter as 50 hê.

    Vir die logiese toets gebruik jy die volgende EN-stelling: AND(B2>50, C2>50)

    As beide voorwaardes waar is, sal die formule "Slaag" terugstuur; as enige voorwaarde vals is - "Misluk".

    =IF(AND(B2>50, B2>50), "Pass", "Fail")

    Maklik, is dit nie? Die skermkiekie hieronder bewys dat ons Excel IF /EN-formule reg werk:

    Op 'n soortgelyke manier kan jy die Excel IF-funksie met veelvuldige teksvoorwaardes gebruik.

    Vir byvoorbeeld, om "Goed" uit te voer as beide B2 en C2 groter as 50 is, "Sleg" anders is die formule:

    =IF(AND(B2="pass", C2="pass"), "Good!", "Bad")

    Belangrike nota! Die EN-funksie kontroleer al die voorwaardes , selfs al is die reeds getoetste een(s) na ONWAAR geëvalueer. Sulke gedrag is 'n bietjie ongewoon aangesien in die meeste programmeertale daaropvolgende toestande nie getoets word as enige van die vorige toetse ONWAAR teruggekeer het nie.

    In die praktyk kan 'n oënskynlik korrekte IF-stelling 'n fout tot gevolg hê as gevolg van hierdie spesifisiteit. Byvoorbeeld, die onderstaande formule sal #DIV/0 terugstuur! ("deel deur nul" fout) as sel A2 gelyk is aan 0:

    =IF(AND(A20, (1/A2)>0.5),"Good", "Bad")

    Om dit te vermy, moet jy 'n geneste IF-funksie gebruik:

    =IF(A20, IF((1/A2)>0.5, "Good", "Bad"), "Bad")

    Vir meer inligting, sien asseblief IF EN formule in Excel.

    Excel IF funksie met veelvuldigevoorwaardes (OF logika)

    Om een ​​ding te doen as enige voorwaarde nagekom word, anders doen iets anders, gebruik hierdie kombinasie van die IF- en OF-funksies:

    IF(OR( voorwaarde1 , voorwaarde2 , …), waarde_as_waar, waarde_as_vals)

    Die verskil van die IF / EN-formule wat hierbo bespreek is, is dat Excel WAAR gee as enige van die gespesifiseerde voorwaardes waar is.

    Dus, as ons in die vorige formule OF gebruik in plaas van EN:

    =IF(OR(B2>50, B2>50), "Pass", "Fail")

    Dan sal enigiemand wat meer as 50 punte in enige eksamen het, "Slaag" kry in kolom D. Met sulke toestande het ons studente 'n beter kans om die eindeksamen te slaag (Yvette is veral ongelukkig om met net 1 punt te druip :)

    Wenk. As jy 'n meervoudige IF-stelling met teks skep en 'n waarde in een sel met die OF-logika toets (m.a.w. 'n sel kan "dit" of "dat") wees, dan kan jy 'n meer kompakte bou formule wat 'n skikkingkonstante gebruik.

    Om byvoorbeeld 'n verkoop as "gesluit" te merk as sel B2 óf "afgelewer" óf "betaal" is, is die formule:

    =IF(OR(B2={"delivered", "paid"}), "Closed", "")

    Meer formule voorbeelde kan gevind word in Excel IF OF funksie.

    IF met veelvuldige EN & OF-stellings

    As jou taak vereis dat verskeie stelle veelvuldige voorwaardes evalueer word, sal jy beide EN & OF funksioneer op 'n slag.

    In ons voorbeeldtabel, veronderstel jy het die volgende kriteria om die eksamenuitslae na te gaan:

    • Voorwaarde 1:eksamen1>50 en eksamen2>50
    • Voorwaarde 2: eksamen1>40 en eksamen2>60

    Indien aan een van die voorwaardes voldoen word, word die eindeksamen as geslaag beskou.

    Met die eerste oogopslag lyk die formule 'n bietjie lastig, maar dit is eintlik nie! Jy druk net elkeen van die bogenoemde voorwaardes uit as 'n EN-stelling en nes dit in die OF-funksie (aangesien dit nie nodig is om aan beide voorwaardes te voldoen nie, sal een van die twee voldoende wees):

    OR(AND(B2>50, C2>50), AND(B2>40, C2>60)

    Gebruik dan die OF-funksie vir die logiese toets van IF en verskaf die verlangde waarde_as_waar en waarde_as_onwaar waardes. As gevolg hiervan kry jy die volgende IF formule met veelvuldige EN/OF voorwaardes:

    =IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "Pass", "Fail")

    Die skermkiekie hieronder dui aan dat ons die formule reg gedoen het:

    Natuurlik , jy is nie beperk tot die gebruik van slegs twee EN/OF-funksies in jou IF-formules nie. Jy kan soveel van hulle gebruik as wat jou besigheidslogika vereis, mits:

    • In Excel 2007 en hoër, jy nie meer as 255 argumente het nie, en die totale lengte van die IF-formule nie oorskry nie 8 192 karakters.
    • In Excel 2003 en laer is daar nie meer as 30 argumente nie, en die totale lengte van jou IF-formule oorskry nie 1 024 karakters nie.

    Neste IF-stelling na kontroleer verskeie logiese toetse

    As jy verskeie logiese toetse binne 'n enkele formule wil evalueer, kan jy verskeie funksies in mekaar nes. Sulke funksies word geneste genoemIF-funksies . Hulle is veral nuttig wanneer jy verskillende waardes wil teruggee na gelang van die logiese toetse se resultate.

    Hier is 'n tipiese voorbeeld: veronderstel jy wil die studente se prestasies as " Goed " kwalifiseer. " Bevredigend " en " Swak " gebaseer op die volgende tellings:

    • Goed: 60 of meer (>=60)
    • Bevredigend: tussen 40 en 60 (>40 en <60)
    • Swak: 40 of minder (<=40)

    Voordat jy 'n formule skryf, oorweeg die volgorde van funksies wat jy gaan nes. Excel sal die logiese toetse evalueer in die volgorde wat hulle in die formule verskyn. Sodra 'n toestand na WAAR evalueer word, word die daaropvolgende toestande nie getoets nie, wat beteken dat die formule stop na die eerste WAAR resultaat.

    In ons geval word die funksies van die grootste na die kleinste gerangskik:

    =IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))

    Natuurlik kan jy meer funksies nes indien nodig (tot 64 in moderne weergawes).

    Vir meer inligting, sien asseblief Hoe om veelvuldige geneste IF-stellings in Excel te gebruik.

    Excel IF-skikkingformule met veelvuldige voorwaardes

    Nog 'n manier om 'n Excel IF te laat toets veelvuldige voorwaardes is deur 'n skikkingsformule te gebruik.

    Om toestande met die EN-logika te evalueer, gebruik die asterisk:

    IF( voorwaarde1 ) * ( voorwaarde2 ) * …, value_if_true, value_if_false)

    Om toestande met die OF-logika te toets, gebruik die plusteken:

    IF( voorwaarde1 ) + ( voorwaarde2 ) + …,value_if_true, value_if_false)

    Om 'n skikkingsformule korrek te voltooi, druk die Ctrl + Shift + Enter-sleutels saam. In Excel 365 en Excel 2021 werk dit ook as 'n gewone formule as gevolg van ondersteuning vir dinamiese skikkings.

    Om byvoorbeeld "Slaag" te kry as beide B2 en C2 groter as 50 is, is die formule:

    =IF((B2>50) * (C2>50), "Pass", "Fail")

    In my Excel 365 werk 'n normale formule goed (soos jy in die skermkiekies hierbo kan sien). In Excel 2019 en laer, onthou om dit 'n skikkingsformule te maak deur die Ctrl + Shift + Enter-kortpad te gebruik.

    Om veelvuldige toestande met die OF-logika te evalueer, is die formule:

    =IF((B2>50) + (C2>50), "Pass", "Fail")

    Gebruik IF saam met ander funksies

    Hierdie afdeling verduidelik hoe om IF in kombinasie met ander Excel-funksies te gebruik en watter voordele dit vir jou inhou.

    Voorbeeld 1. As #N /'n Fout in VLOOKUP

    Wanneer VLOOKUP of ander opsoekfunksie iets nie kan vind nie, gee dit 'n #N/A-fout terug. Om jou tabelle mooier te laat lyk, kan jy nul, leë of spesifieke teks teruggee as #Nvt. Gebruik hiervoor hierdie generiese formule:

    IF(ISNA(VLOOKUP(…)), value_if_na , VLOOKUP(...))

    Byvoorbeeld:

    As #N/ 'n Return 0:

    As die opsoekwaarde in E1 nie gevind word nie, gee die formule nul terug.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))

    As #N/A gee leeg:

    As die opsoekwaarde nie gevind word nie, gee die formule niks terug nie ('n leë string).

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))

    Indien #N/A gee sekere teks terug:

    As die opsoekwaarde is nie gevind nie, dieformule gee spesifieke teks terug.

    =IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Not found", VLOOKUP(E1, A2:B10, 2, FALSE))

    Vir meer formulevoorbeelde, sien asseblief VLOOKUP met IF-stelling in Excel.

    Voorbeeld 2. IF met SOM, AVERAGE, MIN en MAX funksies

    Om selwaardes op grond van sekere kriteria op te som, verskaf Excel die SUMIF- en SUMIFS-funksies.

    In sommige situasies kan jou besigheidslogika vereis dat die SOM-funksie in die logiese toets van IF ingesluit word. Byvoorbeeld, om verskillende teksetikette na gelang van die som van die waardes in B2 en C2 terug te gee, is die formule:

    =IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))

    As die som groter as 130 is, is die resultaat "goed" "; indien groter as 110 – "bevredigend", indien 110 of laer – "swak".

    Op 'n soortgelyke wyse kan jy die AVERAGE-funksie in die logiese toets van IF insluit en verskillende etikette op grond van die gemiddelde telling terugstuur. :

    =IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))

    As die totale telling in kolom D is, kan jy die hoogste en laagste waardes identifiseer met behulp van die MAX- en MIN-funksies:

    =IF(D2=MAX($D$2:$D$10), "Best result", "")

    =IF(D2=MAX($D$2:$D$10), "Best result", "")

    Om beide etikette in een kolom te hê, nes die bogenoemde funksies in mekaar:

    =IF(D2=MAX($D$2:$D$10), "Best result", IF(D2=MIN($D$2:$D$10), "Worst result", ""))

    Net so kan jy IF saam met jou pasgemaakte gebruik funksies. Jy kan dit byvoorbeeld met GetCellColor of GetCellFontColor kombineer om verskillende resultate op grond van 'n selkleur terug te gee.

    Boonop verskaf Excel 'n aantal funksies om data te bereken op grond van toestande. Vir gedetailleerde formulevoorbeelde, kyk asseblief na die volgendetutoriale:

    • COUNTIF - tel selle wat aan 'n voorwaarde voldoen
    • COUNTIFS - tel selle met veelvuldige kriteria
    • SUMIF - voorwaardelik som selle
    • SUMME - som selle met veelvuldige kriteria

    Voorbeeld 3. IF met ISNUMBER, ISTEXT en ISBLANK

    Om teks, getalle en leë selle te identifiseer, verskaf Microsoft Excel spesiale funksies soos ISTEXT, ISNUMBER en ISLANK. Deur hulle in die logiese toetse van drie geneste IF-stellings te plaas, kan jy al die verskillende datatipes in een slag identifiseer:

    =IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", "")))

    Voorbeeld 4. IF en CONCATENATE

    To voer die resultaat van IF en sommige teks in een sel uit, gebruik die CONCATENATE of CONCAT (in Excel 2016 - 365) en IF funksies saam. Byvoorbeeld:

    =CONCATENATE("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

    =CONCAT("You performed ", IF(B1>100,"fantastic!", IF(B1>50, "well", "poor")))

    As jy na die skermkiekie hieronder kyk, sal jy skaars enige verduideliking nodig hê van wat die formule doen:

    INDIEN FOUT / ISNA-formule in Excel

    Die moderne weergawes van Excel het spesiale funksies om foute vas te vang en te vervang met 'n ander berekening of voorafbepaalde waarde - IFERROR (in Excel 2007 en later) en IFNA (in Excel 2013 en later). In vroeëre Excel-weergawes kan jy eerder die IF ISERROR en IF ISNA-kombinasies gebruik.

    Die verskil is dat IFERROR en ISERROR alle moontlike Excel-foute hanteer, insluitend #VALUE!, #N/A, #NAAM?, #VERW!, #NUM!, #DIV/0!, en #NULL!. Terwyl IFNA en ISNA uitsluitlik in #N/A-foute spesialiseer.

    Byvoorbeeld, omvervang die "deel deur nul"-fout (#DIV/0!) met jou pasgemaakte teks, jy kan die volgende formule gebruik:

    =IF(ISERROR(A2/B2), "N/A", A2/B2)

    En dit is al wat ek te sê het oor die gebruik van die IF-funksie in Excel. Ek bedank jou vir die lees en hoop om jou volgende week op ons blog te sien!

    Oefen werkboek vir aflaai

    Excel IF veelvuldige kriteria - voorbeelde (.xlsx lêer)

    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.