Applies ToExcel dla Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Funkcja niestandardowa używa języka formułY M, pobiera zestaw wartości wejściowych, a następnie zwraca pojedynczą wartość wyjściową. Jeśli masz logikę potrzebną do wielokrotnego użycia lub zastosowania tego samego zestawu przekształceń do innego zapytania lub innej wartości, rozważ utworzenie funkcji niestandardowej, a następnie użycie funkcji w miejscu i czasie. Funkcję niestandardową można utworzyć na kilka sposobów: 

  • Użyj Edytora zaawansowanego, aby dodać własne oświadczenie let i zacząć od podstaw.

  • Użyj polecenia Wywołaj funkcję niestandardową.

  • Istnieją dodatkowe sposoby tworzenia funkcji, które nie zostały omówione w tym temacie pomocy, w tym polecenia Utwórz funkcję i Dodaj jako polecenia zapytania. Aby uzyskać szczegółowe omówienie, zobacz Opis funkcji M (funkcje M) dodatku Power Query (docs.com)i Używanie funkcji niestandardowych (docs.com).

Poniższy przykład jest prostym przykładem funkcji niestandardowej, która jest zgodna z od dawna zasadami programowania.

  1. Aby utworzyć puste zapytanie: wybierz Excel pozycję> Pobierz > z innych       źródeł > puste zapytanie.Power Query      Kliknij prawym przyciskiem myszy puste miejsce w okienku Zapytania po lewej stronie, a następnie wybierz pozycję Nowe zapytanie > Inne źródła > puste zapytanie.

  2. W okienku Zapytania po lewej stronie kliknij dwukrotnie nazwę, a następnie zmień nazwę nowego pustego zapytania na "HelloWorld".

  3. Wybierz nowe zapytanie, a następnie wybierz pozycję Narzędzia>Edytor zaawansowany.

  4. Zamień kod startowy szablonu na następujący kod:

    let      HelloWorld = () => ("Hello World") in      HelloWorld

  5. Wybierz pozycję Gotowe.

  6. Zmieniono zapytanie "HelloWorld" na funkcję niestandardową. Zwróć uwagę, że Ikona funkcji z lewej strony.

  7. Aby wywołać funkcję, zaznacz ją, a następnie wybierz pozycję Wywołaj w podglądzie danych.Odwoływowanie się do funkcji niestandardowej HelloWorld

  8. Wyniki funkcji są wyświetlane w podglądzie danych i dodawane do okienka Zapytania jako zapytanie o nazwie domyślnej Invoked Function. Możesz zmienić jego nazwę na bardziej opisową, na przykład "HelloWorldResult".

  9. Zaznacz to zapytanie, a następnie wybierz pozycję Narzędzia> zamknij & Załaduj, aby wyświetlić wyniki w arkuszu.

Wyniki 

Wyniki helloworld w arkuszu

W poniższym przykładzie pokazano, jak przekazać parametr do funkcji niestandardowej w celu przekonwertowania liczby dziesiętnej na liczbę w postaci szesnastkowej.

  1. Aby utworzyć puste zapytanie: wybierz Excel pozycję> Pobierz > z innych       źródeł > puste zapytanie.Power Query      Kliknij prawym przyciskiem myszy puste miejsce w okienku Zapytania po lewej stronie, a następnie wybierz pozycję Nowe zapytanie > Inne źródła > puste zapytanie.

  2. W okienku Zapytania po lewej stronie zmień nazwę nowego pustego zapytania na "MyHex".

  3. Wybierz nowe zapytanie, a następnie wybierz pozycję Narzędzia>Edytor zaawansowany.

  4. Zamień kod startowy szablonu na następujący kod:

    let      MyHex = (parameter1) => Number.ToText(parameter1,"X") in      MyHex

  5. Wybierz pozycję Gotowe.

  6. Zmieniono zapytanie "MyHex" na funkcję niestandardową. Zwróć uwagę, że Ikona funkcji z lewej strony.

  7. Aby wywołać funkcję, zaznacz ją, a następnie w oknie Podgląd danych wprowadź liczbę w polu parametru1 i wybierz pozycję Wywołaj.

    Odwoływanie się do funkcji niestandardowej MyHex

  8. Wyniki funkcji są wyświetlane w podglądzie danych i dodawane do okienka Zapytania jako zapytanie o nazwie domyślnej Invoked Function. Możesz zmienić jego nazwę na bardziej opisową, na przykład "MyHexResult".

  9. Zaznacz to zapytanie, a następnie wybierz pozycję Narzędzia> zamknij & Załaduj, aby wyświetlić wyniki w arkuszu.

Wyniki 

Wynik funkcji MyHex w arkuszu

Jeśli utworzono funkcję z co najmniej jednym parametrem, można ją wywołać jako funkcję niestandardową w celu utworzenia nowej kolumny i nowej wartości dla każdego wiersza w tabeli.

  1. Aby otworzyć zapytanie, znajdź wcześniej załadowaną komórkę w Edytorze dodatku Power Query, zaznacz komórkę w danych, a następnie wybierz pozycję Zapytanie i> Edytuj. Aby uzyskać więcej informacji, zobacz Tworzenie, edytowanie i ładowanie zapytania w dodatku Excel (Power Query).Uwaga    W tym przykładzie zapytanie wymaga co najmniej jednej kolumny typu danych Cała liczba.

  2. Utwórz funkcję niestandardową "MyHex", zgodnie z sekcją Tworzenie i wywoływanie funkcji niestandardowej z parametrem w Edytorze zaawansowanym.

  3. W zapytaniu wybierz pozycję Dodaj kolumnę, > wywołaj funkcję niestandardową. Zostanie wyświetlone okno dialogowe Wywoływanie funkcji niestandardowej.

  4. W polu Nazwa nowej kolumny wprowadź nazwę nowej kolumny, na przykład "HexConvert".

  5. Wybierz nazwę wstępnie zdefiniowanej funkcji niestandardowej z listy rozwijanej zapytanie funkcji. W tym przykładzie wybierz pozycję "MyHex".

  6. Ponieważ funkcja niestandardowa odwołuje się do parametru, parametr jest teraz wyświetlany.

  7. Zaznacz kolumnę typu danych Liczba cała jako parametr funkcji.Okno dialogowe Wywoływanie funkcji niestandardowej

  8. Wybierz przycisk OK.

Wynik

Zostanie utworzona nowa kolumna z wartością szesnastkową kolumny Liczba cała wprowadzona jako parametr.

Nowa kolumna wartości MyHex w arkuszu

Zobacz również

Power Query dla Excel Pomocy

Tworzenie formuł dodatku Power Query w programie Excel

Tworzenie zapytania parametryowego

Zarządzanie zapytaniami

Opis funkcji M dodatku Power Query (docs.com)

Używanie funkcji niestandardowych (docs.com)

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.