Power Query: ALS-instructie – geneste ALS'en en meerdere voorwaarden
In Excel Power Query is de ALS-instructie een van de meest gebruikte functies om een voorwaarde te evalueren en, afhankelijk van het resultaat (WAAR of ONWAAR), een specifieke waarde terug te geven. Deze instructie vertoont enkele verschillen ten opzichte van de vertrouwde ALS-functie in Excel. In deze handleiding bespreek ik de syntaxis van de Power Query ALS-instructie en illustreer ik deze met zowel eenvoudige als complexe voorbeelden.
Basis syntaxis van de ALS-instructie in Power Query
Power Query ALS-instructie met een conditionele kolom
Power Query ALS-instructie door M-code te schrijven
Basis syntaxis van de ALS-instructie in Power Query
In Power Query is de syntaxis als volgt:
- logische_test: De voorwaarde die u wilt testen.
- waarde_indien_waar: De waarde die wordt geretourneerd wanneer het resultaat WAAR is.
- waarde_indien_onwaar: De waarde die wordt geretourneerd wanneer het resultaat ONWAAR is.
In Excel Power Query zijn er twee manieren om dit type conditionele logica te maken:
- Gebruik de functie Conditionele kolom voor enkele eenvoudige scenario’s;
- Schrijf M-code voor geavanceerdere scenario’s.
In het volgende gedeelte bespreek ik enkele toepassingen van deze ALS-instructie.
Power Query ALS-instructie met een conditionele kolom
Voorbeeld 1: Eenvoudige ALS-instructie
Hier leg ik uit hoe u deze ALS-instructie in Power Query kunt gebruiken. Stel dat u het volgende productrapport hebt: als de productstatus ‘Oud’ is, wordt een korting van 50 % weergegeven; als de productstatus ‘Nieuw’ is, wordt een korting van 20 % weergegeven, zoals te zien is in de onderstaande schermafbeeldingen.

1. Selecteer de gegevenstabel in het werkblad en klik vervolgens in Excel 2019 en Excel 365 op Gegevens > Uit tabel/bereik. Zie de schermafbeelding:

Opmerking: In Excel 2016 en Excel 2021 klikt u op Gegevens>Uit tabel, zie schermafbeelding:

2. Klik vervolgens in het geopende venster Power Query Editor op Kolom toevoegen > Conditionele kolom, zie schermafbeelding:

3. Voer in het venster Conditionele kolom toevoegen de volgende handelingen uit:
- Nieuwe kolomnaam: Voer een naam in voor de nieuwe kolom;
- Geef vervolgens de criteria op die u nodig hebt. Bijvoorbeeld: ik geef op Als Status gelijk is aan Oud, dan 50 %, anders 20 %;
- Kolomnaam: De kolom waartegen uw ALS-voorwaarde wordt geëvalueerd. Hier selecteer ik Status.
- Operator: De voorwaardelijke logica die u wilt toepassen. De beschikbare opties variëren afhankelijk van het gegevenstype van de geselecteerde kolomnaam.
- Tekst: begint met, begint niet met, is gelijk aan, bevat, enz.
- Getallen: gelijk aan, niet gelijk aan, groter dan of gelijk aan, enzovoort.
- Datum: ligt voor, ligt na, is gelijk aan, is niet gelijk aan, enzovoort.
- Waarde: De specifieke waarde waarmee uw evaluatie wordt vergeleken. Samen met de kolomnaam en de operator vormt deze een voorwaarde.
- Uitvoer: De waarde die wordt geretourneerd als aan de voorwaarde is voldaan.
- Anders: Een andere waarde die wordt geretourneerd wanneer de voorwaarde onwaar is.

4. Klik vervolgens op de knop OK om terug te keren naar het venster Power Query Editor. Er is nu een nieuwe kolom Korting toegevoegd, zie schermafbeelding:

5. Als u de getallen als percentage wilt opmaken, klikt u gewoon op het pictogram ABC123 in de koptekst van de kolom Korting en kiest u Percentage, zoals gewenst. Zie schermafbeelding:

6. Klik ten slotte op Start > Sluiten & laden > Sluiten & laden om deze gegevens naar een nieuw werkblad te laden.

