ЛЯМБДА-функция

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel 2024 Excel 2024 для Mac

С помощью функции ЛЯМБДА можно создавать пользовательские функции для повторного использования и вызывать их по понятным именам. Новая функция доступна во всей книге и вызывается так же, как и основные функции Excel.

Вы можете создать функцию для часто используемой формулы, избавиться от необходимости копировать и вставлять эту формулу (что может приводить к ошибкам), а также эффективно добавлять собственные функции в основную библиотеку функций Excel. Кроме того, для функции LAMBDA не требуются VBA, макросы или JavaScript, поэтому ее использование также может быть полезно для программистов.

Как работает функция LAMBDA

Синтаксис

=LAMBDA([параметр1; параметр2; …;] вычисление)

Аргумент Описание
параметр Значение, которое вы хотите передать функции, например ссылку на ячейку, строку или число. Вы можете ввести до 253 параметров. Этот аргумент является необязательным.
вычисление Формула, которую необходимо выполнить и вывести в качестве результата выполнения функции. Это должен быть последний аргумент и он должен возвращать результат. Это обязательный аргумент.

Замечания

  • Лямбда-имена и параметры соответствуют правилам синтаксиса Excel для имен, за одним исключением: не используйте точку (.) в имени параметра. Дополнительные сведения см. в статье Имена в формулах.
  • При создании функции LAMBDA, как и в случае с любой основной формулой Excel, необходимо придерживаться рекомендаций, например, передавать правильное количество и тип аргументов, следить за соответствием открывающих и закрывающих скобок и вводить числа в неформатированном виде. Кроме того, при использовании команды Evaluate Excel немедленно возвращает результат функции ЛЯМБДА, и вы не сможете войти в нее. Дополнительные сведения см. в статье Обнаружение ошибок в формулах.

Ошибки

  • В случае ввода более 253 параметров Excel возвращает ошибку "#ЗНАЧ!".
  • В случае передачи функции LAMBDA неправильного количества аргументов Excel возвращает ошибку "#ЗНАЧ!".
  • Если вы вызываете функцию LAMBDA из самой себя, и вызов является циклическим, Excel может вернуть #NUM! ошибка, если слишком много рекурсивных вызовов.
  • Если создать функцию LAMBDA в ячейке, не вызвав ее также из самой ячейки, Excel возвращает ошибку "#ВЫЧИС!".

Создание функции LAMBDA

Ниже описана пошаговая процедура, выполнив которую, вы обеспечите правильную работу функции LAMBDA, которая будет выполняться аналогично основной функции Excel.

Шаг 1. Проверка формулы

Убедитесь, что формула, используемая в аргументе вычисления , работает правильно. Это крайне важно, так как при создании функции LAMBDA вам необходимо обеспечить, чтобы формула работала надлежащим образом, и в случае возникновения ошибок или непредвиденного поведения вы могли быть уверены, что не формула является тому причиной. Дополнительные сведения см. в разделах Обзор формул в Excel и Создание простой формулы в Excel.

Шаг 2. Создание функции LAMBDA в ячейке

Рекомендуется создавать и испытывать свою функцию LAMBDA в ячейке, чтобы убедиться в правильности ее работы, включая определение и передачу параметров. Чтобы избежать ошибки #CALC!, добавьте вызов функции LAMBDA, чтобы немедленно вернуть результат:

=функция LAMBDA ([параметр1; параметр2; ...];вычисление) (вызов функции)

В приведенном ниже примере возвращается значение 2.

=LAMBDA(number, number + 1)(1)

Шаг 3. Добавление функции LAMBDA в диспетчер имен

Завершив создание функции LAMBDA, переместите ее в диспетчер имен для окончательного определения. Таким образом вы сможете присвоить функции LAMBDA понятное имя, добавить описание и обеспечить возможность ее повторного использования в любой ячейке книги. Вы также можете управлять функцией LAMBDA точно так же, как и любым именем, например, строковой константы, диапазона ячеек или таблицы.

