Compréhension formule Excel (nb.si) ?

MP -  
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

La fonction suivante permet d'indiquer une valeur dans une cellule en fonction des occurences présentes dans une autre cellule :
SI(NB.SI(A1;"*NBR*");"NBR";"")

J'aimerais juste comprendre pourquoi on utilise la formule nb.si dans ce cas.
J'ai essayé la même formule sans le nb.si et ca ne fonctionne pas.

Pouvez-vous m'epxliquer la logique derrière cette formule ? (le nb.si et normalement fait pour "compter" le nombre d'occures non ? :)

A voir également:

3 réponses

Ptitfuté
 
Bonjour,

Si je comprend bien, si la valeur NBR est présente dans la cellule A1, alors vous voulez avoir la même valeur dans la cellule B1 par exemple.

Il faut donc mettre en B1 ceci =SI(A1="NBR";"NBR";"")

La formule NB.SI permet de connaitre le nombre de cellule d'une plage contenant une certaine valeur, dans votre cas NBR.

Par exemple :

En A1 vous avez la valeur NBR
En A2 vous avez la valeur AZE
En A3 vous avez la valeur RTY
En A4 vous avez la valeur NBR
En A5 vous avez la valeur POI

Si vous mettez ceci en cellule B1 =NB.SI(A1:A5;"*NBR*"), vous aurez comme résultat 2.

Ai-je répondu à votre demande ?
0
Zoul67 Messages postés 1959 Date d'inscription   Statut Membre Dernière intervention   149
 
Bonjour,

Je ne pense pas... Sa formule marche correctement ex : A1="NBR1" => B1="NBR"

@MP : NB.SI renvoie bien un nombre (ici : 1 si la suite "NBR" est présente dans A1). C'est du côté de la fonction SI qu'il faut regarder aussi... Il s'avère que SI(0;...) est équivalent à SI(FAUX;...) (et <>0 à VRAI).

A+
0
Vaucluse Messages postés 26496 Date d'inscription   Statut Contributeur Dernière intervention   6 438
 
Bonjour
dans le cas de votre premier message, la fonction NB.SI(A1;"*NBR*") permet de détecter si le texte complet de A1 contient le texte NBR
cette fonction est vraie si par exemple vous avez en 1 le texte AAENBRFFTER , car elle va détecter que NBR est présent dans le texte.
Cette option ne fonctionne qu'avec les codes dont le séparateur de paramètres est le point virgule, mais pas avec un opérateur tel que + - > <

NB.SI peut donc être utilisée comme détecteur alors que SI(A1="*NBR*") ne fonctionnera pas

Pour info:
"NBR*" détecte uniquement si le texte est audébut
"*NBR" si le texte est à la fin
"*NBR*" si le texte est n'importe où
et enfin si vous voulez détecter un texte entré par exemple en X1
=NB.SI(A1;"*"&X1&"*")

crdlmnt

Errare humanum est, perseverare diabolicum
0
blux Messages postés 27121 Date d'inscription   Statut Modérateur Dernière intervention   3 359
 
Salut,

le but du jeu est de savoir si A1 contient "NBR".
On compte le nombre d'occurence avec le NB.SI et s'il est non nul (principe du résultat d'un test), on affiche "NBR" dans la cellule.

On peut faire la même chose, en plus "compréhensible", avec :

=SI(ESTNUM(TROUVE("nbr";A1));"nbr";"") 
0
eriiic Messages postés 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 276
 
Bonsoir à tous,

à noter que Trouve() tient compte des majuscules/minuscules.
Utiliser Cherche() si on ne veut pas tenir compte de la casse.

eric
0