Dotyczy
Excel dla Microsoft 365 Excel 2019 Excel 2016 Excel 2013 Excel 2010

Funkcja niestandardowa używa języka formuły M, przyjmuje zestaw wartości wejściowych, a następnie zwraca pojedynczą wartość wyjściową. Jeśli masz logikę, której chcesz ponownie użyć wiele razy lub zastosować ten sam zestaw przekształceń do innego zapytania lub innej wartości, rozważ utworzenie funkcji niestandardowej, a następnie wywołanie funkcji tam, gdzie i kiedy jest potrzebna. Istnieje kilka sposobów tworzenia funkcji niestandardowej: 

Poniżej przedstawiono prosty przykład funkcji niestandardowej, która jest zgodna z długoletnią tradycją programowania.

  1. Aby utworzyć puste zapytanie:Program Excel    wybierz pozycję Dane > Pobierz > danychz 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. Zaznacz nowe zapytanie, a następnie wybierz pozycję Narzędzia główne > 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 Ikona Funkcja po lewej stronie.

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

  8. Wyniki funkcji są wyświetlane w podglądzie danych i dodawane do okienka Zapytania jako zapytanie o domyślnej nazwie Wywoływana funkcja. Możesz zmienić jego nazwę na bardziej znaczącą, taką jak "HelloWorldResult".

  9. Zaznacz to zapytanie, a następnie wybierz pozycję Narzędzia główne > 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ę szesnastkową.

  1. Aby utworzyć puste zapytanie:Program Excel    wybierz pozycję Dane > Pobierz > danychz 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. Zaznacz nowe zapytanie, a następnie wybierz pozycję Narzędzia główne > 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 Ikona Funkcja po lewej stronie.

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

    Wywoływanie funkcji niestandardowej MyHex

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

  9. Zaznacz to zapytanie, a następnie wybierz pozycję Narzędzia główne > 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ź zapytanie załadowane wcześniej z Edytor Power Query, zaznacz komórkę w danych, a następnie wybierz pozycję Zapytanie > Edytuj. Aby uzyskać więcej informacji, zobacz Tworzenie, edytowanie i ładowanie zapytania w programie Excel (Power Query).Nuta    W tym przykładzie zapytanie wymaga co najmniej jednej kolumny typu danych Liczba całkowita .

  2. Utwórz funkcję niestandardową "MyHex", jak wyjaśniono w sekcji Tworzenie i wywoływanie funkcji niestandardowej zawierającej parametr z Edytor zaawansowany.

  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ź nową nazwę kolumny , na przykład "HexConvert".

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

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

  7. Wybierz kolumnę typu danych Liczba całkowita 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łkowita wprowadzona jako parametr.

Nowa kolumna MyHex zawierająca wartości w arkuszu

Zobacz też

Dodatek Power Query dla programu Excel — pomoc

Tworzenie formuł dodatku Power Query w programie Excel

Tworzenie zapytania parametrycznego

Zarządzanie zapytaniami

Opis funkcji Power Query M (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.