Vytvorenie a vyvolanie vlastnej funkcie

Vzťahuje sa na
Excel pre Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

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:

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

Toto je jednoduchý príklad vlastnej funkcie, ktorá má dlhoročnú programovaciu tradíciu.

  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. Zmenili ste dotaz HelloWorld 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ú na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, ako je 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. Zmenili ste dotaz MyHex na vlastnú funkciu. Všimnite si ikonu funkcie Ikona funkcie naľavo od nej.

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

  8. Výsledky funkcie sa zobrazia v ukážke údajov a pridajú na tablu Dotazy ako dotaz s predvoleným názvom Vyvolaná funkcia. Môžete ho premenovať na niečo zmysluplnejšie, ako je 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 ste vytvorili funkciu s aspoň jedným parametrom, môžete ju vyvolať ako vlastnú funkciu a vytvoriť tak nový stĺpec a novú hodnotu 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 s celým číslom, ktorý ste zadali ako parameter.

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

Pozrite tiež

Pomocník doplnku Power Query pre Excel

Vytvorenie vzorcov Power Query v Exceli

Vytvorenie parametrického dotazu

Správa dotazov

Vysvetlenie funkcií Power Query M (docs.com)

Používanie vlastných funkcií (docs.com)