Een aangepaste functie maken en aanroepen

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

Een aangepaste functie maakt gebruik van de formuletaal M, neemt een set invoerwaarden en retourneert vervolgens één uitvoerwaarde. Als u logica hebt die u vaak wilt hergebruiken of dezelfde set transformaties wilt toepassen op een andere query of waarde, kunt u overwegen om een aangepaste functie te maken en vervolgens de functie aan te roepen waar en wanneer u deze nodig hebt. Er zijn verschillende manieren om een aangepaste functie te maken:

Een eenvoudige aangepaste functie maken en aanroepen met de Geavanceerde editor

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

  1. Een lege query maken:

    Excel Selecteer 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 nieuwe query>andere bronnen>Lege query.

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

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

  4. Vervang de sjabloonstartcode 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 gegevensvoorbeeld.

    De aangepaste functie HelloWorld aanroepen

  8. De resultaten van de functie worden weergegeven in gegevensvoorbeeld en toegevoegd aan het deelvenster Query's met de standaardnaam Aangeroepen functie. U kunt de naam van de naam wijzigen in een zinvoller item, zoals 'HelloWorldResult'.

  9. Selecteer die query en selecteer vervolgens Start>Sluiten & Laden om de resultaten in een werkblad weer te geven.

Resultaten

Resultaten van HelloWorld in een werkblad

Een aangepaste functie maken en aanroepen met een parameter met 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 hexadecimaal.

  1. Een lege query maken:

    Excel Selecteer 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 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 selecteer vervolgens Start>Geavanceerde editor.

  4. Vervang de sjabloonstartcode 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 Gegevensvoorbeeld 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 gegevensvoorbeeld en toegevoegd aan het deelvenster Query's als een query met de standaardnaam Aangeroepen functie. U kunt de naam van deze naam wijzigen in een zinvoller item, zoals 'MyHexResult'.

  9. Selecteer die query en selecteer vervolgens Start>Sluiten & Laden om de resultaten in een werkblad weer te geven.

Resultaten

Resultaat van de functie MyHex in een werkblad

Een kolom toevoegen door een aangepaste functie aan te roepen

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

  1. Als u een query wilt openen, zoekt u een query die eerder is geladen vanuit 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.

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

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

  3. Selecteer in de query Kolomaanroepen>aangepaste functie toevoegen. Het dialoogvenster Aangepaste functie aanroepen wordt weergegeven.

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

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

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

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

    Het dialoogvenster Aangepaste functie aanroepen

  8. Selecteer OK.

Resultaat

Er wordt een nieuwe kolom gemaakt met de hexadecimale waarde van de kolom Geheel getal die u als parameter hebt ingevoerd.

De nieuwe Kolom MyHex 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

Inzicht in Power Query M-functies (docs.com)

Aangepaste functies gebruiken (docs.com)