[Résolu] Compter les valeurs d'une plage, si cette plage est inférieure à une autre

tite schtroumpfette

XLDnaute Junior
Bonjour,

Je vous demande conseil car je m'embrouille avec les nb.si et autres fonctions.

Question 1

Je voudrais compter le nombre de réponses concernées par le critère suivant : si les cellules de la colonne B sont inférieures à celles de la colonne C.
Concrètement ça me compte le nb de réponses inférieures à un seuil réglementaires donc non conformes.

A savoir que sur mon fichier d'origine la colonne B renvoie au le résultat d'un calcul fait dans un autre onglet.

J'ai essayé plusieurs choses mais ça ne fonctionne pas... Je voudrais éviter les macros (je ne peux pas diffuser un fichier .xlsm)

=(SI(B2:B27<C2:C27;NB(B2:B27);""))
=nb.si(B4:B29;B4:B29<F4:F29;)
Ca marche en passant par une colonne intermédiaire (la D) mais le total ne fonctionne pas...

Est-ce possible sans colonne intermédiaire ?

Question 2

Autre souci : Je voudrais qu'en X3 un texte s'affiche automatiquement :
- si une fois le critère n'est pas atteint, cela affiche "non labellisable"
- sinon, que cela affiche labellisable
Il y a un problème dans ma formule, mais lequel...?
 

Fichiers joints

Dernière édition:

laurent67

XLDnaute Nouveau
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Bonjour,

tu peux essayer avec la formule suivante en M3, si j'ai bien compris ce que tu recherches : =NB.SI.ENS(B2:B27;"<C2:C27")

actuellement ta formule somme ne fonctionne pas car dans tes formules colonne D tu demandes de retourner le texte 1 et non la valeur 1 il faut que tu supprime les " " autour de du chiffre 1 pour avoir la valeur ( =(SI(B3<C3;1;"")) )

bonne journée

Edit : dsl la trop rapide dans la mise en ligne la formule ne fonctionne pas.

Il faut passer par : =SOMMEPROD(1*(B2:B27<C2:C27))
 
Dernière édition:

VDAVID

XLDnaute Impliqué
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Bonjour Tite schtroumpfette,

Si j'ai bien compris, tu peux essayer:

=SOMMEPROD(1*($B$2:$B$27<$C$2:$C$27))

En espérant t'avoir aider ! :)
Bonne journée
 

tite schtroumpfette

XLDnaute Junior
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

GENIALLISSIME :)

Du coup j'ai ajouté une autre question ;-)))))

Vus êtes trop forts !!!
 

laurent67

XLDnaute Nouveau
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Re bonjour,

remplace ta formule par celle-ci : =SI(SOMMEPROD(1*(B2:B27<C2:C27))>=1;"Non Labellisable";"Labellisable")

et le tour est joué.

Edit :
Pour la cellule V4 c'est un probleme de parenthèse : =SI(U4=0;"Critère atteint";SI(U5<3;"Critère atteint sous conditions";"Critère non atteint"))
 

Jocelyn

XLDnaute Barbatruc
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Bonjour le Forum,
Bonjour tite schtroumpfette, laurent67, VDAVID,

Si il suffit qu'un seul des 4 critère soit contienne "Non atteint" pour que la valeur de X3 soit "non labellisable" tu peux tester cette formule :

Code:
=SI(SOMMEPROD((ESTNUM(CHERCHE("non atteint";V3:V6)))*1)>0;"Non Labellisable";"Labellisable")
Cordialement
 

Jocelyn

XLDnaute Barbatruc
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

re,

Si tu as donné les bons critères pour la question 3 il me semble que Laurent67 a donné la réponse.

Bien qu'il faudrait savoir si U5 est prédominant par rapport a U4 car que ce passe t'il si U4 =0 et que U5<3 en même temps = Critère atteint ou Critère atteint sous conditions

a toi donc de tester la solution de laurent et de nous dire si il manque des solutions
 

tite schtroumpfette

XLDnaute Junior
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Ahlala, quel bonheur mes cheveux que j'arrachais vous remercient :)
J'essaye de faire marcher la mise en forme conditionnelle et si je n'y arrive pas je vous dis :)
 

tite schtroumpfette

XLDnaute Junior
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Super c'est parfait tout fonctionne merci !!!