Voorbeeld 2: Complexe ALS-instructie
Met de optie Conditionele kolom kunt u zelfs twee of meer voorwaarden invoeren in het dialoogvenster Conditionele kolom toevoegen. Volg deze stappen:
1. Selecteer de gegevenstabel en open het venster Power Query Editor door te klikken op Gegevens > Uit tabel/bereik. Klik in het nieuwe venster op Kolom toevoegen > Conditionele kolom.
2. Voer in het venster Conditionele kolom toevoegen de volgende handelingen uit:
- Voer een naam voor de nieuwe kolom in het tekstvak Nieuwe kolomnaam;
- Geef het eerste criterium op in het eerste criteriaveld en klik vervolgens op de knop Component toevoegen om naar behoefte extra criteriavelden toe te voegen.

3. Nadat u de criteria hebt ingesteld, klikt u op OK om terug te keren naar het venster van de Power Query Editor. U krijgt nu een nieuwe kolom met het gewenste resultaat. Zie schermafbeelding:

4. Klik ten slotte op Start > Sluiten en laden > Sluiten en laden om deze gegevens in een nieuw werkblad te laden.
Power Query ALS-instructie door M-code te schrijven
Normaal gesproken is een voorwaardelijke kolom handig voor eenvoudige scenario’s. Soms moet u echter meerdere voorwaarden combineren met EN- of OF-logica. In dat geval dient u M-code te schrijven in een aangepaste kolom voor complexere scenario’s.
Voorbeeld 1: Basis if-instructie
Neem de eerste gegevens als voorbeeld: als de productstatus Oud is, wordt een 50 %-korting weergegeven; als de productstatus Nieuw is, wordt een 20 %-korting weergegeven. Volg deze stappen om de M-code te schrijven:
1. Selecteer de tabel en klik op Gegevens > Van tabel/bereik om naar het venster van de Power Query Editor te gaan.
2. Klik in het geopende venster op Kolom toevoegen > Aangepaste kolom, zie de schermafbeelding:

3. Voer in het venster Aangepaste kolom de volgende handelingen uit:
- Voer een naam voor de nieuwe kolom in het tekstvak Nieuwe kolomnaam;
- Voer vervolgens deze formule in:if [Status] = "Oud" then "50 %" else "20 %" in het formulier voor aangepaste kolomformulier-vak.

4. Klik vervolgens op OK om dit dialoogvenster te sluiten. U krijgt nu het gewenste resultaat:

5. Klik ten slotte op Start > Sluiten en laden > Sluiten en laden om deze gegevens in een nieuw werkblad te laden.
Voorbeeld 2: Complexe if-instructie
Meestal kunt u geneste if-instructies gebruiken om deelvoorwaarden te testen. Stel dat u de onderstaande gegevenstabel hebt. Als het product „Jurk” is, krijgt u een 50 %-korting op de oorspronkelijke prijs; als het product „Trui” of „Hoodie” is, krijgt u een 20 %-korting op de oorspronkelijke prijs; andere producten behouden de oorspronkelijke prijs.

1. Selecteer de gegevenstabel en klik op Gegevens > Van tabel/bereik om naar het venster van de Power Query Editor te gaan.
2. Klik in het geopende venster op Kolom toevoegen > Aangepaste kolom. Voer in het venster Aangepaste kolom dat nu wordt geopend de volgende handelingen uit:
- Voer een naam voor de nieuwe kolom in het tekstvak Nieuwe kolomnaam;
- Voer vervolgens de onderstaande formule in het formulier voor aangepaste kolomformulier-vak.
- = if [Product] = „Jurk" then [Prijs] * 0,5 else
if [Product] = „Trui" then [Prijs] * 0,8 else
if [Product] = „Hoodie" then [Prijs] * 0,8
else [Prijs]

3. Klik vervolgens op OK om terug te keren naar het venster van de Power Query Editor, en u krijgt een nieuwe kolom met de gewenste gegevens. Zie de schermafbeelding:

4Klik ten slotte op Start>Sluiten en laden>Sluiten en ladenom deze gegevens in een nieuw werkblad te laden.
De OF-logica voert meerdere logische tests uit en retourneert „waar” als één van de logische tests waar is. De syntaxis is:
Stel dat u de onderstaande tabel hebt. U wilt een nieuwe kolom die als volgt weergeeft: als het product „Jurk” of „T-shirt” is, dan is het merk „AAA”; voor andere producten is het merk „BBB”.

