Google Tabulky ARRAYFORMULA
ARRAYFORMULA je skvělá funkce vzorců v Google tabulkách. Skvěle se hodí do živých tabulek, které v průběhu jejich života chci upravovat, vkládat řádky a kde chci, vzorečky stále fungovaly.
Pro konkrétní příklad jednoduchou mám tabulku, kde chci ve sloupci D
sčítat vzorečkem=A+D
.
To v jednoduchém případě samozřejmě můžu, ale komplikace nastane, pokud například přidám další řádek (třeba mezi Jablka a Hrušky včlením třešně 😉 ). Pak musím do buňky ve sloupci D
vzoreček překopírovat.... a to se mi nechce.
Pokud si chci ušetřit čas, použiju hned na začátku vzorec s ARRAYFORMULA. Do buňky D1
napíšu:
=ARRAYFORMULA(B1:B+C1:C)
Tím úkoluju buňku D1
a všechny další buňky ve sloupci D
k tomu aby vzaly příslušnou buňku v rozsahu B1
až "B"
(celý sloupec B) a přičetly k nim příslušnou buňku v rozsahu C1:C
(celý sloupec C).
Logika je tedy:
ARRAYFORMULA: Říká, že se vzorec týká dané buňky a všech buněk v dané oblasti- ve sloupci. A to i buněk v budoucnu přidaných.
(B1:B+C1:C): Říká, vezmi B1 a C1 a sečti je. Pokračuj dále následujícími řádky stejně až do konce daného rozsahu. V tomto případě do konce celého sloupce, ale můžu samozřejmě rozsah omezit. Například:
=ARRAYFORMULA(B1:B7+C1:C7)
A | B | C | D | |
---|---|---|---|---|
1 | Jablka | 5 | 3 | |
2 | Hrušky | 2 | 4 | |
3 | Švestky | 2 | ||
Vylepšení: |
- Když nechci mít vzorec v buňce hodnot, ale v buňce určující "název sloupce", použiji v buňce s názvem:
={""nazev slopce"";ARRAYFORMULA(B1:B+C1:C)}
Logika je tedy:
Pojmenuj buňku a ve sloupci pod ní použij v buňkách funkci....
- Když nechci aby se mi například při sčítání prázdných buněk vypisovaly "ošklivě" nuly.
={"nazev sloupce";ARRAYFORMULA(KDYŽ(DÉLKA(B2:B)=0;" ";B1:B+C1:C))}
Logika je tedy:
Pojmenuj buňku a ve sloupci pod ní použij:
-když délka v buňkách B2:B
= 0 (buňka je prázdná), zadej prázdnou hodnotu;
-když délka v buňkách B2:B
není 0, vypočítej....