Přeskočit na obsah

ScanExcel

enSCAN

Funkce postupně aplikuje výpočet na každý prvek pole a vrací meziprodukty výpočtu, tedy postupné kroky zpracování.

=SCAN(Initial_value;Array;Function)

Initial_value – Výchozí hodnota, od které začne redukce.

Array – Oblast nebo pole hodnot, které se budou zpracovávat.

Function – Funkce, která definuje, jak se jednotlivé hodnoty postupně zpracují.

Na rozdíl od Reduce, která vrací pouze konečný výsledek, Scan vrací seznam všech mezivýsledků, což je užitečné pro kumulativní součty, postupné násobení nebo jiné sekvenční výpočty.

Jelikož se jedná o zřetězení hodnot a výstupem bude oblast hodnot, je nutné mít na paměti, že v dané oblasti nesmí být vyplněné další hodnoty, jinak bude výstupem error.

Pokud má být např. zjištěn kumulativní součet z dané oblasti, je možné funkci využít následovně:

Pokud má být postupně zřetězený text, je možné funkci využít následovně:

Použití s ostatními funkcemi

Sekce “Použití s ostatními funkcemi”

Pokud mají být vynásobeny pouze hodnoty v oblasti hodnot, které splňují určitou podmínku sekvenčně, je možné funkci kombinovat s funkcí Když, např. vynásobení pouze hodnot vyšších než 10, přičemž pokud nebude hodnoty vyšší než 10 v dané oblasti, bude vrácena předchozí hodnota.

=SCAN(1;A2:A6;LAMBDA(a;b;KDYŽ(b>10;a*b;a)))

Pokud mají být např. zjištěn počet sudých hodnot v oblasti hodnot kumulativně, lze funkci kombinovat s další funkcí IsEven.

=SCAN(0;A2:A6;LAMBDA(a;n;KDYŽ(ISEVEN(n);1+a;a)))

Funkci lze používat i s v rámci klasických výpočtů, např. sčítání hodnot funkcí Suma nebo komplexních matematických operací.

=SCAN(0;A2:B6;LAMBDA(a;v;a+SUMA(v)*10))

© 2026 Excelland