1. Selecteer de gegevenstabel en klik op Gegevens > Van tabel/bereik om naar het Power Query Editor-venster te gaan.
2. Klik in het geopende venster op Kolom toevoegen>Aangepaste kolom. Voer in het geopende venster Aangepaste kolomde volgende handelingen uit:
- Voer een naam voor de nieuwe kolom in het tekstvak Nieuwe kolomnaam;
- Voer vervolgens de onderstaande formule in het formulier voor aangepaste kolom-vak in.
- = if [Product] = "Jurk" or [Product] = "T-shirt" then "AAA"
else „BBB"

3. Klik vervolgens op OK om terug te keren naar het Power Query Editor-venster en u krijgt een nieuwe kolom met de gewenste gegevens. Zie schermafbeelding:

4Klik ten slotte op Start>Sluiten en laden>Sluiten en ladenom deze gegevens in een nieuw werkblad te laden.
De EN-logica voert meerdere logische tests uit binnen één IF-instructie. Alle tests moeten waar zijn om „waar” te retourneren; is ook maar één test onwaar, dan wordt „onwaar” geretourneerd. De syntaxis is:
Neem bovenstaande gegevens als voorbeeld. U wilt een nieuwe kolom die het volgende weergeeft: als het product „Jurk” is én de bestelling groter is dan 300, dan wordt een korting van 50 % toegepast op de oorspronkelijke prijs; anders blijft de oorspronkelijke prijs ongewijzigd.
1. Selecteer de gegevenstabel en klik op Gegevens>Van tabel/bereikom naar het Power Query Editorvenster te gaan.
2. Klik in het geopende venster op Kolom toevoegen > Aangepaste kolom. Voer in het geopende dialoogvenster Aangepaste kolom de volgende handelingen uit:
- Voer een naam voor de nieuwe kolom in het tekstvak Nieuwe kolomnaam;
- Voer vervolgens de onderstaande formule in het formulier voor aangepaste kolom-vak in.
- = if [Product] = „Jurk" and [Bestelling] > 300 then [Prijs] * 0,5
else [Prijs]

3. Klik vervolgens op OKom terug te keren naar het venster van de Power Query Editor, en u krijgt een nieuwe kolom met de gewenste gegevens, zie schermafbeelding:

4. Laad deze gegevens ten slotte in een nieuw werkblad door op Start > Sluiten en laden > Sluiten en laden te klikken.
ALS-instructie met OF- en EN-logica
Goed, de vorige voorbeelden zijn eenvoudig te begrijpen. Laten we het nu iets uitdagender maken: u kunt EN en OF combineren om vrijwel elke denkbare voorwaarde te creëren. In dit type formule kunt u haakjes gebruiken om complexe regels nauwkeurig te definiëren.
Neem ook de bovenstaande gegevens als voorbeeld. Stel dat u een nieuwe kolom wilt die het volgende weergeeft: als het product „Jurk” is én de bestelling groter is dan 300, óf het product „Broek” is én de bestelling groter is dan 300, dan verschijnt „A+”; anders verschijnt „Overig”.
1. Selecteer de gegevenstabel en klik op Gegevens>Van tabel/bereikom naar het Power Query Editorvenster te openen.
2. Klik in het geopende venster op Kolom toevoegen>Aangepaste kolom. In het geopende Aangepaste kolomdialoogvenster voert u de volgende handelingen uit:
- Voer een naam voor de nieuwe kolom in het tekstvak Nieuwe kolomnaam;
- Voer vervolgens de onderstaande formule in het formulier voor aangepaste kolom-vak in.
- =if ([Product] = „Dress" and [Order] > 300 ) or
([Product] = „Broek" and [Bestelling] > 300)
then „A+"
else „Overig"

3. Klik vervolgens op OKom terug te keren naar het Power Query Editorvenster, en u krijgt een nieuwe kolom met de gewenste gegevens, zie schermafbeelding:

4. Laad deze gegevens ten slotte in een Nieuw werkblad door op Start>Sluiten en laden>Sluiten en ladente klikken.
In het formulevak van de aangepaste kolom kunt u de volgende logische operatoren gebruiken:
- = : Is gelijk aan
- : Is niet gelijk aan
- > : Groter dan
- >= : Groter dan of gelijk aan
- < : Kleiner dan
- <= : Kleiner dan of gelijk aan
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins