Перейти к основному контенту
Поддержка
Войдите с помощью учетной записи Майкрософт
Войдите или создайте учетную запись.
Здравствуйте,
Выберите другую учетную запись.
У вас несколько учетных записей
Выберите учетную запись, с помощью которой нужно войти.

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

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

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

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

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

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

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

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

  1. Выполните одно из указанных ниже действий.

    • В Excel для Windows выберите Формулы > Диспетчер имен.

    • В Excel для Mac выберите Формулы > Задать имя.

  2. Выберите Новое, а затем введите необходимые данные в диалоговом окне Новое имя
     

    Имя:

    Введите имя функции LAMBDA.

    Область:

    Книга указывается по умолчанию. Также можно выбрать отдельные листы.

    Примечание:

    Необязательно, но настоятельно рекомендуется. Введите до 255 знаков. Кратко опишите назначение функции, укажите правильное количество и тип аргументов.

    Отображается в диалоговом окне Вставить функцию и в виде подсказки (вместе с аргументом Вычисление ) при вводе формулы и использовании функции Автозаполнение формул (Intellisense).

    Объект ссылки:

    Введите функцию LAMBDA. 

    Например:

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

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

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

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

Примеры

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

Имя:

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

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

Имя:

Гипотенуза

Область:

Книга

Примечание:

Возвращает длину гипотенузы прямоугольного треугольника

Объект ссылки:

=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

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

Имя:

CountWords

Область:

Книга

Примечание:

Возвращает количество слов в текстовой строке

Объект ссылки:

=LAMBDA(текст; ДЛСТР(СЖПРОБЕЛЫ(текст)) - ДЛСТР(ПОДСТАВИТЬ(СЖПРОБЕЛЫ(текст); " "; "")) + 1)

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

Данные

Что-то злое к нам спешит.

Пришел, увидел, победил.

Съешь же еще этих мягких французских булок, да выпей чаю.

Используй Силу, Люк!

Формула

Результат

=COUNTWORDS(A2)

5

=COUNTWORDS(A3)

6

=COUNTWORDS(A4)

9

=COUNTWORDS(A5)

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

См. также

Функция "LET"

Создание пользовательских функций в Excel

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?
После нажатия кнопки "Отправить" ваш отзыв будет использован для улучшения продуктов и служб Майкрософт. Эти данные будут доступны для сбора ИТ-администратору. Заявление о конфиденциальности.

Спасибо за ваш отзыв!

×