Excel : compter les cellules contenant un texte spécifique (correspondance exacte et partielle)

  • Partage Ça
Michael Brown

Ce tutoriel montre comment compter le nombre de cellules contenant un certain texte dans Excel. Vous trouverez des exemples de formules pour une correspondance exacte, une correspondance partielle et des cellules filtrées.

La semaine dernière, nous avons vu comment compter les cellules contenant du texte dans Excel, c'est-à-dire toutes les cellules contenant du texte. Lorsque vous analysez de grandes quantités d'informations, vous pouvez également vouloir savoir combien de cellules contiennent du texte spécifique. Ce tutoriel explique comment le faire de manière simple.

    Comment compter les cellules contenant un texte spécifique dans Excel

    Microsoft Excel dispose d'une fonction spéciale permettant de compter les cellules de manière conditionnelle, la fonction COUNTIF. Il vous suffit de fournir la chaîne de texte cible dans le champ critères argument.

    Voici une formule Excel générique pour compter le nombre de cellules contenant un texte spécifique :

    COUNTIF(gamme, " texte ")

    L'exemple suivant le montre en action. Supposons que vous ayez une liste d'ID d'articles dans A2:A10 et que vous vouliez compter le nombre de cellules avec un ID particulier, disons "AA-01". Tapez cette chaîne dans le deuxième argument, et vous obtiendrez cette formule simple :

    =COUNTIF(A2:A10, "AA-01")

    Pour permettre à vos utilisateurs de compter les cellules contenant un texte donné sans avoir à modifier la formule, saisissez le texte dans une cellule prédéfinie, par exemple D1, et fournissez la référence de la cellule :

    =COUNTIF(A2:A10, D1)

    Remarque : la fonction COUNTIF d'Excel est insensible à la casse Pour traiter différemment les caractères majuscules et minuscules, utilisez cette formule sensible à la casse.

    Comment compter les cellules contenant un certain texte (correspondance partielle) ?

    S'il y a au moins un caractère différent dans une cellule, par exemple un espace supplémentaire à la fin, il ne s'agira pas d'une correspondance exacte et cette cellule ne sera pas comptée.

    Pour trouver le nombre de cellules dont le contenu contient un certain texte, utilisez des caractères génériques dans vos critères, à savoir un astérisque (*) qui représente n'importe quelle séquence de caractères. Selon votre objectif, une formule peut ressembler à l'une des suivantes.

    Compter les cellules qui contiennent un texte spécifique à l'emplacement tout début :

    COUNTIF(gamme, " texte *")

    Compter les cellules qui contiennent un certain texte dans toute position :

    COUNTIF(gamme, "* texte *")

    Par exemple, pour savoir combien de cellules de la plage A2:A10 commencent par "AA", utilisez cette formule :

    =COUNTIF(A2:A10, "AA*")

    Pour obtenir le nombre de cellules contenant "AA" dans n'importe quelle position, utilisez celle-ci :

    =COUNTIF(A2:A10, "*AA*")

    Pour rendre les formules plus dynamiques, remplacez les chaînes codées en dur par des références de cellules.

    Pour compter les cellules qui commencent par un certain texte :

    =COUNTIF(A2:A10, D1& ; "*")

    Pour compter les cellules contenant un certain texte :

    =COUNTIF(A2:A10, "*"&D1&"*")

    La capture d'écran ci-dessous montre les résultats :

    Compter les cellules qui contiennent un texte spécifique (sensible à la casse)

    Dans les situations où vous devez différencier les caractères majuscules et minuscules, la fonction COUNTIF ne fonctionnera pas. Selon que vous recherchez une correspondance exacte ou partielle, vous devrez construire une formule différente.

    Formule sensible à la casse pour compter les cellules contenant un texte spécifique (correspondance exacte)

    Pour compter le nombre de cellules contenant un certain texte reconnaissant la casse du texte, nous allons utiliser une combinaison des fonctions SUMPRODUCT et EXACT :

    SUMPRODUCT(--EXACT(" texte ", gamme ))

    Comment fonctionne cette formule :

    • EXACT compare chaque cellule de la plage avec le texte échantillon et renvoie un tableau de valeurs VRAI et FAUX, VRAI représentant les correspondances exactes et FAUX toutes les autres cellules. Un double tiret (appelé un double unaire ) transforme VRAI et FAUX en 1 et 0.
    • SUMPRODUCT additionne tous les éléments du tableau. Cette somme est le nombre de 1, qui est le nombre de correspondances.

    Par exemple, pour obtenir le nombre de cellules de A2:A10 qui contiennent le texte de D1 et traitent les majuscules et les minuscules comme des caractères différents, utilisez cette formule :

    =SUMPRODUCT(--EXACT(D1, A2:A10))

    Formule sensible à la casse pour compter les cellules contenant un texte spécifique (correspondance partielle)

    Pour construire une formule sensible à la casse qui peut trouver une chaîne de texte intéressante n'importe où dans une cellule, nous utilisons 3 fonctions différentes :

    SUMPRODUCT(--(ISNUMBER(FIND(" texte ", gamme ))))

    Comment fonctionne cette formule :

    • La fonction FIND, sensible à la casse, recherche le texte cible dans chaque cellule de la plage. Si elle réussit, la fonction renvoie la position du premier caractère, sinon l'erreur #VALUE ! Pour des raisons de clarté, nous n'avons pas besoin de connaître la position exacte, tout chiffre (par opposition à l'erreur) signifie que la cellule contient le texte cible.
    • La fonction ISNUMBER traite le tableau de nombres et d'erreurs renvoyé par FIND et convertit les nombres en VRAI et tout le reste en FAUX. Un double unaire (--) convertit les valeurs logiques en uns et zéros.
    • SUMPRODUCT additionne le tableau des 1 et des 0 et renvoie le nombre de cellules qui contiennent le texte spécifié dans leur contenu.

    Pour tester la formule sur des données réelles, trouvons combien de cellules dans A2:A10 contiennent la sous-chaîne entrée dans D1 :

    =SUMPRODUCT(--(ISNUMBER(FIND(D1, A2:A10))))

    Et cela renvoie un compte de 3 (cellules A2, A3 et A6) :

    Comment compter les cellules filtrées avec un texte spécifique

    Pour compter éléments visibles dans une liste filtrée, vous devrez utiliser une combinaison de 4 fonctions ou plus selon que vous souhaitez une correspondance exacte ou partielle. Pour faciliter le suivi des exemples, examinons d'abord rapidement les données sources.

    En supposant que vous ayez une table avec ID des commandes dans la colonne B et Quantité dans la colonne C comme dans l'image ci-dessous. Pour le moment, vous n'êtes intéressé que par les quantités supérieures à 1 et vous avez filtré votre tableau en conséquence. La question est la suivante : comment compter les cellules filtrées avec un identifiant particulier ?

    Formule pour compter les cellules filtrées contenant un texte spécifique (correspondance exacte)

    Pour compter les cellules filtrées dont le contenu correspond exactement à la chaîne de texte de l'échantillon, utilisez l'une des formules suivantes :

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(B2:B10=F1)))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(B2:B10=F1))

    Où F1 est le texte de l'échantillon et B2:B10 sont les cellules à compter.

    Comment ces formules fonctionnent :

    Au cœur des deux formules, vous effectuez 2 contrôles :

    1. Identifier les lignes visibles et cachées. Pour ce faire, vous utilisez la fonction SUBTOTAL avec l'attribut numéro de la fonction Pour fournir toutes les références de cellules individuelles à SUBTOTAL, utilisez soit INDIRECT (dans la première formule), soit une combinaison de OFFSET, ROW et MIN (dans la deuxième formule). Puisque notre objectif est de localiser les lignes visibles et cachées, la colonne à laquelle nous faisons référence (A dans notre exemple) n'a pas vraiment d'importance. Le résultat de cette opération est un tableau de 1 et de 0 où les 1 représentent les lignes visibles et les 0 les lignes cachées.des rangs et des zéros - des rangs cachés.
    2. Recherche les cellules contenant un texte donné. Pour cela, comparez le texte d'exemple (F1) à la plage de cellules (B2:B10). Le résultat de cette opération est un tableau de valeurs VRAI et FAUX, qui sont converties en 1 et 0 à l'aide de l'opérateur double unaire.

    Enfin, la fonction SUMPRODUCT multiplie les éléments des deux tableaux dans les mêmes positions, puis additionne le tableau résultant. Comme la multiplication par zéro donne zéro, seules les cellules qui ont 1 dans les deux tableaux ont 1 dans le tableau final. La somme des 1 est le nombre de cellules filtrées qui contiennent le texte spécifié.

    Formule pour compter les cellules filtrées contenant un texte spécifique (correspondance partielle)

    Pour compter les cellules filtrées contenant un certain texte comme faisant partie du contenu de la cellule, modifiez les formules ci-dessus de la manière suivante : au lieu de comparer l'échantillon de texte à la plage de cellules, recherchez le texte cible en utilisant ISNUMBER et FIND, comme expliqué dans l'un des exemples précédents :

    =SUMPRODUCT(SUBTOTAL(103, INDIRECT("A"&ROW(A2:A10))), --(ISNUMBER(FIND(F1, B2:B10))))

    =SUMPRODUCT(SUBTOTAL(103, OFFSET(A2:A10, ROW(A2:A10) - MIN(ROW(A2:A10)),,1)), --(ISNUMBER(FIND(F1, B2:B10))))

    Par conséquent, les formules permettent de localiser une chaîne de texte donnée dans n'importe quelle position d'une cellule :

    Remarque : la fonction SUBTOTAL avec 103 dans le module numéro de la fonction identifie toutes les cellules cachées, filtrées et cachées manuellement. Par conséquent, les formules ci-dessus comptent seulement cellules visibles quel que soit le nombre de cellules invisibles cachées. Pour exclure uniquement les cellules filtrées mais inclure celles cachées manuellement, utilisez 3 pour numéro de la fonction .

    Voilà comment compter le nombre de cellules contenant un certain texte dans Excel. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !

    Téléchargements disponibles

    Formules Excel pour compter les cellules contenant un certain texte

    Michael Brown est un passionné de technologie passionné par la simplification de processus complexes à l'aide d'outils logiciels. Avec plus d'une décennie d'expérience dans l'industrie de la technologie, il a perfectionné ses compétences dans Microsoft Excel et Outlook, ainsi que dans Google Sheets et Docs. Le blog de Michael est dédié au partage de ses connaissances et de son expertise avec les autres, en fournissant des conseils et des tutoriels faciles à suivre pour améliorer la productivité et l'efficacité. Que vous soyez un professionnel chevronné ou un débutant, le blog de Michael offre des informations précieuses et des conseils pratiques pour tirer le meilleur parti de ces outils logiciels essentiels.