Функция REDUCE

Применяется к
Excel для Microsoft 365 Excel для Microsoft 365 для Mac

Уменьшает массив до накопленных значений, применяя к каждому значению ЛЯМБДА и возвращая общее значение в аккумуляторе.   

Синтаксис

=REDUCE([initial_value], array, lambda(accumulator, value, body))

Аргументы и параметры функции REDUCE:

  • [initial_value] Задает начальное значение для аккумулятора.

  • Массива Массив, который требуется уменьшить.

  • Лямбда ЛЯМБДА, вызываемая для уменьшения массива. ЛЯМБДА принимает три параметра:

    • Аккумулятор Значение, суммарное и возвращаемое в качестве конечного результата.
    • Значение Текущее значение из массива.
    • Тела Вычисление, применяемое к каждому элементу в массиве.

Замечания

Используйте аргумент "начальное_значение", чтобы установить начальное значение для параметра аккумулятора. В примере 2, где вы умножаете аккумулятор, установите значение 1, чтобы избежать умножения на 0.

ПРИМЕЧАНИЕ. Если значение для initial_value не указано, в качестве начального значения будет использоваться первое значение в массиве.

Ошибки

При указании недопустимой функции ЛЯМБДА или неверного количества параметров возвращается ошибка #ЗНАЧ! с названием "Неверные параметры".

Примеры

Пример 1. Суммирование значений в квадрате

Введите пример данных в ячейки A1:C2, а затем скопируйте формулу в ячейку D4:

=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))

Первый пример1 функции REDUCE

Пример 2. Создание настраиваемой функции "PRODUCTIF" для умножения только значений больше 50

Создайте таблицу с именем Table3 с одним столбцом nums, начиная с ячейки E1. В ячейку G2 скопируйте следующую формулу:

=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))

Пример ЛЯМБДА-ВЫРАЖЕНИЯ REDUCE

Пример 3. Подсчет только ровных значений

Создайте таблицу с именем "Table4" с одним столбцом с именем Nums, начиная с ячейки D1. В ячейку F2 скопируйте следующую формулу:

=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))

Третий пример функции REDUCE