
Všeobecný vzorec
=SUM(COUNTIF(INDIRECT(("rng1","rng2","rng3")),criteria))
Zhrnutie
Ak chcete použiť počet nesúvislých rozsahov s kritériami, môžete použiť funkciu COUNTIF spolu s INDIRECT a SUM. V zobrazenom príklade obsahuje bunka I5 tento vzorec:
=SUM(COUNTIF(INDIRECT(("B5:B8","D7:D10","F6:F11")),">50"))
Vysvetlenie
COUNTIF počíta počet buniek v rozsahu, ktoré zodpovedajú daným kritériám. Ak sa pokúsite použiť COUNTIF s viacerými rozsahmi oddelenými čiarkami, zobrazí sa chyba. Jedným z riešení je napísať rozsahy ako text do konštanty poľa vo vnútri funkcie INDIRECT takto:
INDIRECT(("B5:B8","D7:D10","F6:F11"))
INDIRECT vyhodnotí textové hodnoty a odovzdá viaceré rozsahy do COUNTIF. Pretože funkcia COUNTIF prijíma viac ako jeden rozsah, vráti v poli viac ako jeden výsledok. Funkciu SUM používame na „chytenie“ a manipuláciu s poľom:
=SUM((4,2,3))
Funkcia SUM potom vráti súčet všetkých hodnôt, 9. Aj keď ide o maticový vzorec, nevyžaduje CSE, pretože používame konštantu poľa.
Poznámka: INDIRECT je volatilná funkcia a môže mať vplyv na výkon zošita.
Viaceré COUNTIF
Ďalším spôsobom, ako vyriešiť tento problém, je použiť viac ako jeden COUNTIF:
=COUNTIF(B5:B8,">50")+COUNTIF(D7:D10,">50")+COUNTIF(F6:F11,">50")
Pri obmedzenom počte rozsahov sa tento prístup bude dať ľahšie implementovať. Vyhýba sa možným dopadom na výkon INDIRECT a umožňuje normálnu syntax vzorca pre rozsahy, takže rozsahy sa budú aktualizovať automaticky so zmenami v pracovnom hárku.
Rozsahy jednej bunky
S rozsahmi jednej bunky môžete napísať vzorec bez COUNTIF takto:
=(A1>50)+(C1>50)+(E1>50)
Každý výraz vracia TRUE alebo FALSE, keď je počas matematickej operácie vynútený na 1 a nulu. Toto je príklad použitia logickej logiky vo vzorci.