Vytvorenie a vyvolanie vlastnej funkcie

Vzťahuje sa na
Excel pre Microsoft 365 Excel 2024 Excel 2021

Vlastná funkcia používa jazyk vzorcov M, vezme množinu vstupných hodnôt a vráti jednu výstupnú hodnotu. Ak používate logiku, ktorú chcete použiť viackrát alebo použiť rovnakú množinu transformácií na iný dotaz alebo hodnotu, zvážte vytvorenie vlastnej funkcie a jej vyvolanie podľa potreby. Vlastnú funkciu možno vytvoriť niekoľkými spôsobmi:

  • Pomocou Rozšírený editor môžete pridať vlastný príkaz let a začať úplne od začiatku.
  • Použite príkaz Vyvolať vlastnú funkciu .
  • Existujú aj ďalšie spôsoby vytvárania funkcií, ktoré nie sú popísané v tejto téme Pomocníka, vrátane príkazov Vytvoriť funkciu a Pridať ako dotaz. Podrobnú diskusiu nájdete v téme Pochopenie funkcií Power Query M a Používanie vlastných funkcií.

Vytvorenie a vyvolanie jednoduchej vlastnej funkcie pomocou Rozšírený editor

Nasledujúci príklad zobrazuje jednoduchú vlastnú funkciu, ktorá sa riadi dlhoročnou tradíciou programovania.

  1. Vytvorenie prázdneho dotazu:

    Excel Vyberte položku Údaje>získať údaje>z iných zdrojov>Prázdny dotaz.

    Power Query Kliknite pravým tlačidlom myši na prázdne miesto na table Dotazy vľavo a potom vyberte položku Nový dotaz>Prázdny dotaz ziných zdrojov>.

  2. Na table Dotazy na ľavej strane dvakrát kliknite na názov a potom premenujte nový prázdny dotaz na HelloWorld.

  3. Vyberte nový dotaz a potom vyberte položku Rozšírený editorDomov>.

  4. Nahraďte úvodný kód šablóny týmto kódom:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Vyberte položku Hotovo.

  6. Dotaz HelloWorldste zmenili na vlastnú funkciu. Všimnite si ikonu funkcie Ikona funkcie naľavo od nej.

  7. Ak chcete funkciu vyvolať, vyberte ju a potom vyberte položku Vyvolať v ukážke údajov.

    Vyvolanie vlastnej funkcie HelloWorld

  8. Výsledky funkcie sa zobrazia v ukážke údajov a pridajú sa na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, napríklad HelloWorldResult:

  9. Vyberte tento dotaz a potom vyberte položku Domov,>Zavrieť & Načítať , aby sa výsledky zobrazili v hárku.

Výsledky

Výsledky funkcie HelloWorld v hárku

Vytvorenie a vyvolanie vlastnej funkcie, ktorá má parameter pomocou Rozšírený editor

Nasledujúci príklad zobrazuje postup odovzdania parametra do vlastnej funkcie, pomocou ktorej sa skonvertuje desiatkové číslo na šestnástkové.

  1. Vytvorenie prázdneho dotazu:

    Excel Vyberte položku Údaje>získať údaje>z iných zdrojov>Prázdny dotaz.

    Power Query Kliknite pravým tlačidlom myši na prázdne miesto na table Dotazy vľavo a potom vyberte položku Nový dotaz>Prázdny dotaz ziných zdrojov>.

  2. Na table Dotazy na ľavej strane premenujte nový prázdny dotaz na MyHex.

  3. Vyberte nový dotaz a potom vyberte položku Rozšírený editorDomov>.

  4. Nahraďte úvodný kód šablóny týmto kódom:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Vyberte položku Hotovo.

  6. Dotaz MyHexste zmenili na vlastnú funkciu. Všimnite si ikonu funkcie Ikona funkcie naľavo od nej.

  7. Ak chcete funkciu vyvolať, vyberte ju. V ukážke údajov zadajte číslo do poľa parameter1 a vyberte možnosť Vyvolať.
    Vyvolanie vlastnej funkcie MyHex

  8. Výsledky funkcie sa zobrazia v ukážke údajov. Power Query pridá výsledky na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, napríklad MyHexResult:

  9. Vyberte tento dotaz a potom vyberte položku Domov,>Zavrieť & Načítať , aby sa výsledky zobrazili v hárku.

Výsledky

Výsledok funkcie MyHex v hárku

Pridanie stĺpca vyvolaním vlastnej funkcie

Ak vytvoríte funkciu s aspoň jedným parametrom, môžete ju vyvolať ako vlastnú funkciu na vytvorenie nového stĺpca a novej hodnoty pre každý riadok v tabuľke.

  1. Ak chcete otvoriť dotaz, vyhľadajte dotaz, ktorý bol predtým načítaný z Editor Power Query, vyberte bunku v údajoch a potom vyberte položku Upraviť dotaz>. Ďalšie informácie nájdete v téme Vytvorenie, úprava a načítanie dotazu v Exceli (Power Query).

    Poznámka

    V tomto príklade musí dotaz obsahovať aspoň jeden stĺpec s typom údajov Celé číslo .

  2. Vytvorte vlastnú funkciu MyHex podľa vysvetlenia v časti Vytvorenie a vyvolanie vlastnej funkcie, ktorá má parameter pomocou Rozšírený editor.

  3. V dotaze vyberte položku Pridať stĺpec>Vyvolať vlastnú funkciu. Zobrazí sa dialógové okno Vyvolanie vlastnej funkcie .

  4. Do poľa Názov nového stĺpca zadajte názov nového stĺpca, napríklad HexConvert, .

  5. V rozbaľovacom zozname Dotaz na funkciu vyberte názov preddefinovanej vlastnej funkcie. V tomto príklade vyberte položku MyHex.

  6. Keďže vlastná funkcia odkazuje na parameter, parameter sa teraz zobrazuje.

  7. Vyberte stĺpec s typom údajov Celé číslo ako parameter funkcie.

    Dialógové okno Vyvolanie vlastnej funkcie

  8. Vyberte tlačidlo OK.

Výsledok

Vytvorí sa nový stĺpec zobrazujúci šestnástkovú hodnotu stĺpca Celé číslo, ktorý ste zadali ako parameter.

Nový stĺpec hodnôt MyHex v hárku

Pozrite tiež

Pomocník doplnku Power Query pre Excel

Vytvorenie parametrického dotazu (Power Query)

Správa dotazov (Power Query)

Vysvetlenie funkcií Power Query M

Používanie vlastných funkcií