Een aangepaste functie maken en aanroepen

Van toepassing op
Excel voor Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Voor een aangepaste functie wordt de formuletaal M gebruikt, wordt een set invoerwaarden genomen en wordt één uitvoerwaarde geretourneerd. Als u logica hebt die u vele malen wilt hergebruiken of dezelfde set transformaties wilt toepassen op een andere query of waarde, kunt u een aangepaste functie maken en de functie vervolgens aanroepen waar en wanneer u deze nodig hebt. U kunt op verschillende manieren een aangepaste functie maken:

Een eenvoudige aangepaste functie maken en aanroepen met de Geavanceerde editor

Hier volgt een eenvoudig voorbeeld van een aangepaste functie die een oude programmeertraditie volgt.

  1. Een lege query maken:

    BewerkenGegevens>selecteren Gegevens>ophalen uit andere bronnen>Lege query.

    Power Query Klik met de rechtermuisknop op een lege plek in het deelvenster Query's aan de linkerkant en selecteer vervolgens Nieuwe query>Andere bronnen>Lege query.

  2. Dubbelklik in het deelvenster Query's aan de linkerkant op de naam en wijzig vervolgens de naam van de nieuwe lege query in 'HelloWorld'.

  3. Selecteer de nieuwe query en vervolgens Start-Geavanceerde> editor.

  4. Vervang de startcode voor sjablonen door de volgende code:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Selecteer Gereed.

  6. U hebt de query 'HelloWorld' gewijzigd in een aangepaste functie. Let op het functiepictogram Functiepictogram links ervan.

  7. Als u de functie wilt aanroepen, selecteert u deze en selecteert u vervolgens Aanroepen in Voorbeeld van gegevens.

    De aangepaste functie HelloWorld aanroepen

  8. De resultaten van de functie worden weergegeven in het gegevensvoorbeeld en toegevoegd aan het deelvenster Query's als een query met de standaardnaam Aangeroepen functie. Misschien wilt u de naam wijzigen in iets dat zinvoller is, zoals 'HelloWorldResult'.

  9. Selecteer deze query en selecteer vervolgens Start>Sluiten & laden om de resultaten in een werkblad te zien.

Resultaten

Resultaten van HelloWorld in een werkblad

Een aangepaste functie met een parameter maken en aanroepen met behulp van de Geavanceerde editor

In het volgende voorbeeld ziet u hoe u een parameter doorgeeft aan een aangepaste functie om een decimaal getal te converteren naar een hexadecimaal getal.

  1. Een lege query maken:

    BewerkenGegevens>selecteren Gegevens>ophalen uit andere bronnen>Lege query.

    Power Query Klik met de rechtermuisknop op een lege plek in het deelvenster Query's aan de linkerkant en selecteer vervolgens Nieuwe query>Andere bronnen>Lege query.

  2. Wijzig in het deelvenster Query's aan de linkerkant de naam van de nieuwe lege query in 'MyHex'.

  3. Selecteer de nieuwe query en vervolgens Start-Geavanceerde> editor.

  4. Vervang de startcode voor sjablonen door de volgende code:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Selecteer Gereed.

  6. U hebt de query MyHex gewijzigd in een aangepaste functie. Let op het functiepictogram Functiepictogram links ervan.

  7. Als u de functie wilt aanroepen, selecteert u deze en voert u in het vak Voorbeeld van gegevens een getal in het vak parameter1 in en selecteert u Aanroepen.
    De aangepaste functie MyHex aanroepen

  8. De resultaten van de functie worden weergegeven in het gegevensvoorbeeld en toegevoegd aan het deelvenster Query's als een query met de standaardnaam Aangeroepen functie. Misschien wilt u de naam wijzigen in iets dat zinvoller is, zoals 'MyHexResult'.

  9. Selecteer deze query en selecteer vervolgens Start>Sluiten & laden om de resultaten in een werkblad te zien.

Resultaten

Resultaat van de functie MyHex in een werkblad

Een kolom toevoegen door een aangepaste functie aan te roepen

Als u een functie met minimaal één parameter hebt gemaakt, kunt u deze als een aangepaste functie aanroepen om voor elke rij in een tabel een nieuwe kolom en een nieuwe waarde te maken.

  1. Als u een query wilt openen, zoekt u een query die eerder is geladen in de Power Query-editor, selecteert u een cel in de gegevens en selecteert u vervolgens Query>bewerken. Zie Een query maken, bewerken en laden in Excel (Power Query) voor meer informatie.

    Notitie Voor dit voorbeeld heeft uw query ten minste één kolom van het gegevenstype Geheel getal nodig.

  2. Maak de aangepaste functie 'MyHex' zoals wordt beschreven in de sectie Een aangepaste functie maken en aanroepen die een parameter heeft met de Geavanceerde editor.

  3. Selecteer Kolom toevoegenin de query Aangepaste >functie aanroepen. Het dialoogvenster Aangepaste functie aanroepen wordt weergegeven.

  4. Typ de nieuwe kolomnaam, zoals 'HexConvert', in het vak Nieuwe kolomnaam .

  5. Selecteer de naam van een vooraf gedefinieerde aangepaste functie in de vervolgkeuzelijst Functiequery. Selecteer in dit voorbeeld 'MyHex'.

  6. Omdat de aangepaste functie verwijst naar een parameter, wordt de parameter nu weergegeven.

  7. Selecteer een kolom van het gegevenstype Geheel getal als een parameter voor de functie.

    Het dialoogvenster Aangepaste functie aanroepen

  8. Selecteer OK.

Resultaat

Er wordt een nieuwe kolom gemaakt waarin de hexadecimale waarde wordt weergegeven van de kolom met gehele getallen die u als parameter hebt ingevoerd.

De nieuwe MyHex-kolom met waarden in een werkblad

Zie ook

Help voor Power Query voor Excel

Power Query-formules maken in Excel

Een parameterquery maken

Query's beheren

Informatie over Power Query M-functies (docs.com)

Aangepaste functies gebruiken (docs.com)