
Obecný vzorec
=SUMPRODUCT(--(rng=values))>0
souhrn
Chcete-li otestovat, zda v rozsahu buněk existuje jedna z několika hodnot, můžete použít vzorec založený na funkci SUMPRODUCT. V zobrazeném příkladu je vzorec v buňce F5:
=SUMPRODUCT(--(rng=B5:D5))>0
kde „rng“ je pojmenovaný rozsah H4: H10 a obsahuje hledané hodnoty.
Vysvětlení
Každá položka v rng je porovnána s každou položkou v hodnotách a výsledkem je pole TRUE nebo FALSE hodnot.
Dvojitý zápor vynutí hodnoty TRUE a FALSE na 1, respektive 0. Protože SUMPRODUCT přijímá pouze jedno pole, jednoduše sčítá položky v poli a vrátí výsledek.
Logicky jakýkoli výsledek větší než nula znamená, že v rozsahu existuje alespoň jedna hodnota. Posledním krokem je tedy vyhodnotit výsledek SUMPRODUCT a zjistit, zda je větší než nula. Jakýkoli výsledek větší než nula vrací TRUE a jakýkoli výsledek rovný nule vrací FALSE.
S pevně zakódovanými hodnotami
Hodnoty vyhledávání můžete také napevno kódovat do vzorce pomocí takzvané „konstanty pole“. Například pokud chcete hledat 3 hodnoty: červenou, azurovou a purpurovou uvnitř rozsahu H2: H8, můžete použít:
=SUMPRODUCT(--(H2:H8=("red","cyan","magenta")))>0
Ve výše uvedeném příkladu („červená“, „azurová“, „purpurová“) je konstanta pole, což je jeden způsob, jak zadat více hodnot v jednom argumentu.
Částečné shody nebo podřetězce
Výše uvedený vzorec testuje pouze ekvivalenci a nenajde v rozsahu částečné shody ani podřetězce. Pokud potřebujete hledat podřetězce, můžete místo toho použít tento vzorec.