Створення й виклик спеціальної функції

Застосовується до
Excel для Microsoft 365 Excel 2024 Excel 2021

Спеціальна функція використовує мову формул M, отримує набір вхідних значень і повертає одне вихідне значення. Якщо є логіка, яку потрібно повторювати багато разів або застосувати той самий набір перетворень до іншого запиту або значення, варто створити спеціальну функцію та викликати її там, де потрібно. Спеціальну функцію можна створити кількома способами:

Створення та виклик простої спеціальної функції за допомогою Розширений редактор

У прикладі нижче наведено просту спеціальну функцію, яка відповідає давнім традиціям програмування.

  1. Створіть пустий запит.

    Програма Excel Вибір даних>Отримання даних>з інших джерел>Пустий запит.

    Power QueryPower Query Клацніть правою кнопкою миші пусте місце в області запитів ліворуч і виберіть команду "Новий запит>"Пустий запит дляінших джерел>.

  2. В області "Запити " ліворуч двічі клацніть ім'я та перейменуйте новий пустий запит на HelloWorld.

  3. Вибираємо новий запит, а потім обираємо HomeAdvanced>EditorРозширений редактор.

  4. Замініть початковий код шаблону на такий код:
    let
         HelloWorld = () => ("Hello World")
    in
         HelloWorld

  5. Натисніть кнопку Готово.

  6. Ви змінили запит HelloWorld, на спеціальну функцію. Зверніть увагу на піктограму функції Піктограма функції ліворуч від неї.

  7. Щоб викликати функцію, виберіть її, а потім натисніть " Викликати " в режимі попереднього перегляду даних.

    Виклик спеціальної функції HelloWorld

  8. Результати функції з'являться в режимі попереднього перегляду даних і додадуться до області запитів як запит із задіяною за замовчуванням назвою " Викликана функція". Можливо, ви захочете перейменувати його на щось зрозуміліше, наприклад HelloWorldResult.

  9. Виберіть цей запит, а потім виберіть " Головна>& Завантажити ", щоб переглянути результати на аркуші.

Результати.

Результати HelloWorld на аркуші

Створення та виклик спеціальної функції, яка містить параметр у Розширений редактор

У наведеному нижче прикладі показано, як передати параметр спеціальній функції, щоб перетворити десяткове число на шістнадцяткове.

  1. Створіть пустий запит.

    Програма Excel Вибір даних>Отримання даних>з інших джерел>Пустий запит.

    Power QueryPower Query Клацніть правою кнопкою миші пусте місце в області запитів ліворуч і виберіть команду "Новий запит>"Пустий запит дляінших джерел>.

  2. В області "Запити " ліворуч перейменуйте новий пустий запит на MyHex.

  3. Вибираємо новий запит, а потім обираємо HomeAdvanced>EditorРозширений редактор.

  4. Замініть початковий код шаблону на такий код:
    let
         MyHex = (parameter1) => Number.ToText(parameter1,"X")
    in
         MyHex

  5. Натисніть кнопку Готово.

  6. Ви змінили запит MyHex, на спеціальну функцію. Зверніть увагу на піктограму функції Піктограма функції ліворуч від неї.

  7. Щоб викликати функцію, виберіть її. У режимі попереднього перегляду даних введіть число в полі параметр1 і натисніть кнопку Викликати.
    Виклик спеціальної функції MyHex

  8. Результати функції з'являться в режимі попереднього перегляду даних. Power QueryНадбудова Power Query додає результати до області запитів як запит із задіяною функцією за замовчуванням. Можливо, ви захочете перейменувати його на щось зрозуміліше, наприклад MyHexResult.

  9. Виберіть цей запит, а потім виберіть " Головна>& Завантажити ", щоб переглянути результати на аркуші.

Результати.

Результат функції MyHex на аркуші

Додавання стовпця за допомогою виклику спеціальної функції

Якщо ви створюєте функцію принаймні з одним параметром, ви можете викликати її як спеціальну функцію, щоб створити новий стовпець і нове значення для кожного рядка в таблиці.

  1. Щоб відкрити запит, знайдіть запит, попередньо завантажений із Редактор Power Query, виберіть клітинку в даних, а потім натисніть кнопку "Редагувати запит".> Докладні відомості див. в статті "Створення, редагування та завантаження запиту у програмі Excel (Power QueryPower Query)".

    Примітка.

    Для цього прикладу запиту потрібен принаймні один стовпець із цілим числом .

  2. Створення MyHex спеціальної функції описано в розділі "Створення та виклик спеціальної функції, яка має параметр у Розширений редактор".

  3. У запиті виберіть "Додати стовпець>"Викликати спеціальну функцію. Відкриється діалогове вікно " Виклик спеціальної функції ".

  4. Введіть ім'я нового стовпця, наприклад HexConvert, у поле " Ім'я нового стовпця ".

  5. Виберіть ім'я попередньо визначеної спеціальної функції в розкривному списку запитів функцій. У цьому прикладі виберіть MyHex.

  6. Оскільки спеціальна функція посилається на параметр, параметр тепер відображається.

  7. Виберіть стовпець із типом даних " Ціле число" як параметр функції.

    Діалогове вікно

  8. Натисніть кнопку OK.

Результат

Буде створено новий стовпець із шістнадцятковим значенням стовпця "Ціле число", введеного як параметр.

Новий стовпець значень MyHex на аркуші

Додаткові відомості

Power QueryДовідка з надбудови Power Query для програми Excel

Створення параметризованого запиту (Power QueryPower Query)

Керування запитами (Power QueryPower Query; Power Query)

Загальні відомості Power Query функцій M

Використання спеціальних функцій