Advertentie
Iedereen weet hoe veelzijdig de IF-instructie is in een scriptprogramma, maar wist u dat u veel van dezelfde logica in een cel in Excel kunt gebruiken?
Een basisdefinitie van een IF statement in een programma Hoe u 'Als-dan'-logica kunt gebruiken om uw doelen te bereikenWe hebben goede voornemens voor het nieuwe jaar genomen. Het draait allemaal om zelfverbetering. Maar bedoelingen zijn niet genoeg. Om door te gaan, heb je een actieplan nodig. Lees verder is dat u hiermee iets specifieks kunt uitvoeren op basis van de resultaten van verschillende invoer. U kunt geheel andere berekeningen uitvoeren op basis van de output van een andere berekening. Je zou kunnen optreden conditionele opmaak Formatteer gegevens automatisch in Excel-spreadsheets met voorwaardelijke opmaakMet de voorwaardelijke opmaakfunctie van Excel kunt u afzonderlijke cellen in een Excel-spreadsheet opmaken op basis van hun waarde. We laten u zien hoe u dit kunt gebruiken voor verschillende dagelijkse taken. Lees verder . U kunt uw output zelfs baseren op string-zoekopdrachten van invoercellen.
Maak je geen zorgen als dit ingewikkeld klinkt. Laten we eens kijken naar enkele creatieve manieren waarop u IF-instructies in Excel kunt gebruiken.
Wat is een IF-verklaring in Excel?
Wanneer de meeste mensen denken aan het gebruik van een IF-instructie in Excel, denken ze aan VBA. Dit komt omdat een IF-instructie meestal logica is die wordt gebruikt in de wereld van programmeren. U kunt dezelfde programmeerlogica echter rechtstreeks in de spreadsheetcel zelf gebruiken.
Wanneer u "= IF (" in de cel typt, ziet u hoe de syntaxis van uw IF-instructie eruit moet zien om correct te functioneren. De basisvereiste is slechts een "logische test". Standaard is de uitvoer naar de cel WAAR of ONWAAR, maar u kunt dat aanpassen door extra parameters in de functie op te nemen.
Hoe een Basic IF-functie werkt
Laten we eerst eens kijken naar een elementaire IF-functie. In de voorbeeldspreadsheet hierboven heb ik vier activiteiten die ik log met betrekking tot mijn auto. Ik noteer de datum waarop een van de vier gebeurtenissen plaatsvindt: een olieverversing, autoreparatie, registratie of verlenging van de verzekering.
Stel dat als de kolom 'Gerepareerd' een 'JA' bevat, dan wil ik dat het gebeurtenistype 'REPARATIE' heeft. Anders moet het "NIET-REPARATIE" zijn. De logica voor deze IF-instructie is heel eenvoudig:
= ALS (C2 = "JA", "Reparatie", "Niet-reparatie")
Het vullen van de hele kolom met deze formule levert de volgende resultaten op:
Dit is nuttige logica, maar in dit specifieke geval is het niet echt logisch. Het enige dat iemand hoeft te doen, is kijken naar de kolom "Gerepareerd" om te bepalen of die datum al dan niet een reparatie betrof.
Laten we dus wat meer geavanceerde IF-functie-instructies bekijken om te zien of we deze kolom een beetje nuttiger kunnen maken.
EN- en IF-verklaringen
Net als in een gewoon programma, moet je soms AND-logica gebruiken om twee of drie van elkaar afhankelijke voorwaarden te onderzoeken. Hetzelfde geldt hier.
Laten we twee nieuwe soorten gebeurtenissen definiëren: Gepland of Ongepland.
Voor dit voorbeeld gaan we ons concentreren op alleen de Olie vervanging kolom. Ik weet dat ik mijn olieverversingen meestal op de 2e dag van elke maand inplant. Elke olieverversing die niet op de tweede dag van de maand is, was een ongeplande olieverversing.
Om deze te identificeren, moeten we AND-logica als volgt gebruiken:
= ALS (EN (DAG (A2) = 2, B2 = "JA"), "Gepland", "Ongepland")
De resultaten zien er als volgt uit:
Dit werkt prima, maar zoals je kunt zien is er een lichte logische fout. Het werkt om te laten zien wanneer olieverversingen plaatsvinden op verwachte data - die verschijnen als "Gepland". Maar als de kolom Olieverversing leeg is, moet de uitvoer ook leeg zijn. Het heeft geen zin om in die gevallen een resultaat te retourneren omdat er nooit olie is ververst.
Om dit te bereiken, gaan we verder met de volgende geavanceerde IF-functieles: geneste IF-instructies.
Geneste IF-verklaringen
Voortbouwend op de laatste functie, moet u nog een IF-instructie toevoegen binnen de oorspronkelijke IF-instructie. Dit zou een blanco moeten teruggeven als de originele olieverversingscel leeg is.
Zo ziet die verklaring eruit:
= ALS (ISBLANK (B2), "", ALS (EN (DAG (A2) = 2, B2 = "JA"), "Gepland", "Ongepland"))
Nu begint de verklaring er wat ingewikkeld uit te zien, maar dat is het echt niet als je goed kijkt. De eerste IF-instructie controleert of de cel in de B-kolom leeg is. Als dit het geval is, wordt er een spatie geretourneerd, of "".
Als het niet leeg is, voegt u dezelfde IF-instructie die we in de bovenstaande sectie hebben gebruikt in het False-gedeelte van de eerste IF-instructie in. Op deze manier controleert en controleert u alleen resultaten over de datum van de olieverversing toen er daadwerkelijk een olieverversing plaatsvond. Anders is de cel leeg.
Zoals je je kunt voorstellen, kan dit erg complex worden. Dus als u IF-instructies nestelt, doe dat dan altijd stap voor stap. Test de logica van individuele IF-instructies voordat u ze gaat nesten. Omdat, zodra je er een paar hebt genest, het oplossen van problemen een echte nachtmerrie kan worden.
OF-verklaringen
Nu gaan we de logica een tandje hoger zetten. Laten we zeggen dat ik deze keer 'Jaarlijks onderhoud' wil retourneren als een olieverversing of reparatie gecombineerd is met registratie of verzekering wordt tegelijkertijd gedaan, maar alleen "Routineonderhoud" als het slechts een olieverversing was gedaan. Het klinkt ingewikkeld, maar met de juiste IF-statementlogica is het helemaal niet moeilijk.
Dit soort logica vereist de combinatie van zowel een geneste IF-instructie als een paar OR-instructies. Zo ziet die verklaring eruit:
= ALS (OF (B2 = "JA", C2 = "JA"), ALS (OF (D2 = "JA", E2 = "JA"), "Jaarlijks onderhoud", "Routineonderhoud"), "")
Zo zien de resultaten eruit:
Het is opmerkelijk wat voor soort complexe analyse u kunt uitvoeren door verschillende logische operatoren te combineren in geneste IF-instructies.
Resultaten op basis van waardebereiken
Het is vaak erg handig om waardebereiken om te zetten in een soort tekstresultaat. Dit kan zo simpel zijn als het omzetten van een temperatuur van 0 tot 50 graden F in "Koud", 50 tot 80 als "Warm" en alles boven de 80 zo heet.
Leraren hebben deze logica waarschijnlijk het meest nodig vanwege letterscores. In het volgende voorbeeld gaan we onderzoeken hoe u een numerieke waarde kunt converteren naar tekst op basis van zo'n bereik.
Stel dat een docent de volgende bereiken gebruikt om het cijfer voor de letter te bepalen:
- 90 tot 100 is een A
- 80 tot 90 is een B
- 70 tot 80 is een C
- 60 tot 70 is een D.
- Onder de 60 is een F
Zo ziet zo'n soort multi-nested-IF-instructie eruit:
= IF (B2> 89, "A", IF (B2> 79, "B", IF (B2> 69, "C", IF (B2> 59, "D", "F"))))
Elk nest is het volgende bereik in de serie. Je moet gewoon heel voorzichtig zijn om de verklaring af te sluiten met het juiste aantal haakjes, anders werkt de functie niet correct.
Zo ziet het resulterende blad eruit:
Zoals u kunt zien, kunt u hiermee elk nummer vertegenwoordigen in de vorm van een beschrijvende tekenreeks. Het wordt ook automatisch bijgewerkt als de numerieke waarde op het blad ooit verandert.
IF-THEN Logic gebruiken is krachtig
Als programmeur ken je de kracht van IF-statements al. Hiermee kunt u logische analyse automatiseren in elke berekening. Dit is erg krachtig in een scripttaal, maar zoals je kunt zien, is het net zo krachtig in de cellen van een Excel-spreadsheet.
Met een beetje creativiteit kun je wat doen zeer indrukwekkende dingen 3 gekke Excel-formules die geweldige dingen doenExcel-formules hebben een krachtig hulpmiddel bij voorwaardelijke opmaak. Dit artikel behandelt drie manieren om de productiviteit te verhogen met MS Excel. Lees verder met IF-statementlogica en andere formules in Excel.
Wat voor unieke logica heb je bedacht met IF-instructies in Excel? Deel uw eigen ideeën en tips in de opmerkingen hieronder!
Ryan heeft een BSc-graad in elektrotechniek. Hij heeft 13 jaar in automatiseringstechniek gewerkt, 5 jaar in IT en is nu een Apps Engineer. Hij was een voormalig hoofdredacteur van MakeUseOf, hij sprak op nationale conferenties over datavisualisatie en was te zien op nationale tv en radio.