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

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

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

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

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

Синтаксис

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

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

Замечания

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

Ошибки

  • В случае ввода более 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 Tech Community или получить поддержку в сообществах.