
Všeobecný vzorec
=SUMPRODUCT(--(rng=values))>0
Zhrnutie
Ak chcete otestovať, či v rozsahu buniek existuje jedna z niekoľkých hodnôt, môžete použiť vzorec založený na funkcii SUMPRODUCT. V zobrazenom príklade je vzorec v bunke F5:
=SUMPRODUCT(--(rng=B5:D5))>0
kde „rng“ je pomenovaný rozsah H4: H10 a obsahuje hľadané hodnoty.
Vysvetlenie
Každá položka v rng sa porovnáva s každou položkou v hodnotách a výsledkom je pole hodnôt TRUE alebo FALSE.
Dvojitý zápor vynúti hodnoty TRUE a FALSE na 1, respektíve 0. Pretože SUMPRODUCT prijíma iba jedno pole, jednoducho sčíta položky v poli a vráti výsledok.
Logicky akýkoľvek výsledok väčší ako nula znamená, že v rozsahu existuje aspoň jedna hodnota. Posledným krokom je teda vyhodnotenie výsledku SUMPRODUCT a zistenie, či je väčší ako nula. Akýkoľvek výsledok väčší ako nula vráti TRUE a akýkoľvek výsledok rovný nule vráti FALSE.
S pevne zakódovanými hodnotami
Môžete tiež naprogramovať vyhľadávané hodnoty do vzorca pomocou takzvanej „konštanty poľa“. Napríklad, ak chcete hľadať 3 hodnoty: červenú, azúrovú a purpurovú v rozmedzí H2: H8, môžete použiť:
=SUMPRODUCT(--(H2:H8=("red","cyan","magenta")))>0
Vo vyššie uvedenom príklade („červená“, „azúrová“, „purpurová“) je konštanta poľa, čo je jeden zo spôsobov dodania viacerých hodnôt v jednom argumente.
Čiastočné zápasy alebo podreťazce
Vyššie uvedený vzorec testuje iba ekvivalenciu a nenájde čiastočné zhody alebo podreťazce v rozsahu. Ak potrebujete hľadať podreťazce, môžete namiesto toho použiť tento vzorec.