Recherche partielle avec NB.SI.ENS

Temps de lecture : 2 minutes

Quand vous utilisez les fonctions NB.SI.ENS ou SOMME.SI.ENS, généralement vous spécifiez comme critère, un nom ou une valeur précise. Mais il est également possible d'enrichir vos formules en faisant une recherche partielle sur une partie d'un nom grâce aux métacaractères.

Utilisation des métacaractères

En informatique, pour effectuer une recherche partielle sur un terme, on utilise des métacaractères. Et il y en a 2 :

  • L'* pour remplacer tout ou partie d'une chaîne de caractère.
  • Le ? pour remplacer un seul caractère.

Pour être honnête, le symbole ? n'est jamais utilisé par contre, le symbole * est vraiment très utile pour faire des recherches partielles.

Le symbole * permet de remplacer tout ou partie d'une chaîne de caractères comme nous allons le voir dans les exemples suivants.

Trouver tous les noms qui commencent par S

Si vous voulez compter le nombre d'hommes qui ont un nom de famille qui commence par la lettre S, vous allez écrire la formule

=NB.SI.ENS(C2:C20;"Homme";A2:A20;"S*")

Trouver les noms qui commence par un S

Dans notre document, les noms Same, Satake et Simpson correspondent aux critères.

SARA commence par un S mais c'est une femme donc cette donnée est exclue du résultat.

Trouver tous les noms qui se terminent par ...

Pour connaître le nombre de personnes qui ont un nom qui se termine par Y, vous allez écrire le critère en commençant par le symbole *

=NB.SI.ENS(A2:A20;"*Y")

Soit les noms

  • CHAMPNEY
  • BYERLY
  • GAUDEFROY
Critère de recherche qui se termine par

Trouver les noms contenant les lettres ...

Pour connaître le nombre de personnes dont le nom contient la lettre H (au début, au milieu ou à la fin du nom), la formule s'écrit de la façon suivante en utilisant 2 fois le symbole *

=NB.SI.ENS(A2:A20;"*H*")

Dans notre exemple, il y en a 3 :

  • JANJUAH (H à la fin)
  • CHAMPNEY (H au milieu)
  • CHAP (H au milieu)
Critère de recherche qui contient une lettre

Vous trouverez des informations complémentaires sur la fonction NB.SI.ENS sur le site de Microsoft.

6 Comments

  1. Lauren
    09/12/2021 @ 12:03

    Bonjour,
    Ah, excusez moi, je n'avais pas compris votre exemple dans le bon sens.
    J'ai vu que cela marchait en partie pour mon problème et donc je pensais qu'il manquait juste un élément.
    Merci quand même.

    Reply

  2. Lauren
    08/12/2021 @ 15:57

    Bonjour,

    J'ai utilisé cette formule dans mon tableau, où il n'y a que des lettres : =NB.SI.ENS(C3:C32;"*L*"), sauf que ça ne fonctionne pas quand il a 2 fois la même lettre dans une cellule (collées ou non).
    Est-ce que vous pourriez m'indiquer ce que je devrais ajouter pour que cela me comptabilise tous les "L" quel que soit le nombre de "L" dans chaque cellule.

    Je vous remercie.
    Cordialement,
    Lauren

    Reply

    • Frédéric LE GUEN
      09/12/2021 @ 11:11

      Bonjour,
      Je ne comprends pas la question. Je pense que vous cherchez à compter le nombre de L dans une cellule mais ça, ce n'est pas la fonction NB.SI.ENS qui vous retournent cette info.
      NB.SI.ENS vous donne juste si l'information a été trouvée ou pas, pas le nombre de fois à l'intérieur d'une chaîne de caractères.
      A part faire une fonction LAMBDA récursive, je ne vois pas trop comment solutionner le problème

      Reply

  3. Liliane
    28/04/2021 @ 10:11

    Bonjour merci pour ces infos !

    Existe-il une fonction inverse ? Je m'explique : pour se référer à l'exemple cité dans l'article : je souhaite par exemple faire la somme du nombre de prénoms ne contenant pas la terre H.

    Est-il possible ?

    Merci par avance :)

    Reply

  4. Chrystelle ARNAULT
    07/04/2021 @ 19:54

    bonsoir Frédéric, je vous remercie pour tout le travail que vous avez fait et l'aide que ça m'a apporté.
    aujourd'hui je ne trouver pas la réponse à ma recherche, j'explique si dans un tableau je voudrais : sur le nombre dans une cellule est X alors dans une autre cellule le résultat est Y ou
    si dans ma cellule le nombre est 01 alors dans l'autre cellule le résultat est AIN . si 02 alors AISNE etc etc ainsi pour tous les départements.
    Comment puis-je faire cette transformation ?
    Merci pour tout
    Bonne soirée
    Chrystelle

    Reply

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

MICROSOFT MVP

RECHERCHE D’EMPLOI AVEC