Використовуйте функцію LAMBDA, щоб створювати спеціальні функції для повторного використання та називати їх зрозумілим іменем. Нова функція доступна в усій книзі та називається рідними функціями Excel.
Ви можете створити функцію для часто використовуваної формули, усунути необхідність копіювання та вставлення цієї формули (яка може бути схильна до помилок), а також ефективно додати власні функції до власної бібліотеки функцій Excel. Крім того, функція LAMBDA не потребує VBA, макросів або JavaScript, тому не програмісти також можуть отримати користь від її використання.
Синтаксис
=LAMBDA([параметр1, параметр2,...,] обчислення)
Аргумент |
Опис |
---|---|
параметр |
Значення, яке потрібно передати функції, наприклад посилання на клітинку, рядок або число. Можна ввести до 253 параметрів. Цей аргумент необов'язковий. |
обчислення |
Формула, яку потрібно виконати, і повернути як результат функції. Це має бути останній аргумент, і він повинен повернути результат. Цей аргумент обов'язковий. Цей аргумент обов'язковий. |
Примітки
-
Імена та параметри Lambda відповідають правилам синтаксису Excel для імен за одним винятком: не використовуйте крапку (.) в імені параметра. Докладні відомості див. в статтіІмена у формулах.
-
Переконайтеся, що ви дотримуєтеся практичних порад, коли створюєте функцію LAMBDA так само, як і з будь-якою власною формулою Excel, наприклад проходячи правильне число та тип аргументів, зіставляючи відкриті та закривні дужки, а також вводячи числа як неформатовані. Крім того, коли ви використовуєте команду Обчислити , Excel відразу повертає результат функції LAMBDA, і в неї не можна ввійти. Докладні відомості див. в статті Виявлення помилок у формулах.
Помилки
-
Якщо ввести більше 253 параметрів, Excel поверне #VALUE! помилку #REF!.
-
Якщо до функції LAMBDA передається неправильна кількість аргументів, Excel повертає #VALUE! помилку #REF!.
-
Якщо ви викликаєте функцію LAMBDA зсередини, а виклик циклічний, Excel може повернути #NUM! помилку, якщо забагато рекурсивних викликів.
-
Якщо ви створюєте функцію LAMBDA в клітинці, не викликавши її з клітинки, Excel поверне #CALC! помилку #REF!.
Створення функції LAMBDA
Нижче наведено покрокові інструкції, які допоможуть переконатися, що Lambda працює належним чином і нагадує поведінку вбудованої функції Excel.
Переконайтеся, що формула, яка використовується в аргументі обчислення , працює належним чином. Це дуже важливо, оскільки під час створення функції LAMBDA потрібно переконатися, що формула працює, і ви можете виключити це, якщо виникають помилки або неочікувана поведінка. Докладні відомості див. в статті Огляд формул у програмі Excel і Створення простої формули в Excel.
Радимо створити та перевірити функцію LAMBDA в клітинці, щоб переконатися, що вона працює правильно, включно з визначенням і проходженням параметрів. Щоб уникнути #CALC! помилку, додайте виклик до функції LAMBDA, щоб негайно повернути результат:
=Функція LAMBDA ([параметр1, параметр2, ...],обчислення) (виклик функції)
У наведеному нижче прикладі повертається значення 2.=LAMBDA(number, number + 1)(1)
Завершивши роботу функції LAMBDA, перемістіть її до диспетчера імен для остаточного визначення. Таким чином ви надаєте функції LAMBDA змістовне ім'я, надаєте опис і робите її повторною для використання з будь-якої клітинки в книзі. Ви також можете керувати функцією LAMBDA так само, як і для будь-якого імені, наприклад рядкових констант, діапазону клітинок або таблиці.
Процедура
-
Виконайте одну з таких дій:
-
В Excel для Windows виберіть Формули > Диспетчер імен.
-
В Excel для Mac виберіть Формули > Визначити ім'я.
-
-
Натисніть кнопку Створити, а потім введіть відомості в діалоговому вікні Нове ім'я:
Ім’я:
Введіть ім'я функції LAMBDA.
Область:
Книга використовується за замовчуванням. Також доступні окремі аркуші.
Примітка:
Необов'язкова, але дуже рекомендована. Введіть до 255 символів. Коротко опишіть призначення функції та правильну кількість і тип аргументів.
Відображається в діалоговому вікні Вставлення функції і як підказка (разом з аргументом Обчислення ), коли ви вводите формулу та використовуєте Автозаповнення формули (також називається Intellisense).
Посилається на:
Введіть функцію LAMBDA.
Приклад:
-
Щоб створити функцію LAMBDA, натисніть кнопку OK.
-
Щоб закрити діалогове вікно Диспетчер імен, натисніть кнопку Закрити.
Докладні відомості див. в статті Використання диспетчера імен.
Приклади
Визначте в диспетчері імен таке:
Ім’я: |
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 |
Визначте в диспетчері імен таке:
Ім’я: |
Hypotenuse |
Область: |
Книга |
Примітка: |
Отримуємо довжину гіпотенузи прямокутного трикутника |
Посилається на: |
=LAMBDA(a, b, SQRT((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(text, LEN(TRIM(text)) - LEN(SUBSTITUTE(TRIM(text), " ", "")) + 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 |
Потрібна додаткова довідка?
Ви завжди можете поставити запитання експерту в спільноті Tech у розділі Excel чи отримати підтримку в спільнотах.