
Generieke formule
=COUNTIF(range,"*txt*")
Samenvatting
Om cellen te tellen die bepaalde tekst bevatten, kunt u de AANTAL.ALS-functie met een jokerteken gebruiken. In het getoonde voorbeeld is de formule in E5:
=COUNTIF(B5:B15,"*a*")
Uitleg
De AANTAL.ALS-functie telt cellen in een bereik die voldoen aan de criteria. Als u bijvoorbeeld het aantal cellen in een bereik wilt tellen dat 'a' bevat, kunt u het volgende gebruiken:
=COUNTIF(range,"a") // exact match
Merk echter op dat dit een exacte overeenkomst is. Om te worden geteld, moet een cel exact "a" bevatten. Als de cel nog andere tekens bevat, wordt deze niet meegeteld.
Voor het weergegeven probleem willen we cellen tellen die specifieke tekst bevatten, wat betekent dat de tekst overal in de cel kan staan. Om dit te doen, moeten we het asterisk (*) - teken als jokerteken gebruiken. Om bijvoorbeeld cellen te tellen die de letter "a" bevatten, gebruiken we het volgende:
=COUNTIF(range,"*a*")
De asterisk in een formule betekent "komt overeen met een willekeurig aantal tekens, inclusief nul", dus dit patroon telt elke cel die "a" op een willekeurige positie bevat, met of zonder andere tekens naar links of rechts. De formules die in het voorbeeld worden gebruikt, volgen allemaal hetzelfde patroon:
=COUNTIF(B5:B15,"*a*") // contains "a" =COUNTIF(B5:B15,"*2*") // contains "2" =COUNTIF(B5:B15,"*-S*") // contains "-s" =COUNTIF(B5:B15,"*x*") // contains "x"
Opmerking: AANTAL.ALS is niet hoofdlettergevoelig.
Met een celverwijzing
U kunt deze formule eenvoudig aanpassen om de inhoud van een andere cel voor de criteria te gebruiken. Als A1 bijvoorbeeld de tekst bevat die u wilt matchen, kunt u het volgende gebruiken:
=COUNTIF(range,"*"&A1&"*")
Tel specifieke nummers
De bovenstaande AANTAL.ALS-formule werkt niet als u naar een bepaald nummer zoekt en cellen numerieke gegevens bevatten. Dit komt doordat het jokerteken er automatisch voor zorgt dat AANTAL.ALS alleen naar tekst zoekt (dwz naar "2" in plaats van alleen naar 2). Omdat een tekstwaarde nooit in een echt getal zal worden gevonden, retourneert AANTAL.ALS nul.
Om een specifiek getal in numerieke inhoud te tellen, kunt u een andere formule gebruiken op basis van de SEARCH-functie en de ISNUMBER-functie als volgt:
=SUMPRODUCT(--(ISNUMBER(SEARCH(text,range))))
In deze formule is tekst de tekst waarnaar u op zoek bent en is bereik het celbereik dat u wilt tellen. Wanneer SEARCH een overeenkomst vindt, zal het een getal retourneren, en de ISNUMBER-functie zal het getal omzetten naar een TRUE of FALSE waarde. Omdat we meer dan één cel controleren, is het resultaat een array of TRUE en FALSE waarden. Het dubbele negatief wordt gebruikt om de waarden TRUE en FALSE om te zetten in 1s en 0s, en de functie SUMPRODUCT retourneert de som van de array als een eindresultaat.
SEARCH behandelt automatisch alle getallen als tekst, dus het zal bijvoorbeeld de 1 in het getal 201 vinden. Ook is het niet nodig om jokertekens te gebruiken om de positie aan te geven, omdat SEARCH automatisch alle tekst in een cel doorzoekt.
Hoofdlettergevoelige versie
Voor een hoofdlettergevoelige telling kunt u een formule gebruiken die is gebaseerd op de functie FIND:
=SUMPRODUCT(--(ISNUMBER(FIND(text,range))))
Hier wordt de functie FIND gebruikt in plaats van SEARCH, omdat FIND hoofdlettergevoelig is. In andere opzichten werkt de formule zoals de ISNUMBER + FIND-formule hierboven beschreven.