Зменшує масив до накопиченого значення, застосовуючи LAMBDA до кожного значення та повертаючи загальне значення в накопичувачі.
Синтаксис
=REDUCE([initial_value], масив, лямбда(акумулятор, значення, тіло))
Синтаксис функції REDUCE має такі аргументи й параметри:
[initial_value] Задає початкове значення для накопичувача.
масив Масив, який потрібно скоротити.
Lambda Функція LAMBDA, яка викликається для зменшення масиву. LAMBDA приймає три параметри:
- акумулятор Значення підсумовується та повертається як кінцевий результат.
- value (значення) Поточне значення з масиву.
- Тіло Обчислення, яке застосовується до кожного елемента масиву.
Примітки
Використовуйте аргумент initial_value, щоб встановити початкове значення для параметра накопичувача. У прикладі 2 для множення накопичувача встановіть значення 1, щоб уникнути множення на 0.
ПРИМІТКА. Якщо для initial_value не вказано жодне значення, перше значення в масиві буде використовуватися як початкове.
Помилки
Надання неприпустимої функції LAMBDA або неправильна кількість параметрів повертає значення #VALUE! помилка з назвою "Неправильні параметри".
Приклади
Приклад 1. Підсумування значень квадрата
Введіть зразок даних у клітинки A1:C2, а потім скопіюйте формулу в клітинку D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Приклад 2. Створення настроюваної функції "PRODUCTIF" для множення лише значень, більших за 50
Створіть таблицю "Таблиця3" з одним стовпцем під назвою "nums", починаючи з клітинки E1. У клітинку G2 скопіюйте таку формулу:
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Приклад 3. Підрахунок тільки парних значень
Створіть таблицю "Таблиця4" з одним стовпцем під назвою "Nums", починаючи з клітинки D1. Скопіюйте в клітинку F2 таку формулу:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))