Последовательность действий

  1. Выполните одно из следующих действий:

    • В Excel для Windows выберитеДиспетчер именформул>.
    • В Excel для Mac выберите Формулы>Определить имя.
  2. Выберите Новое, а затем введите необходимые данные в диалоговом окне Новое имя:

    Имя: Введите имя функции LAMBDA.
    Область: Книга указывается по умолчанию. Также доступны отдельные листы, за исключением Excel для Интернета.
    Примечание: Необязательно, но настоятельно рекомендуется. Введите до 255 знаков. Кратко опишите назначение функции, укажите правильное количество и тип аргументов.
    Отображается в диалоговом окне Вставка функции и в виде подсказки (вместе с аргументом Вычисления ) при вводе формулы и использовании автозаполнения формулы (также называемого Intellisense).
    Объект ссылки: Введите функцию LAMBDA.

    Например:

    Определение функции LAMBDA в диспетчере имен

  3. Чтобы создать функцию LAMBDA, нажмите ОК.

  4. Чтобы закрыть диалоговое окно Диспетчер имен, нажмите Закрыть.

Дополнительные сведения см. в статье Использование Диспетчера имен.

Примеры

Пример 1. Преобразование градусов по Фаренгейту в градусы Цельсия

Определите в Диспетчере имен следующие данные:

Имя: ToCelsius
Область: Книга
Примечание: Преобразование градусов по Фаренгейту в градусы Цельсия
Объект ссылки: =LAMBDA(temp; (5/9) * (Temp-32))

Скопируйте данные примера из таблицы ниже и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные
104
86
68
50
32
Формула Результат
=TOCELSIUS(A2) 40
=TOCELSIUS(A3) 30
=TOCELSIUS(A4) 20
=TOCELSIUS(A5) 10
=TOCELSIUS(A6) 0

Пример 2. Поиск гипотенузы

Определите в Диспетчере имен следующие данные:

Имя: Гипотенуза
Область: Книга
Примечание: Возвращает длину гипотенузы прямоугольного треугольника
Объект ссылки: =LAMBDA(a; b; КОРЕНЬ((a^2+b^2)))

Скопируйте данные примера из таблицы ниже и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные
3 4
5 12
7 24
9 40
Формула Результат
=HYPOTENUSE(A2,B2) 5
=HYPOTENUSE(A3,B3) 13
=HYPOTENUSE(A4,B4) 25
=HYPOTENUSE(A5,B5) 41

Пример 3. Подсчет слов

Определите в Диспетчере имен следующие данные:

Имя: CountWords
Область: Книга
Примечание: Возвращает количество слов в текстовой строке
Объект ссылки: =LAMBDA(текст; ДЛСТР(СЖПРОБЕЛЫ(текст)) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(текст); " "; "")) + 1)

Скопируйте данные примера из таблицы ниже и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные
Что-то злое к нам спешит.
Пришел, увидел, победил.
Съешь же еще этих мягких французских булок, да выпей чаю.
Используй Силу, Люк!
Формула Результат
=COUNTWORDS(A2) 5
=COUNTWORDS(A3) 6
=COUNTWORDS(A4) 9
=COUNTWORDS(A5) 4

Пример 4. Определение даты Дня Благодарения

Определите в Диспетчере имен следующие данные:

Имя: ThanksgivingDate
Область: Книга
Примечание: Возвращает дату Дня Благодарения в США в текущем году
Объект ссылки: =LAMBDA(год; ТЕКСТ(ДАТА(год; 11; ВЫБОР(ДЕНЬНЕД(ДАТА(год; 11; 1)); 26; 25; 24; 23; 22; 28; 27)); "mm/dd/yyyy"))

Скопируйте данные примера из таблицы ниже и вставьте их в ячейку A1 нового листа Excel. При необходимости измените ширину столбцов, чтобы видеть все данные.

Данные
2020
2021 г.
2022
2023
2024
Формула Результат
=THANKSGIVINGDATE(A2) 11/26/2020
=THANKSGIVINGDATE(A3) 11/25/2021
=THANKSGIVINGDATE(A4) 11/24/2022
=THANKSGIVINGDATE(A5) 11/23/2023
=THANKSGIVINGDATE(A6) 11/28/2024

Дополнительные сведения

Вы всегда можете обратиться к эксперту в техническом сообществе Excel или получить поддержку в сообществах.