Opprette og aktivere en egendefinert funksjon

Gjelder for
Excel for Microsoft 365 Excel 2024 Excel 2021

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

  • Bruk avansert redigering til å legge til din egen let-setning og starte fra bunnen av.
  • Bruk kommandoen Aktivere egendefinert funksjon .
  • Det finnes flere måter å opprette funksjoner på, som ikke beskrives i dette hjelpeemnet, inkludert kommandoene Opprett-funksjonen og Legg til som spørring . Hvis du vil ha en detaljert diskusjon, kan du se Forstå Power Query M-funksjoner og Bruke egendefinerte funksjoner.

Opprett og aktiver en enkel egendefinert funksjon med avansert redigering

Følgende eksempel viser en enkel, egendefinert funksjon som følger en lang programmeringstradisjon.

  1. Opprette en tom spørring:

    Excel Velg data>Hent data>fra andre kilder>Tom spørring.

    Power Query Høyreklikk på et tomt sted i Spørringer-ruten til venstre, og velg deretter Ny spørring>Andre kilder>Tom spørring.

  2. Dobbeltklikk 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 avansert redigering for hjem>.

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

  5. Velg Ferdig.

  6. Du endret spørringen HelloWorldtil en egendefinert funksjon. Legg merke til funksjonsikonet Funksjonsikonet til venstre for det.

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

    Aktivere egendefinert HelloWorld-funksjon

  8. Resultatene av funksjonen vises i forhåndsvisning av data og legges til i spørringsruten som en spørring med standardnavnet Aktivert funksjon. Du vil kanskje endre navnet til noe mer meningsfylt, for eksempel HelloWorldResult.

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

Resultater

Resultater av HelloWorld i et regneark

Opprette og aktivere 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. Opprette en tom spørring:

    Excel Velg data>Hent data>fra andre kilder>Tom spørring.

    Power Query Høyreklikk på et tomt sted i Spørringer-ruten til venstre, og velg deretter Ny spørring>Andre kilder>Tom spørring.

  2. I Spørringer-ruten til venstre kan du endre navnet på den nye tomme spørringen til MyHex.

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

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

  5. Velg Ferdig.

  6. Du endret spørringen MyHextil en egendefinert funksjon. Legg merke til funksjonsikonet Funksjonsikonet til venstre for det.

  7. Velg funksjonen for å aktivere den. Skriv inn et tall i parameter1-boksen i forhåndsvisning av data, og velg Aktiver.
    Aktivere den egendefinerte MyHex-funksjonen

  8. Resultatene av funksjonen vises i forhåndsvisning av data. Power Query legger til resultatene i Spørringer-ruten som en spørring med standardnavnet Aktivert funksjon. Du vil kanskje endre navnet til noe mer meningsfylt, for eksempel MyHexResult.

  9. Velg denne spørringen, og velg deretter Hjem>Lukk & 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 oppretter 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 som tidligere ble lastet inn fra Power Query-redigering, velger en celle i dataene og velger deretter Spørringsredigering>. Hvis du vil ha mer informasjon, kan du se Opprette, redigere og laste inn en spørring i Excel (Power Query).

    Obs!

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

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

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

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

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

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

  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 til 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

Opprette en parameterspørring (Power Query)

Behandle spørringer (Power Query)

Forstå Power Query M-funksjoner

Bruke egendefinerte funksjoner