Уменьшает массив до накопленного значения, применяя ЛЯМБДА к каждому значению и возвращая общее значение в аккумулятор.
Синтаксис
=REDUCE([начальное_значение], массив, лямбда(аккумулятор, значение))
Аргументы и параметры функции REDUCE:
-
[начальное_значение] Задает начальное значение для аккумулятора.
-
массив. Массив, который нужно сократить.
-
лямбда. Функция ЛЯМБДА, вызываемая для создания массива. ЛЯМБДА принимает два параметра:
-
аккумулятор. Суммируемое значение, возвращаемое в качестве конечного результата.
-
значение Вычисление, применяемое к каждому элементу в массиве.
-
Заметки
Используйте аргумент "начальное_значение", чтобы установить начальное значение для параметра аккумулятора. В примере 2, где вы умножаете аккумулятор, установите значение 1, чтобы избежать умножения на 0.
Ошибки
При указании недопустимой функции ЛЯМБДА или неверного количества параметров возвращается ошибка #ЗНАЧ! с названием "Неверные параметры".
Примеры
Пример 1. Суммирование значений в квадрате
Введите пример данных в ячейки A1:C2, а затем скопируйте формулу в ячейку D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Пример 2. Создание настраиваемой функции "PRODUCTIF" для умножения только значений больше 50
Создайте таблицу с именем "Table2" с одним столбцом с именем Nums, начиная с ячейки E1. В ячейку G2 скопируйте следующую формулу:
=REDUCE(1,Table2[Nums],LAMBDA(a,b,IF(b>50,a+b,a)))
Пример 3. Подсчет только ровных значений
Создайте таблицу с именем "Table4" с одним столбцом с именем Nums, начиная с ячейки D1. В ячейку F2 скопируйте следующую формулу:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))