Opprette og aktivere en egendefinert funksjon

Gjelder for
Excel for Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

En egendefinert funksjon bruker M-formelspråket, tar et sett med inndataverdier og returnerer deretter en enkelt utdataverdi. Hvis du har logikk som du vil bruke på nytt mange ganger eller bruke det samme settet med transformasjoner på en annen spørring eller verdi, bør du vurdere å opprette en egendefinert funksjon og deretter aktivere funksjonen der og når du trenger den. Det finnes flere måter å opprette en egendefinert funksjon på:

Opprett og aktiver en enkel egendefinert funksjon med avansert redigering

Følgende er et enkelt eksempel på en egendefinert funksjon som følger en langvarig programmeringstradisjon.

  1. Slik oppretter du en tom spørring:

    Excel Velg Data>Hent data>fra andre>kilder, tom spørring.

    Power Query høyreklikker du på et tomt sted i Spørringer-ruten til venstre, og deretter velger du Ny> spørring, tomspørring forandre kilder>.

  2. Dobbeltklikk på navnet i Spørringer-ruten til venstre, og gi deretter den nye tomme spørringen nytt navn til «HelloWorld».

  3. Velg den nye spørringen, og velg deretter Hjem>avansert redigering.

  4. Erstatt malstartkoden med følgende kode:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Velg Ferdig.

  6. Du har endret spørringen HelloWorld til en egendefinert funksjon. Legg merke til funksjonsikonet Funksjon-ikonet til venstre for det.

  7. Hvis du vil aktivere funksjonen, merker du den og velger Aktiver i forhåndsvisning av data.

    Aktivere den egendefinerte HelloWorld-funksjonen

  8. Resultatene av funksjonen vises i forhåndsvisning av data og legges til i Spørringer-ruten som en spørring med standardnavnet Invoked Function. Det kan hende du vil gi det et mer meningsfylt navn, for eksempel HelloWorldResult.

  9. Velg denne spørringen, og velg deretter Lukk hjem>& Last inn for å se resultatene i et regneark.

Resultater

Resultater av HelloWorld i et regneark

Opprett og aktiver en egendefinert funksjon som har en parameter med avansert redigering

Følgende eksempel viser hvordan du sender en parameter til en egendefinert funksjon for å konvertere et desimaltall til et heksadesimalt tall.

  1. Slik oppretter du en tom spørring:

    Excel Velg Data>Hent data>fra andre>kilder, tom spørring.

    Power Query høyreklikker du på et tomt sted i Spørringer-ruten til venstre, og deretter velger du Ny> spørring, tomspørring forandre kilder>.

  2. Gi nytt navn til den nye tomme spørringen i Spørringer-ruten til venstre til «MyHex».

  3. Velg den nye spørringen, og velg deretter Hjem>avansert redigering.

  4. Erstatt malstartkoden med følgende kode:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Velg Ferdig.

  6. Du har endret spørringen MyHex til en egendefinert funksjon. Legg merke til funksjonsikonet Funksjon-ikonet til venstre for det.

  7. Hvis du vil aktivere funksjonen, merker du den og skriver inn et tall i parameter1-boksen i Forhåndsvisning av data, og velger Aktiver.
    Aktivere den egendefinerte MyHex-funksjonen

  8. Resultatene av funksjonen vises i forhåndsvisning av data og legges til i Spørringer-ruten som en spørring med standardnavnet Invoked Function. Det kan være lurt å gi det et mer meningsfylt navn, for eksempel «MyHexResult».

  9. Velg denne spørringen, og velg deretter Lukk hjem>& Last inn for å se resultatene i et regneark.

Resultater

Resultatet av MyHex-funksjonen i et regneark

Legge til en kolonne ved å aktivere en egendefinert funksjon

Hvis du har opprettet en funksjon med minst én parameter, kan du aktivere den som en egendefinert funksjon for å opprette en ny kolonne og en ny verdi for hver rad i en tabell.

  1. Hvis du vil åpne en spørring, finner du en tidligere lastet inn fra Power Query-redigering, merker en celle i dataene og velger deretter Rediger spørring>. Hvis du vil ha mer informasjon, kan du se Opprette, redigere og laste inn en spørring i Excel (Power Query).

    Merk I dette eksemplet trenger spørringen minst én kolonne med datatypen Heltall .

  2. Opprett den egendefinerte funksjonen MyHex, som forklart i inndelingen, opprett og aktiver en egendefinert funksjon som har en parameter med avansert redigering.

  3. Velg Legg til kolonne>aktiver egendefinert funksjon i spørringen. Dialogboksen Aktiver egendefinert funksjon vises.

  4. Skriv inn det nye kolonnenavnet, for eksempel HexConvert, i boksen Nytt kolonnenavn .

  5. Velg navnet på en forhåndsdefinert egendefinert funksjon fra rullegardinlisten funksjonsspørring. I dette eksemplet velger du «MyHex».

  6. Fordi den egendefinerte funksjonen refererer til en parameter, vises parameteren nå.

  7. Velg en kolonne med datatypen Heltall som en parameter for funksjonen.

    Dialogboksen Aktiver egendefinert funksjon

  8. Velg OK.

Resultat

Det opprettes en ny kolonne som viser den heksadesimale verdien for Heltall-kolonnen du skrev inn som en parameter.

Den nye MyHex-kolonnen med verdier i et regneark

Se også

Hjelp for Microsoft Power Query for Excel

Opprett Power Query-formler i Excel

Opprett en parameterspørring

Behandle spørringer

Forstå Power Query M-funksjoner (docs.com)

Bruke egendefinerte funksjoner (docs.com)