Applies ToExcel för Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

En anpassad funktion använder formelspråket M, använder en uppsättning indatavärden och returnerar sedan ett enda utdatavärde. Om du har logik som du vill återanvända många gånger eller använder samma uppsättning transformationer för en annan fråga eller ett annat värde kan du skapa en anpassad funktion och sedan skapa funktionen där och när du behöver den. Det finns flera sätt att skapa en anpassad funktion: 

  • Använd Den avancerade redigeraren för att lägga till din egen låt-sats och börja från början.

  • Använd kommandot Invoke Custom Function.

  • Det finns fler sätt att skapa funktioner som inte tas upp i det här hjälpavsnittet, bland annat kommandona Skapa funktion och Lägg till som fråga. Mer ingående information finns i Förstå Power Query M-funktioner (docs.com)och Använda anpassade funktioner (docs.com).

Följande är ett enkelt exempel på en anpassad funktion som följer en länge hålls programmeringsprogrammering.

  1. Så här skapar du en tom fråga: Excel      Välj Data> Hämta data > Från andra källor > Tom fråga.Power Query      Högerklicka på en tom plats i fönstret Frågor till vänster och välj sedan Ny fråga > Andra källor >Tom fråga.

  2. I fönstret Frågor till vänster dubbelklickar du på namnet och byter sedan namn på den nya tomma frågan till "HelloWorld".

  3. Markera den nya frågan och välj sedan Start> Avancerad redigerare.

  4. Ersätt mallens startkod med följande kod:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Välj Klart.

  6. Du har ändrat frågan till en anpassad funktion. Observera att funktionsikonen Funktionsikon till vänster om den.

  7. Om du vill anropa funktionen markerar du den och väljer sedan Invoke i Data Preview.Skapa den anpassade HelloWorld-funktionen

  8. Resultatet av funktionen visas i förhandsgranskningen av data och läggs till i fönstret Frågor som en fråga med standardnamnet Anropad funktion. Du kanske vill byta namn på det till något mer beskrivande, till exempel "HelloWorldResult".

  9. Markera den frågan och välj sedan Start > stäng & läs in för att se resultatet i ett kalkylblad.

Resultat 

Resultat av HelloWorld i ett kalkylblad

I följande exempel visas hur du skickar en parameter till en anpassad funktion för att konvertera ett decimaltal till ett hexadecimalt.

  1. Så här skapar du en tom fråga: Excel      Välj Data> Hämta data > Från andra källor > Tom fråga.Power Query      Högerklicka på en tom plats i fönstret Frågor till vänster och välj sedan Ny fråga > Andra källor >Tom fråga.

  2. I fönstret Frågor till vänster byter du namn på den nya tomma frågan till "MyHex".

  3. Markera den nya frågan och välj sedan Start> Avancerad redigerare.

  4. Ersätt mallens startkod med följande kod:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Välj Klart.

  6. Du har ändrat frågan till en anpassad funktion. Observera att funktionsikonen Funktionsikon till vänster om den.

  7. Om du vill anropa funktionen markerar du den och anger sedan ett nummer i rutan parameter1 i dataförhandsgranskningen och väljer Invoke.

    Använda den anpassade funktionen MyHex

  8. Resultatet av funktionen visas i förhandsgranskningen av data och läggs till i fönstret Frågor som en fråga med standardnamnet Anropad funktion. Du kanske vill byta namn på det till något mer beskrivande, till exempel "MyHexResult".

  9. Markera den frågan och välj sedan Start > stäng & läs in för att se resultatet i ett kalkylblad.

Resultat 

Resultat av funktionen MinHex i ett kalkylblad

Om du har skapat en funktion med minst en parameter kan du anropa den som en anpassad funktion för att skapa en ny kolumn och ett nytt värde för varje rad i en tabell.

  1. Om du vill öppna en fråga letar du upp en tidigare inläst från Power Query-redigeraren, markerar en cell i dina data och väljer sedan Fråga > Redigera. Mer information finns i Skapa, redigera och läsa in en fråga i Excel (Power Query).Obs!    I det här exemplet behöver frågan minst en kolumn med datatypen Helt tal.

  2. Skapa den anpassade funktionen "MyHex" enligt i avsnittet Skapa och anropa en anpassad funktion som har en parameter med den avancerade redigeraren.

  3. I frågan väljer du Lägg till kolumn eller > Anropa anpassad funktion. Dialogrutan Anropa anpassad funktion visas.

  4. Ange det nya kolumnnamnet, till exempel "HexConvert", i rutan Nytt kolumnnamn.

  5. Välj namnet på en fördefinierad anpassad funktion i listrutan Funktionsfråga. I det här exemplet väljer du "MyHex".

  6. Eftersom den anpassade funktionen refererar till en parameter visas parametern nu.

  7. Markera en kolumn med datatypen Heltnummer som en parameter för funktionen.Dialogrutan Anropa anpassad funktion

  8. Välj OK.

Resultat

En ny kolumn skapas som visar det hexadecimala värdet i kolumnen Heltal som du angav som parameter.

Den nya kolumnen MinHex med värden i ett kalkylblad

Se även

Hjälp om Power Query Excel Power Query

Skapa Power Query-formler i Excel

Skapa en parameterfråga

Hantera frågor

Förstå Power Query M-funktioner (docs.com)

Använda anpassade funktioner (docs.com)

Behöver du mer hjälp?

Vill du ha fler alternativ?

Utforska prenumerationsförmåner, bläddra bland utbildningskurser, lär dig hur du skyddar din enhet med mera.

Communities hjälper dig att ställa och svara på frågor, ge feedback och få råd från experter med rika kunskaper.