Zmenší pole na akumulovanú hodnotu použitím funkcie LAMBDA na každú hodnotu a vrátením celkovej hodnoty v akumulátore.
Syntax
=REDUCE([initial_value]; pole; lambda(akumulátor; hodnota; telo))
Syntax funkcie REDUCE obsahuje nasledovné argumenty a parametre:
-
[počiatočná_hodnota] Nastaví počiatočnú hodnotu pre akumulátor.
-
pole Pole, ktoré sa má zmenšiť.
-
lambda LAMBDA, ktorá sa volá na zmenšenie poľa. Lambda má tri parametre:
-
akumulátor Hodnota súčtu vrátená ako konečný výsledok.
-
hodnota Aktuálna hodnota z poľa.
-
Telo Výpočet použitý na každý prvok v poli.
-
Poznámky
Argument počiatočná_hodnota sa používa na nastavenie počiatočnej hodnoty parametra akumulátor. V príklade 2, kde násobíte akumulátor, nastavte hodnotu na hodnotu 1, aby sa zabránilo násobeniu číslom 0.
Chyby
Poskytnutie neplatnej funkcie LAMBDA alebo nesprávneho počtu parametrov vráti chybu #HODNOTA! s názvom Nesprávne parametre.
Príklady
Príklad 1: Sčítanie druhých mocnín
Zadajte vzorové údaje do buniek A1:C2 a potom skopírujte vzorec do bunky D4:
=REDUCE(, A1:C2, LAMBDA(a,b,a+b^2))
Príklad 2: Vytvorenie prispôsobenej funkcie PRODUCTIF na násobenie iba hodnôt väčších ako 50
Create tabuľku s názvom Tabuľka3 s jedným stĺpcom s názvom "nums" počnúc bunkou E1. Skopírujte nasledujúci vzorec do bunky G2:
=REDUCE(1,Table3[nums],LAMBDA(a,b,IF(b>50,a*b,a)))
Príklad 3: Spočítanie iba párnych hodnôt
Vytvorte tabuľku s názvom Table4 s jedným stĺpcom s názvom Nums od bunky D1. Skopírujte nasledujúci vzorec do bunky F2:
=REDUCE(0,Table4[Nums],LAMBDA(a,n,IF(ISEVEN(n),1+a, a)))