dech napsal(a)pokud zadám jako vyhledávací kritérium místo mé "modrá" datum:
=SUMPRODUCT(B6:B12="kolo";C6:C12="22.2.2002";D6:D12) tak ten vzorec nefunguje - neobjeví se žádná chyba,ale výsledek je 0. Zkoušel jsem to i bez uvozovek. V oblasti, kde se vyhledává to datum (C6:C12)jsem vymazal formátování abych měl jistotu,že ty bunky jsou brány jako datum. Pokud ovšem do vzorce zadám jako vyhl. kr. odkaz na bunku ve které je to kritérium, tak to funguje:
=SUMPRODUCT(B6:B12="kolo";C6:C12=A1;D6:D12) a v A1 je: 22.2.2002
To je dotaz? Pokud chcete datum použít ve vzorci, tak použijte VALUE:
=SUMPRODUCT(B6:B12="kolo";C6:C12=value("22.2.2002");D6:D12)
Jinak žádná magie v tom není. sumproduct nejprve pronásobí všechny prvky na stejné pozici v zadaných maticích a výsledky potom sečte.
Výraz TRUE se konvertuje na hodnotu 1 a FALSE na hodnotu 0.
Logickou operaci AND lze nahradit násobením. JAk je známo, libovolnou logickou operaci lze vyjádřit pomocí NOT a AND. Operaci NOT obvykle ani moc nepotřebujeme, lze ji obejít vhodnou volbou podmínky (=|<>; ...)
Pokud jsou splněny všechny podmínky je výsledná hodnota součinu podmínek 1 a ta se násobí s hledanou hodnotou, pokud ne, je hledaná hodnota vynásobena 0. Výsledný součet je pak roven součtu hledaných hodnot.
Pokud se mi nechce moc přemýšlet tak operaci OR nahradím součtem:
=SUMPRODUCT((B6:B12="kolo") + (B6:B12="auto"); C6:C12<=VALUE("22.2.2002"));D6:D12)
Podobně lze lze seskupit i násobení:
=SUMPRODUCT((B6:B12="kolo") * (C6:C12=value("22.2.2002"));D6:D12)