Намалява масив до акумулирана стойност, като прилага LAMBDA към всяка стойност и връща общата стойност в акумулатора.
Синтаксис
=REDUCE([initial_value], масив; ламбда(акумулатор; стойност; тяло))
Синтаксисът на функцията REDUCE има следните аргументи и параметри:
[initial_value] Задава началната стойност за акумулатора.
масив Масив, който трябва да бъде намален.
LAMBDA LAMBDA, която се извиква за намаляване на масива. LAMBDA приема три параметъра:
- акумулатор Стойността, сумирана и върната като краен резултат.
- стойност Текущата стойност от масива.
- тяло Изчислението, приложено към всеки елемент в масива.
Забележки
Използвайте аргумента 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)))