Vous pourriez m'expliquer la formule que vous m'avez trouvé ?
=SI(SOMMEPROD((ESTNUM(CHERCHE("non atteint";V3:V6)))*1)>0;"Non Labellisable";"Labellisable")

Surtout estnum :

Cherche ça va chercher "non atteint" dans la plage V3:V6
Estnum permet de ne chercher que les nombres dans la plage (du coup je ne vois pas ce que ça cherche ?)
et sommeprod compte le nombre d'occurrences correspondant aux conditions précédentes

A quoi sert le *1 ?

Je comprends bien la fonction SI.
 

Jocelyn

XLDnaute Barbatruc
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

re,

Alors plus facile pour moi d'écrire une formule que de l'expliquer mais je vais essayer.

=SI(SOMMEPROD((ESTNUM(CHERCHE("non atteint";V3:V6)))*1)>0

dans cette formule la partie CHERCHE("non atteint";V3:V6) va renvoyer un numéro si dans une cellule on a "non atteint" qui represente le numéro d'ordre du début de la valeur cherchée par rapport a ton exemple en V5 se sera 9 si cette valeur n'existe pas dans la cellule le résultat sera #VALEUR

en mettant

ESTNUM(CHERCHE("non atteint";V3:V6)) on dit a excel de "marquer" toutes les cellules de la plage V3:V6 dont CHERCHE("non atteint";V3:V6) renvoie une valeur numérique

ensuite =SOMMEPROD((ESTNUM(CHERCHE("non atteint";V3:V6)))*1) pour chaque cellule marquées on additionne un 1

ce qui fait =SI(SOMMEPROD((ESTNUM(CHERCHE("non atteint";V3:V6)))*1)>0;"Non Labellisable";"Labellisable") si la la partie sommeprod de la formule est supérieure a 0 alors au moins l'une des cellules comporte "non atteint" donc "Non Labellisable" sinon si le sommeprod = 0 alors aucunes des cellules ne contient "non atteint" donc "Labellisable"

Voila j'espère avoir été clair si ce n'est pas la cas n'hésite pas
 

tite schtroumpfette

XLDnaute Junior
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Il faut que je réfléchisse un peu mais là je commence à fatiguer ;))))
Je relirai ça demain à tête reposée.

Du coup j'ai une dernière question :)

Dans ma cellule U6, je voudrais compter le nombre de cellules non renseignées colonne B et afficher ce nombre.
Je devrais tomber sur 5.
Les cellules de la colonne B sont le résultat d'un calcul fait dans un autre onglet (donc elles ne sont pas "vide") et nbval ne fonctionne pas.

Avez-vous une idée...?
 

Fichiers joints

Dernière édition:

Jocelyn

XLDnaute Barbatruc
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

re,

en U5 et a condition que soit il y ai une valeur numérique soit il y ai le résultat d'une formule de cette façon tu peux tester

Code:
=SOMMEPROD((NON(ESTNUM($B$2:$B$27)))*1)
 

tite schtroumpfette

XLDnaute Junior
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

dans cette formule la partie CHERCHE("non atteint";V3:V6) va renvoyer un numéro si dans une cellule on a "non atteint" qui represente le numéro d'ordre du début de la valeur cherchée par rapport a ton exemple en V5 se sera 9 si cette valeur n'existe pas dans la cellule le résultat sera #VALEUR

Je ne comprends pas cette partie... Pourquoi 9 ?

J'ai cherché des infos sur la fonction mais je ne comprend pas cette histoire de no_départ
CHERCHE(texte_cherché;texte;no_départ)
 

tite schtroumpfette

XLDnaute Junior
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

Merci Jocelyn cela fonctionne !!!

Pour être sûre de comprendre la fonction :
=SOMMEPROD((NON(ESTNUM($B$2:$B$27)))*1)

On demande de faire la somme des cellules (sommeprod) de la plage B2:B27 dont les critères sont :
non (fonction NON) numériques (fonction ESTNUM) ?
 

Jocelyn

XLDnaute Barbatruc
Re : Compter les valeurs d'une plage, si cette plage est inférieure à une autre

re

En V5 le résultat de CHERCHE("non atteint";V5) car le n de "non atteint" est le 9ème caractère de la cellule V5
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas