Використовуйте функцію 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.
Крок 1. Перевірка формули
Переконайтеся, що формула, яка використовується в аргументі обчислення , працює належним чином. Це дуже важливо, оскільки під час створення функції LAMBDA потрібно переконатися, що формула працює, і ви можете виключити це, якщо виникають помилки або неочікувана поведінка. Докладні відомості див. в статті Огляд формул у програмі Excel і Створення простої формули в Excel.
Крок 2. Створення Lambda в клітинці
Радимо створити та перевірити функцію LAMBDA в клітинці, щоб переконатися, що вона працює правильно, включно з визначенням і проходженням параметрів. Щоб уникнути #CALC! помилку, додайте виклик до функції LAMBDA, щоб негайно повернути результат:
=Функція LAMBDA ([параметр1, параметр2, ...],обчислення) (виклик функції)
У наведеному нижче прикладі повертається значення 2.
=LAMBDA(number, number + 1)(1)
Крок 3. Додавання Lambda до диспетчера імен
Завершивши роботу функції LAMBDA, перемістіть її до диспетчера імен для остаточного визначення. Таким чином ви надаєте функції LAMBDA змістовне ім'я, надаєте опис і робите її повторною для використання з будь-якої клітинки в книзі. Ви також можете керувати функцією LAMBDA так само, як і для будь-якого імені, наприклад рядкових констант, діапазону клітинок або таблиці.
Процедура
Виконайте одну з таких дій:
- В Excel для Windows виберіть Диспетчер імен формул>.
- В Excel для Mac виберіть Пункт Формули>Визначити ім'я.
Натисніть кнопку Створити, а потім введіть відомості в діалоговому вікні Нове ім'я:
Ім’я: Введіть ім'я функції LAMBDA. Область: Книга використовується за замовчуванням. Окремі аркуші також доступні, за винятком вебпрограма Excel. Примітка: Необов'язкова, але дуже рекомендована. Введіть до 255 символів. Коротко опишіть призначення функції та правильну кількість і тип аргументів.
Відображається в діалоговому вікні Вставлення функції та як підказка (разом з аргументом Обчислення ), коли ви вводите формулу та використовуєте функцію автозаповнення формул (також називається Intellisense).Посилається на: Введіть функцію LAMBDA. Наприклад:
Щоб створити функцію LAMBDA, натисніть кнопку OK.
Щоб закрити діалогове вікно Диспетчер імен, натисніть кнопку Закрити.
Докладні відомості див. в статті Використання диспетчера імен.
Приклади
Приклад 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. Пошук гіпотенузи
Визначте в диспетчері імен таке:
| Ім’я: | 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 |
Приклад 3. Підрахунок слів
Визначте в диспетчері імен таке:
| Ім’я: | 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 |
Приклад 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 або отримати підтримку в спільнотах.