Gäller för
Excel för Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

En anpassad funktion använder formelspråket M, tar 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ända samma uppsättning transformationer för en annan fråga eller ett annat värde kan du skapa en anpassad funktion och sedan anropa funktionen där och när du behöver den. Det finns flera sätt att skapa en anpassad funktion: 

Nedan följer ett enkelt exempel på en anpassad funktion som följer en lång programmeringstradition.

  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 Klar.

  6. Du har ändrat frågan "HelloWorld" till en anpassad funktion. Observera funktionsikonen Ikonen Funktion till vänster om den.

  7. Om du vill anropa funktionen markerar du den och väljer sedan Anropa i dataförhandsgranskningen.Anropa den anpassade funktionen HelloWorld

  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å den till något mer beskrivande, till exempel "HelloWorldResult".

  9. Markera frågan och välj sedan Start > Stäng & Läs in för att visa resultatet i ett kalkylblad.

Resultat 

Resultat av HelloWorld i ett kalkylblad

I följande exempel visas hur du överför 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 Klar.

  6. Du har ändrat frågan , "MyHex", till en anpassad funktion. Observera funktionsikonen Ikonen Funktion till vänster om den.

  7. Om du vill anropa funktionen markerar du den och anger sedan ett tal i rutan parameter1 i Dataförhandsgranskning och väljer Anropa.

    Anropa 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å den till något mer beskrivande, till exempel "MyHexResult".

  9. Markera frågan och välj sedan Start > Stäng & Läs in för att visa resultatet i ett kalkylblad.

Resultat 

Resultatet av funktionen MyHex 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 reda på en som tidigare lästs in från Power Query-redigeraren, markerar en cell i 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).Not    I det här exemplet behöver frågan minst en kolumn av datatypen Heltal .

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

  3. I frågan väljer du Lägg till kolumn > Anropa anpassad funktion. Dialogrutan Starta 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. Välj en kolumn med datatypen Heltal som parameter till 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 MyHex med värden i ett kalkylblad

Mer information finns i

Power Query för Excel-hjälp

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.