
Generieke formule
=SUM(COUNTIF(INDIRECT(("rng1","rng2","rng3")),criteria))
Samenvatting
Om een niet-aaneengesloten bereik met criteria te tellen, kunt u de AANTAL.ALS-functie samen met INDIRECT en SOM gebruiken. In het weergegeven voorbeeld bevat cel I5 deze formule:
=SUM(COUNTIF(INDIRECT(("B5:B8","D7:D10","F6:F11")),">50"))
Uitleg
AANTAL.ALS telt het aantal cellen in een bereik dat voldoet aan bepaalde criteria. Als u AANTAL.ALS probeert te gebruiken met meerdere bereiken gescheiden door komma's, krijgt u een foutmelding. Een oplossing is om de bereiken als tekst in een matrixconstante binnen de INDIRECT-functie als volgt uit te schrijven:
INDIRECT(("B5:B8","D7:D10","F6:F11"))
INDIRECT evalueert de tekstwaarden en geeft de meerdere bereiken door aan AANTAL.ALS. Omdat AANTAL.ALS meer dan één bereik ontvangt, retourneert het meer dan één resultaat in een matrix. We gebruiken de functie SOM om de array te "vangen" en af te handelen:
=SUM((4,2,3))
De functie SOM retourneert vervolgens de som van alle waarden, 9. Hoewel dit een matrixformule is, is er geen CSE nodig, omdat we een matrixconstante gebruiken.
Opmerking: INDIRECT is een vluchtige functie en kan de prestaties van de werkmap beïnvloeden.
Meerdere AANTAL.ALS
Een andere manier om dit probleem op te lossen, is door meer dan één AANTAL.ALS te gebruiken:
=COUNTIF(B5:B8,">50")+COUNTIF(D7:D10,">50")+COUNTIF(F6:F11,">50")
Met een beperkt aantal bereiken is deze benadering wellicht gemakkelijker te implementeren. Het vermijdt mogelijke prestatie-effecten van INDIRECT, en staat een normale formule-syntaxis voor bereiken toe, zodat bereiken automatisch worden bijgewerkt met werkbladwijzigingen.
Enkele celbereiken
Met enkele celbereiken kunt u als volgt een formule schrijven zonder AANTAL.ALS:
=(A1>50)+(C1>50)+(E1>50)
Elke uitdrukking retourneert WAAR of ONWAAR, wanneer tijdens de wiskundige bewerking wordt afgedwongen naar 1 en nul. Dit is een voorbeeld van het gebruik van booleaanse logica in een formule.