- Кратко
- Для чего нужна функция
- Совместимость
- Синтаксис
- Excel
- Google Sheets
- Разбор аргументов
- Excel
- Google Sheets
- Частые задачи
- Простые примеры
- Пример 1. Базовое использование в ячейке (Excel)
- Пример 2. Базовое использование в ячейке (Google Sheets)
- Практические сценарии использования
- Создание переиспользуемой функции через Диспетчер имён (Excel)
- Создание функции в Google Sheets (Именованные функции)
- Использование LAMBDA-помощников: MAP (базовый пример)
- Использование LAMBDA-помощников: MAP (продвинутый пример, Excel)
- Рекурсивная LAMBDA
- Частые ошибки пользователей
- Использование LAMBDA в неподдерживаемых версиях Excel
- Некорректное имя параметра (Google Sheets)
- Ошибка #CALC! — LAMBDA не вызвана (Excel)
- Ошибка #NUM! — циклическая или слишком глубокая рекурсия (Excel)
- Типичные ошибки (технические)
- #ИМЯ? (#NAME!) — Excel
- #CALC! (#CALC!) — Excel
- #NUM! (#NUM!) — Excel
- Ошибка в Google Sheets: невызванная LAMBDA
- Сравнение LAMBDA с альтернативами
- Полезные комбинации с другими функциями
- LAMBDA + MAP (базовый)
- LAMBDA + FILTER (продвинутый, Excel)
- LAMBDA + LET (Excel)
- ISOMITTED (только Excel Microsoft 365 и Excel 2024)
- Часто задаваемые вопросы
- Заключение
Кратко
Что делает:
Создаёт пользовательские функции прямо в формулах без использования VBA или скриптов. Позволяет определить аргументы и формулу для вычислений, а затем многократно использовать эту логику.
Где работает:
✅ Excel Microsoft 365
✅ Excel 2024
✅ Google Sheets
❌ Excel 2021 — не поддерживается
❌ Excel 2019 и старше — не поддерживается
Количество параметров LAMBDA:
Excel: до 253
Сложность:
★★☆☆☆ — Средняя (базовое использование)
★★★★☆ — Высокая (рекурсия и продвинутые сценарии)
Для чего нужна функция
ЛЯМБДА (LAMBDA) — это возможность создавать собственные функции в Excel и Google Sheets без написания макросов. Она решает несколько важных задач:
- Создание переиспользуемых функций — напишите сложную формулу один раз, дайте ей имя и используйте в любом месте книги как встроенную функцию.
- Повышение читаемости — вместо громоздких формул с повторяющимися фрагментами появляются понятные имена:
=BOXVOLUME(B1;B2;B3)вместо длинной цепочки вычислений. - Простота обновления — если логика меняется, достаточно отредактировать функцию в одном месте, и все ячейки, использующие её, обновятся автоматически.
- Рекурсивные вычисления — функция может вызывать саму себя, что открывает возможности для решения задач, которые ранее требовали VBA.
- Работа с массивами через LAMBDA-помощники — функции MAP, REDUCE, BYCOL, BYROW, SCAN, MAKEARRAY принимают LAMBDA в качестве аргумента, позволяя выполнять сложные операции с массивами.
Совместимость
| Платформа | Поддержка LAMBDA | Примечание |
|---|---|---|
| Excel Microsoft 365 | ✅ Да | Полная поддержка |
| Excel 2024 | ✅ Да | Полная поддержка |
| Excel 2021 | ❌ Нет | LAMBDA недоступна |
| Excel 2019 и старше | ❌ Нет | LAMBDA недоступна, Ошибка #ИМЯ? |
| Google Sheets | ✅ Да | Поддерживается |
Синтаксис
Важно: Синтаксис LAMBDA различается между Excel и Google Sheets.
Excel
=ЛЯМБДА([параметр1]; [параметр2]; ...; вычисление)
=LAMBDA([parameter1]; [parameter2]; ...; calculation)
В Excel функция может объявлять несколько параметров непосредственно в LAMBDA. До 253 параметров.
Пример Excel: =ЛЯМБДА(a; b; a + b)(3; 4) — возвращает 7.
Google Sheets
=LAMBDA(name; formula_expression)
В Google Sheets синтаксис LAMBDA имеет вид LAMBDA(name; formula_expression). Для работы с несколькими массивами используются LAMBDA-помощники, например MAP, а LAMBDA также можно передавать в именованные функции.
Пример Google Sheets: =LAMBDA(salary; salary*0.3)(1000) — возвращает 300.
Разбор аргументов
Excel
| Аргумент | Обязательный | Описание |
|---|---|---|
| параметр1, параметр2, … | ❌ Нет | Имена переменных (аргументов), которые будут использоваться внутри функции. До 253 параметров. |
| вычисление (calculation) | ✅ Да | Формула, которая выполняет расчёт. Это последний аргумент, он возвращает результат функции. |
Google Sheets
| Аргумент | Обязательный | Описание |
|---|---|---|
| name | ✅ Да | Имя, которое будет использоваться внутри formula_expression. Должно быть допустимым идентификатором. |
| formula_expression | ✅ Да | Формула для вычисления. Использует имена, объявленные в первом аргументе. |
Частые задачи
| Задача | Excel | Google Sheets |
|---|---|---|
| Удвоение числа | =ЛЯМБДА(a; a*2)(5) → 10 | =LAMBDA(a; a*2)(5) → 10 |
| Расчёт налога | =ЛЯМБДА(цена; цена*1.2)(B2) | =LAMBDA(salary; salary*0.3)(1000) |
| Преобразование температур | =ЛЯМБДА(temp; (temp-32)*5/9)(77) | =LAMBDA(Temp; (5/9)*(Temp-32))(85) |
| Работа с массивами | =MAP(A1:C2; ЛЯМБДА(x; x*x)) | =MAP(C5:C10; LAMBDA(salary; salary*0.3)) |
Простые примеры
Пример 1. Базовое использование в ячейке (Excel)
Задача: создать функцию для удвоения числа, протестировать её непосредственно в ячейке.
Формула (Excel): =ЛЯМБДА(x; x*2)(5)
Результат: 10
Объяснение: LAMBDA определяет функцию с параметром x и вычислением x*2. Затем в скобках (5) передаётся значение, и функция выполняется.
Пример 2. Базовое использование в ячейке (Google Sheets)
Задача: преобразовать градусы Фаренгейта в Цельсия.
Формула (Google Sheets): =LAMBDA(Temp; (5/9)*(Temp-32))(85)
Результат: 29.44
Практические сценарии использования
Создание переиспользуемой функции через Диспетчер имён (Excel)
Задача: создать функцию BOXVOLUME, которая будет вычислять объём параллелепипеда по трём сторонам, и использовать её многократно.
Шаг 1. Тестирование в ячейке:
=ЛЯМБДА(height; width; length; height * width * length)(B1; B2; B3)
Шаг 2. Создание именованной функции:
- Перейдите в Формулы → Диспетчер имён → Создать
- Имя:
BOXVOLUME - Область:
Книга - Примечание:
Вычисляет объём параллелепипеда - Формула:
=ЛЯМБДА(height; width; length; height * width * length)
Шаг 3. Использование:=BOXVOLUME(B1; B2; B3)
Создание функции в Google Sheets (Именованные функции)
Задача: создать именованную функцию AVG_MONTHLY_TAX, которая применяет налог 30% ко всем значениям в диапазоне и возвращает средний налог.
Шаг 1. Создание именованной функции:
- Данные → Именованные функции
- Имя:
AVG_MONTHLY_TAX - Аргументы:
data_range,tax_function - Формула:
=AVERAGE(tax_function(data_range))
Шаг 2. Использование:
=AVG_MONTHLY_TAX(C5:C10; LAMBDA(salary; salary*0.3))
Схема работы:
C5:C10 → данные
↓
LAMBDA(salary; salary*0.3) → применяет налог к каждому значению
↓
AVERAGE → возвращает средний налог
Использование LAMBDA-помощников: MAP (базовый пример)
Задача: применить расчёт налога 30% ко всем значениям в диапазоне.
Формула (Google Sheets):
=MAP(C5:C10; LAMBDA(salary; salary*0.3))
Результат: массив значений налога для каждой зарплаты в диапазоне.
Объяснение: MAP применяет LAMBDA к каждому элементу массива C5:C10.
Использование LAMBDA-помощников: MAP (продвинутый пример, Excel)
Задача: отфильтровать строки по нескольким условиям.
Формула (Excel):
=ФИЛЬТР(D2:E11;
MAP(D2:D11; E2:E11;
ЛЯМБДА(size; color;
И(size = "Large"; color = "Red")
)
)
)
Объяснение: MAP создаёт массив логических значений для каждой строки. FILTER использует этот массив для отбора нужных строк.
Рекурсивная LAMBDA
Задача: создать рекурсивную функцию для вычисления факториала числа.
Шаг 1. Создание LAMBDA в Диспетчере имён (Excel):
=ЛЯМБДА(n;
ЕСЛИ(n <= 1; 1; n * ФАКТОРИАЛ_LAMBDA(n - 1))
)
Шаг 2. Использование:=ФАКТОРИАЛ_LAMBDA(5) → 120
Предупреждение: Если функция вызывает саму себя циклически, возвращается ошибка #NUM!. Всегда добавляйте терминальное условие для остановки рекурсии.
Частые ошибки пользователей
Использование LAMBDA в неподдерживаемых версиях Excel
Ситуация: пользователь вводит =LAMBDA(x; x*2)(5) в Excel 2021 и получает ошибку #ИМЯ? или ошибку вставки функции.
Решение: LAMBDA доступна только в Excel Microsoft 365 и Excel 2024. В Excel 2021 функция недоступна.
Некорректное имя параметра (Google Sheets)
Ситуация: =LAMBDA(3; x+1)(3) — вызывает ошибку, так как первый аргумент не является допустимым идентификатором.
Правила для идентификаторов в Google Sheets:
- Не может быть диапазоном (A1, A2)
- Не может содержать пробелы или специальные символы (точки и подчёркивания допускаются)
- Не может начинаться с цифры (например, 9hello)
Ошибка #CALC! — LAMBDA не вызвана (Excel)
Ситуация: в ячейку введена только LAMBDA без передачи аргументов: =ЛЯМБДА(a; b; a * b).
Решение: добавьте вызов функции с аргументами: =ЛЯМБДА(a; b; a * b)(4; 6).
Исключение: при создании именованной функции в Диспетчере имён вызов не требуется.
Ошибка #NUM! — циклическая или слишком глубокая рекурсия (Excel)
Ситуация: рекурсивная LAMBDA вызывает саму себя без терминального условия или превышает лимит рекурсивных вызовов.
Решение: всегда включайте условие остановки (base case). Для рекурсивных функций сначала тестируйте с малыми входными значениями.
Типичные ошибки (технические)
#ИМЯ? (#NAME!) — Excel
Причина: использование LAMBDA в неподдерживаемой версии Excel (Excel 2021, 2019 и старше). В Excel 2021 при попытке использовать LAMBDA функция может вернуть ошибку #ИМЯ?.
Решение: используйте Excel Microsoft 365 или Excel 2024.
#CALC! (#CALC!) — Excel
Причина: LAMBDA определена, но не вызвана.
Пример: =LAMBDA(x; x*2) — без вызова возвращает #CALC!.
Решение: добавьте вызов функции с аргументами: =LAMBDA(x; x*2)(5).
#NUM! (#NUM!) — Excel
Причина: циклический вызов LAMBDA внутри себя или слишком глубокая рекурсия.
Решение: проверьте наличие терминального условия в рекурсивной функции.
Ошибка в Google Sheets: невызванная LAMBDA
Причина: LAMBDA не вызвана или в именованной функции не передан правильный вызов.
Пример в именованной функции:
=tax_calculator_function / count(range)
вместо
=tax_calculator_function(sum(range)) / count(range)
Сравнение LAMBDA с альтернативами
| Критерий | ЛЯМБДА (LAMBDA) | VBA / Google Apps Script | Именованные диапазоны |
|---|---|---|---|
| Доступность | Excel 365+, Google Sheets | Все версии (требует разрешения макросов) | Все версии |
| Сложность создания | Средняя (формулы) | Высокая (требует программирования) | Низкая |
| Переиспользуемость | Высокая (в книге) | Высокая (в книге и глобально) | Средняя |
| Рекурсия | Да | Да | Нет |
| Работа с массивами | Да (через LAMBDA-помощники) | Да | Нет |
| Безопасность | Безопасна (не требует разрешений) | Требует доверия к макросам | Безопасна |
Полезные комбинации с другими функциями
LAMBDA + MAP (базовый)
Excel: =MAP(A1:C2; ЛЯМБДА(a; ЕСЛИ(a>4; a*a; a)))
Google Sheets: =MAP(C5:C10; LAMBDA(salary; salary*0.3))
LAMBDA + FILTER (продвинутый, Excel)
=ФИЛЬТР(D2:E11; MAP(D2:D11; E2:E11; ЛЯМБДА(s;c; И(s="Large"; c="Red"))))
LAMBDA + LET (Excel)
=ЛЯМБДА(продажи;
ПУСТЬ(
бонус_база; ЕСЛИ(продажи > 10000; продажи - 10000; 0);
бонус; бонус_база * 0.1;
ЕСЛИ(продажи > 15000; бонус * 1.2; бонус)
)
)(12000)
ISOMITTED (только Excel Microsoft 365 и Excel 2024)
Задача: создать функцию с необязательным аргументом и обработать его пропуск.
Формула:
=ЛЯМБДА(x; y; ЕСЛИ(ISOMITTED(y); "Отсутствует второй аргумент"; x + y))(1;)
Результат: "Отсутствует второй аргумент"
Важно: ISOMITTED работает только в Excel для Microsoft 365 и Excel 2024.
Часто задаваемые вопросы
Вопрос: В каких версиях Excel работает ЛЯМБДА (LAMBDA)?
Ответ: В Excel Microsoft 365 и Excel 2024. В Excel 2021 и старше — нет. В Google Sheets — поддерживается.
Вопрос: Можно ли использовать LAMBDA без VBA?
Ответ: Да, это основное преимущество LAMBDA — создание пользовательских функций с помощью стандартного синтаксиса формул.
Вопрос: Как сохранить LAMBDA для повторного использования?
Ответ: В Excel через Формулы → Диспетчер имён → Создать. В Google Sheets через Данные → Именованные функции.
Вопрос: Можно ли сделать рекурсивную функцию с LAMBDA?
Ответ: Да. Для этого функция должна ссылаться сама на себя через имя, под которым она сохранена в Диспетчере имён. Обязательно наличие терминального условия.
Вопрос: Сколько аргументов можно передать в LAMBDA в Excel?
Ответ: До 253 аргументов.
Вопрос: В чём разница между LAMBDA в Excel и Google Sheets?
Ответ: В Excel LAMBDA может принимать несколько параметров напрямую. В Google Sheets LAMBDA имеет вид LAMBDA(name; formula_expression); для работы с несколькими массивами используются LAMBDA-помощники, например MAP, а LAMBDA также можно передавать в именованные функции.
Заключение
ЛЯМБДА (LAMBDA) — это инструмент, который позволяет создавать собственные функции прямо в Excel и Google Sheets. Она делает формулы более читаемыми, переиспользуемыми и лёгкими в поддержке.
Ключевые правила:
- Версии: LAMBDA доступна в Excel Microsoft 365, Excel 2024 и Google Sheets. Не работает в Excel 2021 и старше.
- Синтаксис отличается: Excel позволяет несколько параметров в LAMBDA; Google Sheets использует синтаксис
LAMBDA(name; formula_expression)и LAMBDA-помощники для массивов. - Для многократного использования сохраняйте LAMBDA как именованную функцию через Диспетчер имён (Excel) или Именованные функции (Google Sheets).
- Для рекурсивных функций всегда добавляйте терминальное условие, чтобы избежать циклической рекурсии и ошибки
#NUM!. - ISOMITTED для обработки пропущенных аргументов доступна только в Excel Microsoft 365 и Excel 2024.
Освойте ЛЯМБДА — и ваши электронные таблицы станут мощнее, а формулы — понятнее и компактнее. В сочетании с функциями ПУСТЬ (LET), ФИЛЬТР (FILTER) и LAMBDA-помощниками (MAP, REDUCE, BYCOL, BYROW) LAMBDA превращает Excel и Google Sheets в среду для работы с данными без необходимости изучать сложные языки программирования.








