Inhoudsopgave
De handleiding laat zien hoe u meerdere IF-statements in Excel kunt maken met zowel AND- als OR-logica. Ook leert u hoe u IF kunt gebruiken in combinatie met andere Excel-functies.
In het eerste deel van onze Excel IF-tutorial hebben we bekeken hoe u een eenvoudige IF-instructie met één voorwaarde voor tekst, getallen, datums, spaties en niet-spaties kunt construeren. Voor krachtige gegevensanalyse moet u echter vaak meerdere voorwaarden tegelijk evalueren. De onderstaande formulevoorbeelden tonen u de meest effectieve manieren om dit te doen.
Hoe IF-functie gebruiken met meerdere voorwaarden
In wezen zijn er twee soorten IF-formule met meerdere criteria op basis van de AND / OR-logica Bijgevolg moet u in de logische test van uw IF-formule een van deze functies gebruiken:
- AND-functie - geeft WAAR als alle voorwaarden is voldaan; anders FALSE.
- OR-functie - geeft WAAR als elke afzonderlijke voorwaarde is voldaan; anders FALSE.
Om het punt beter te illustreren, laten we enkele voorbeelden van formules uit de praktijk onderzoeken.
Excel IF-instructie met meerdere voorwaarden (AND-logica)
De algemene formule van Excel IF met twee of meer voorwaarden is deze:
IF(AND( voorwaarde1 , voorwaarde2 , ...), value_if_true, value_if_false)Vertaald in mensentaal zegt de formule: Als voorwaarde 1 waar is EN voorwaarde 2 waar is, retourneer dan waarde_indien_waar ; anders retourneer waarde_als_vals .
Stel dat u een tabel hebt met de scores van twee toetsen in de kolommen B en C. Om te slagen voor het eindexamen moet een leerling beide scores hoger dan 50 hebben.
Voor de logische test gebruikt u de volgende AND-instructie: AND(B2>50, C2>50)
Als beide voorwaarden waar zijn, geeft de formule "geslaagd"; als een voorwaarde onwaar is - "niet geslaagd".
=IF(AND(B2>50, B2>50), "geslaagd", "gezakt")
Makkelijk, nietwaar? De schermafbeelding hieronder bewijst dat onze Excel IF /AND formule goed werkt:
Op soortgelijke wijze kunt u de Excel IF-functie gebruiken met meerdere tekstvoorwaarden .
Om bijvoorbeeld "Goed" uit te voeren als zowel B2 als C2 groter zijn dan 50, en anders "Slecht", is de formule:
=IF(AND(B2="pass", C2="pass"), "Good!", "Bad")
Belangrijke opmerking! De AND functie controleert alle voorwaarden Zelfs als de reeds geteste voorwaarde(n) op FALSE uitkomen. Dit gedrag is een beetje ongebruikelijk, omdat in de meeste programmeertalen volgende voorwaarden niet worden getest als een van de vorige tests FALSE heeft opgeleverd.
In de praktijk kan een schijnbaar correcte IF-instructie een fout opleveren vanwege deze specificiteit. Bijvoorbeeld, de onderstaande formule zou #DIV/0! opleveren ("delen door nul" fout) als cel A2 gelijk is aan 0:
=IF(AND(A20, (1/A2)>0.5),"Goed", "Slecht")
Om dit te vermijden moet u een geneste IF-functie gebruiken:
=IF(A20, IF((1/A2)>0.5, "Goed", "Slecht"), "Slecht")
Voor meer informatie, zie IF EN formule in Excel.
Excel IF-functie met meerdere voorwaarden (OR-logica)
Om één ding te doen als elke omstandigheid is voldaan, anders iets anders doen, gebruik deze combinatie van de IF- en OR-functies:
IF(OR( voorwaarde1 , voorwaarde2 , ...), value_if_true, value_if_false)Het verschil met de hierboven besproken IF / AND formule is dat Excel TRUE teruggeeft indien een van de opgegeven voorwaarden waar is.
Dus als we in de vorige formule OR gebruiken in plaats van AND:
=IF(OR(B2>50, B2>50), "geslaagd", "gezakt")
Dan krijgt iedereen die meer dan 50 punten heeft in een van beide examens "geslaagd" in kolom D. Met dergelijke voorwaarden hebben onze studenten een betere kans om te slagen voor het eindexamen (Yvette heeft de pech dat ze slechts 1 punt mist).
Tip. Als u een meerdere IF-statements met tekst en het testen van een waarde in een cel met de OR-logica (d.w.z. een cel kan "dit" of "dat" zijn), dan kunt u een compactere formule maken met behulp van een matrixconstante.
Bijvoorbeeld, om een verkoop als "gesloten" te markeren als cel B2 "geleverd" of "betaald" is, is de formule:
=IF(OR(B2={"geleverd", "betaald"}), "Gesloten", "")
Meer formulevoorbeelden zijn te vinden in Excel IF OR-functie.
IF met meerdere AND & OR verklaringen
Indien uw taak het evalueren van meerdere sets van meerdere voorwaarden vereist, zult u beide AND & OR functies tegelijk moeten gebruiken.
Stel dat u in onze voorbeeldtabel de volgende criteria hebt om de examenresultaten te controleren:
- Voorwaarde 1: examen1>50 en examen2>50
- Voorwaarde 2: examen1>40 en examen2>60
Indien aan één van de voorwaarden is voldaan, wordt het eindexamen als geslaagd beschouwd.
Op het eerste gezicht lijkt de formule een beetje lastig, maar in feite is het dat niet! U drukt gewoon elk van de bovenstaande voorwaarden uit als een AND-statement en nestelt ze in de OR-functie (aangezien het niet nodig is aan beide voorwaarden te voldoen, volstaat een van beide):
OR(AND(B2>50, C2>50), AND(B2>40, C2>60)
Gebruik dan de OR-functie voor de logische test van IF en geef de gewenste waarde_indien_waar en waarde_als_valse waarden. Het resultaat is de volgende IF-formule met meerdere AND / OR-voorwaarden:
=IF(OR(AND(B2>50, C2>50), AND(B2>40, C2>60), "geslaagd", "gezakt")
Het onderstaande screenshot geeft aan dat we de formule goed hebben gedaan:
Uiteraard bent u niet beperkt tot het gebruik van slechts twee AND/OR-functies in uw IF-formules. U kunt er zoveel gebruiken als uw bedrijfslogica vereist, mits:
- In Excel 2007 en hoger hebt u niet meer dan 255 argumenten, en is de totale lengte van de IF-formule niet langer dan 8.192 tekens.
- In Excel 2003 en lager zijn er niet meer dan 30 argumenten en is de totale lengte van uw IF-formule niet langer dan 1.024 tekens.
Geneste IF-instructie om meerdere logische tests te controleren
Als u meerdere logische tests in één formule wilt evalueren, dan kunt u verschillende functies in elkaar nesten. Zulke functies heten geneste IF-functies Ze zijn bijzonder nuttig wanneer u verschillende waarden wilt teruggeven, afhankelijk van de resultaten van de logische tests.
Hier is een typisch voorbeeld: stel dat u de prestaties van de leerlingen wilt kwalificeren als " Goed ", " Bevredigend " en " Arme " op basis van de volgende scores:
- Goed: 60 of meer (>=60)
- Bevredigend: tussen 40 en 60 (>40 en <60)
- Slecht: 40 of minder (<=40)
Voordat u een formule schrijft, moet u nadenken over de volgorde van de functies die u gaat nesten. Excel zal de logische tests evalueren in de volgorde waarin zij in de formule voorkomen. Zodra een voorwaarde evalueert naar TRUE, worden de volgende voorwaarden niet meer getest, wat betekent dat de formule stopt na het eerste TRUE-resultaat.
In ons geval zijn de functies gerangschikt van grootste naar kleinste:
=IF(B2>=60, "Good", IF(B2>40, "Satisfactory", "Poor"))
Uiteraard kunt u meer functies nesten indien nodig (tot 64 in moderne versies).
Voor meer informatie, zie Hoe meerdere geneste IF-statements te gebruiken in Excel.
Excel IF array formule met meerdere voorwaarden
Een andere manier om een Excel IF meerdere voorwaarden te laten testen is door gebruik te maken van een matrixformule.
Om voorwaarden te evalueren met de AND logica, gebruik je het sterretje:
ALS( voorwaarde1 ) * ( voorwaarde2 ) * ..., value_if_true, value_if_false)Om voorwaarden te testen met de OR-logica, gebruik je het plusteken:
ALS( voorwaarde1 ) + ( voorwaarde2 ) + ..., value_if_true, value_if_false)Om een matrixformule correct te voltooien, drukt u de toetsen Ctrl + Shift + Enter samen in. In Excel 365 en Excel 2021 werkt dit ook als een gewone formule vanwege de ondersteuning voor dynamische matrices.
Bijvoorbeeld, om "Pass" te krijgen als zowel B2 als C2 groter zijn dan 50, is de formule:
=IF((B2>50) * (C2>50), "geslaagd", "gezakt")
In mijn Excel 365 werkt een normale formule prima (zoals je kunt zien in de bovenstaande screenshots). In Excel 2019 en lager, vergeet niet om er een matrixformule van te maken door de sneltoets Ctrl + Shift + Enter te gebruiken.
Om meerdere voorwaarden te evalueren met de OR-logica, is de formule:
=IF((B2>50) + (C2>50), "geslaagd", "gezakt")
IF gebruiken in combinatie met andere functies
In dit hoofdstuk wordt uitgelegd hoe u IF kunt gebruiken in combinatie met andere Excel-functies en welke voordelen dit u biedt.
Voorbeeld 1. Als #N/A fout in VLOOKUP
Wanneer VLOOKUP of een andere opzoekfunctie iets niet kan vinden, geeft het een #N/A-fout terug. Om uw tabellen er mooier uit te laten zien, kunt u nul, leeg, of specifieke tekst teruggeven als #N/A. Gebruik daarvoor deze generieke formule:
ALS(ISNA(VLOOKUP(...)), waarde_als_na , VLOOKUP(...))Bijvoorbeeld:
Indien #N/A retourneer 0:
Als de opzoekwaarde in E1 niet wordt gevonden, geeft de formule nul terug.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), 0, VLOOKUP(E1, A2:B10, 2, FALSE))
Indien #N/A retourneer blanco:
Als de opzoekwaarde niet wordt gevonden, geeft de formule niets terug (een lege tekenreeks).
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "", VLOOKUP(E1, A2:B10, 2, FALSE))
Indien #N/A retourneert bepaalde tekst:
Als de opzoekwaarde niet wordt gevonden, geeft de formule specifieke tekst terug.
=IF(ISNA(VLOOKUP(E1, A2:B10, 2,FALSE )), "Niet gevonden", VLOOKUP(E1, A2:B10, 2, FALSE).
Voor meer formulevoorbeelden, zie VLOOKUP met IF-instructie in Excel.
Voorbeeld 2. IF met de functies SUM, AVERAGE, MIN en MAX
Om celwaarden op basis van bepaalde criteria op te tellen, biedt Excel de functies SUMIF en SUMIFS.
In sommige situaties kan uw bedrijfslogica vereisen dat de SUM-functie wordt opgenomen in de logische test van IF. Bijvoorbeeld, om verschillende tekstlabels te retourneren afhankelijk van de som van de waarden in B2 en C2, is de formule:
=IF(SUM(B2:C2)>130, "Good", IF(SUM(B2:C2)>110, "Satisfactory", "Poor"))
Indien de som groter is dan 130, is het resultaat "goed"; indien groter dan 110 - "bevredigend", indien 110 of lager - "slecht".
Op soortgelijke wijze kunt u de functie AVERAGE opnemen in de logische test van IF en verschillende labels teruggeven op basis van de gemiddelde score:
=IF(AVERAGE(B2:C2)>65, "Good", IF(AVERAGE(B2:C2)>55, "Satisfactory", "Poor"))
Ervan uitgaande dat de totale score in kolom D staat, kunt u de hoogste en laagste waarde bepalen met behulp van de functies MAX en MIN:
=IF(D2=MAX($D$2:$D$10), "Beste resultaat", "")
=IF(D2=MAX($D$2:$D$10), "Beste resultaat", "")
Om beide labels in één kolom te hebben, nestelt u de bovenstaande functies in elkaar:
=IF(D2=MAX($D$2:$D$10), "Beste resultaat", IF(D2=MIN($D$2:$D$10), "Slechtste resultaat", "")
Evenzo kunt u IF gebruiken in combinatie met uw aangepaste functies. U kunt het bijvoorbeeld combineren met GetCellColor of GetCellFontColor om verschillende resultaten te verkrijgen op basis van een celkleur.
Daarnaast biedt Excel een aantal functies om gegevens te berekenen op basis van voorwaarden. Voor gedetailleerde formulevoorbeelden kunt u de volgende tutorials raadplegen:
- COUNTIF - cellen tellen die aan een voorwaarde voldoen
- COUNTIFS - cellen tellen met meerdere criteria
- SUMIF - cellen voorwaardelijk optellen
- SUMIFS - cellen met meerdere criteria optellen
Voorbeeld 3. IF met ISNUMBER, ISTEXT en ISBLANK
Om tekst, getallen en lege cellen te identificeren, biedt Microsoft Excel speciale functies zoals ISTEXT, ISNUMBER en ISBLANK. Door ze in de logische tests van drie geneste IF-statements te plaatsen, kunt u alle verschillende gegevenstypen in één keer identificeren:
=IF(ISTEXT(A2), "Text", IF(ISNUMBER(A2), "Number", IF(ISBLANK(A2), "Blank", ""))
Voorbeeld 4. IF en CONCATENATE
Om het resultaat van IF en wat tekst in één cel uit te voeren, gebruikt u de functies CONCATENATE of CONCAT (in Excel 2016 - 365) en IF samen. Bijvoorbeeld:
=CONCATENATE("U presteerde ", IF(B1>100,"fantastisch!", IF(B1>50,"goed","slecht"))
=CONCAT("U presteerde ", IF(B1>100,"fantastisch!", IF(B1>50,"goed", "slecht"))
Als je naar de onderstaande schermafbeelding kijkt, heb je nauwelijks uitleg nodig over wat de formule doet:
IF ISERROR / ISNA formule in Excel
De moderne versies van Excel hebben speciale functies om fouten op te vangen en te vervangen door een andere berekening of vooraf gedefinieerde waarde - IFERROR (in Excel 2007 en later) en IFNA (in Excel 2013 en later). In eerdere Excel-versies kunt u in plaats daarvan de combinaties IF ISERROR en IF ISNA gebruiken.
Het verschil is dat IFERROR en ISERROR alle mogelijke Excel-fouten behandelen, inclusief #VALUE!, #N/A, #NAME?, #REF!, #NUM!, #DIV/0! en #NULL! Terwijl IFNA en ISNA alleen gespecialiseerd zijn in #N/A fouten.
Om bijvoorbeeld de fout "delen door nul" (#DIV/0!) te vervangen door uw aangepaste tekst, kunt u de volgende formule gebruiken:
=IF(ISERROR(A2/B2), "N/A", A2/B2)
En dat is alles wat ik te zeggen heb over het gebruik van de IF-functie in Excel. Ik dank u voor het lezen en hoop u volgende week op onze blog te zien!
Praktijk werkboek om te downloaden
Excel IF meerdere criteria - voorbeelden (.xlsx bestand)