0Pricing
Excel Formulas Academy · Урок

Определение пользовательских функций с помощью LAMBDA

Превращайте вычисление в именованную функцию для повторного использования.

«Определение пользовательских функций с помощью LAMBDA» — бесплатный урок Excel Formulas Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Excel Formulas Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Excel Formulas Academy содержит 4 уроков всего.

Создание собственной функции

В Excel есть сотни функций, таких как SUM и XLOOKUP. Но что делать, если нужной функции не существует, например для преобразования градусов Цельсия в градусы Фаренгейта?

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

LAMBDA доступна в Microsoft 365 и Google Таблицах. На этом уроке Вы научитесь превращать вычисление в многоразовую именованную функцию.

Структура LAMBDA

У LAMBDA есть две части: список имён параметров и итоговое вычисление, в котором они используются.

Структура выглядит так же, как у LET: каждый аргумент, кроме последнего, является именем параметра, а последний аргумент — формулой, выполняющей вычисление.

Сама по себе LAMBDA ничего не делает, пока Вы не передадите ей значения, подобно тому как рецепт ничего не даёт, пока Вы не приготовите блюдо из ингредиентов.

=LAMBDA(parameter1, parameter2, calculation)

Непосредственный вызов LAMBDA

Чтобы сразу проверить LAMBDA, заключите её в скобки и сразу после этого передайте значения. Это называется вызовом внутри формулы.

Здесь мы определяем LAMBDA, которая принимает x и возвращает x*2, а затем сразу вызываем её со значением 5. Результат равен 10. Конструкция (5) в конце передаёт значение параметру x.

Это самый быстрый способ убедиться, что логика LAMBDA работает, прежде чем присваивать ей имя.

=LAMBDA(x, x*2)(5)

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

Давайте создадим что-нибудь полезное. Чтобы перевести градусы Цельсия в градусы Фаренгейта, нужно умножить значение на 1,8 и прибавить 32.

Мы определяем LAMBDA с одним параметром c, а затем вызываем её со значением из ячейки A2. Если в A2 находится число 20, результат равен 68.

Это уже работает как пользовательская функция, но каждый раз вводить всю LAMBDA утомительно. Скоро мы присвоим ей имя.

=LAMBDA(c, c*1.8 + 32)(A2)

Несколько параметров

LAMBDA может принимать несколько входных значений. Просто перечислите имена всех параметров перед итоговым вычислением.

Вот функция, которая вычисляет площадь прямоугольника по значениям width и height. Мы вызываем её внутри формулы со значениями 4 и 5 и получаем 20.

Параметры сопоставляются по позиции: первое значение передаётся первому параметру, второе — второму и так далее.

=LAMBDA(width, height, width*height)(4, 5)

Присвоение имени LAMBDA в диспетчере имён

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

В Excel откройте раздел Формулы, Диспетчер имён, Создать. Введите имя, например ToFahrenheit, и вставьте LAMBDA (без значений для непосредственного вызова) в поле Относится к.

После этого Вы сможете использовать =ToFahrenheit(A2) в любой ячейке книги так же, как SUM. Именованные LAMBDA подробно рассматриваются в следующем уроке.

=LAMBDA(c, c*1.8 + 32)

Объединение LAMBDA с LET

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

Эта функция принимает значения price и rate, вычисляет tax как именованный промежуточный результат и возвращает итоговую сумму. Благодаря LET формула выглядит понятнее.

=LAMBDA(price, rate, LET(tax, price*rate, price + tax))(100, 0.2)

LAMBDA в Google Таблицах

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

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

=LAMBDA(c, c*1.8 + 32)(A2)

Зачем нужна LAMBDA

LAMBDA позволяет один раз задать рабочую логику и повторно использовать её где угодно:

  • Больше не нужно копировать и вставлять одну и ту же сложную формулу
  • Исправьте логику в одном месте — и все её использования обновятся
  • Понятные имена, такие как ToFahrenheit, сами объясняют назначение

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

Распространённая ошибка

Если ввести LAMBDA в ячейку, не вызвав её, Excel вернёт ошибку #CALC! или покажет текст функции. Это ожидаемое поведение.

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

=LAMBDA(x, x*2)(5)

Итоги на данный момент

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

  • Проверяйте логику с помощью вызова внутри формулы: =LAMBDA(x, x*2)(5)
  • Поддерживайте несколько параметров, сопоставляемых по позиции
  • Объединяйте LAMBDA с LET для понятного описания внутренних шагов
  • Присваивайте функции имя в диспетчере имён, чтобы использовать её во всей книге

Далее Вы узнаете, как применять LAMBDA ко всему массиву с помощью MAP и REDUCE.

Быстрая проверка

Проверьте, насколько хорошо Вы поняли, как вызывается LAMBDA.

Итоги: пользовательские функции с LAMBDA

LAMBDA позволяет создавать собственные функции только из формул.

  • Синтаксис: имена параметров, за которыми следует итоговое вычисление
  • Вызывайте функцию внутри формулы со значениями для проверки или присваивайте ей имя для повторного использования
  • Параметры сопоставляются с аргументами по позиции
  • Функция одинаково работает в Excel и Google Таблицах
  • LAMBDA без вызова требует значений, иначе возвращает ошибку #CALC!

Теперь Вы можете превратить повторяющуюся логику в удобный именованный инструмент. Далее: применение LAMBDA к массивам с помощью MAP и REDUCE.

=LAMBDA(c, c*1.8 + 32)(A2)

Часто задаваемые вопросы

Урок «Определение пользовательских функций с помощью LAMBDA» бесплатный?

Да — полный текст урока «Определение пользовательских функций с помощью LAMBDA» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Excel Formulas Academy, подпишись на CoddyKit PRO. Курс Excel Formulas Academy содержит 4 уроков всего.

Чему я научусь в уроке «Определение пользовательских функций с помощью LAMBDA»?

Превращайте вычисление в именованную функцию для повторного использования. Ты практикуешь Excel Formulas Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Excel Formulas Academy?

Предыдущий опыт не требуется. Excel Formulas Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Определение пользовательских функций с помощью LAMBDA»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Excel Formulas Academy?

Да. Каждый урок Excel Formulas Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Именование шагов с помощью LET
  2. Определение пользовательских функций с помощью LAMBDA
  3. Циклы с помощью MAP и REDUCE
  4. Более понятные формулы с именованными LAMBDA
← Назад к Excel Formulas Academy