Compter dans une plage le nombre de fois qu'un chiffre apparait avec une condition

syl0038

XLDnaute Junior
Bonjour à tous,
Je n'arrive pas à réaliser et à trouver une formule qui m'aiderait à :
Compter dans une plage le nombre de fois qu'un chiffre apparait avec une condition.

Voivi mes données :
AV 100
AV 100
AV 200
PSS 150
PSS 150
PSS 150
BSS 300
BSS 400
BSS 500
BSS 600

J'aimerais avoir comme réponse AV = 2 PSS =1 BSS = 4.

J'ai essayé avec cette formule =SUMPRODUCT(1/COUNTIF(B1:B10,B1:B10)) mais je n'arrive pas à mettre comme condition AV PSS et BSS.

Merci de m'aider,
En vous remerciant!

Syl
 

Pièces jointes

  • syl0038+.xls
    23.5 KB · Affichages: 71
  • syl0038+.xls
    23.5 KB · Affichages: 67
  • syl0038+.xls
    23.5 KB · Affichages: 70

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Compter dans une plage le nombre de fois qu'un chiffre apparait avec une conditi

Bonjour,


Occurences uniques avec condition


=NB(1/FREQUENCE(SI(critere=E12;EQUIV(ch;ch;0));LIGNE(INDIRECT("1:"&LIGNES(ch)))))
Valider avec maj+ctrl+entrée

ch =$B$1:$B$10
critere =$A$1:$A$10

Si cellules vides:

=NB(1/FREQUENCE(SI((critere=E12)*(ch<>"");EQUIV(ch;ch;0));LIGNE(INDIRECT("1:"&LIGNES(ch)))))


JB
 

Pièces jointes

  • Copie de syl0038+-1.xls
    24 KB · Affichages: 67
Dernière édition:

JHA

XLDnaute Barbatruc
Re : Compter dans une plage le nombre de fois qu'un chiffre apparait avec une conditi

Bonjour à tous,

A essayer,
Edit: Bonjour JB, David84, fichier modifié
JHA
 

Pièces jointes

  • syl0038+.xls
    20.5 KB · Affichages: 66
  • syl0038+.xls
    20.5 KB · Affichages: 65
  • syl0038+.xls
    20.5 KB · Affichages: 70
Dernière édition:

david84

XLDnaute Barbatruc
Re : Compter dans une plage le nombre de fois qu'un chiffre apparait avec une conditi

Bonjour,
à rentrer en E13, valider en matriciel (Ctrl, Maj et entrée) et à tirer vers la droite :
Code:
=NB(SI($A1:$A10=E12;SI(EQUIV($B1:$B10;$B1:$B10;0)=LIGNE(INDIRECT("1:"&LIGNES($B1:$B10)));LIGNE($B1:$B10))))
A+
 

R@chid

XLDnaute Barbatruc
Re : Compter dans une plage le nombre de fois qu'un chiffre apparait avec une conditi

Bonjour @ tous,
une autre plus courte, pour le fun :eek:,
Sélectionner la plage E13:G13,
Copier/Coller cette formule dans la barre des formules,
Code:
=TRANSPOSE(FREQUENCE(SI(FREQUENCE(B1:B10;B1:B10);EQUIV(A1:A10;E12:G12;0));{1;2}))
@ valider par Ctrl+Maj+Entree
@ micalement
 

R@chid

XLDnaute Barbatruc
Re : Compter dans une plage le nombre de fois qu'un chiffre apparait avec une conditi

Bonsoir @ tous,
J'ai essayé avec cette formule =SUMPRODUCT(1/COUNTIF(B1:B10,B1:B10)) mais je n'arrive pas à mettre comme condition AV PSS et BSS.
Ok, du fait que tes données sont triées sur la colonne A,
en E13,
Code:
=SOMMEPROD(1/NB.SI(DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12));DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12))))
@ valider par Simple Entree
@ tirer vers la droite
@ micalement
 

david84

XLDnaute Barbatruc
Re : Compter dans une plage le nombre de fois qu'un chiffre apparait avec une conditi

Bonjour,
l
Bonsoir @ tous,
J'ai essayé avec cette formule =SUMPRODUCT(1/COUNTIF(B1:B10,B1:B10)) mais je n'arrive pas à mettre comme condition AV PSS et BSS.
Ok, du fait que tes données sont triées sur la colonne A,
en E13,
Code :
=SOMMEPROD(1/NB.SI(DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12));DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12))))
@ valider par Simple Entree
@ tirer vers la droite
@ micalement
Le problème avec l'utilisation de SOMMEPROD(1/NB.SI( est que ce n'est pas fiable dans ce type de cas...

Par exemple, remplace tous les PPS par des AV et tu verras que
Code:
=SOMMEPROD(1/NB.SI(DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12));DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12))))
ramène #NA.

Concernant ton essai
Code:
=SUMPRODUCT(1/COUNTIF(B1:B10,B1:B10))
, on peut éventuellement tester
Code:
=SOMMEPROD(1/NB.SI($B$1:$B$10;$B$1:$B$10)*($A$1:$A$10=E12))
mais là encore problème (cela peut donner des nombres avec virgule).

On peut éventuellement tester
Code:
=ARRONDI.SUP(SOMMEPROD(1/NB.SI($B$1:$B$10;$B$1:$B$10)*($A$1:$A$10=E12));0)
qui fonctionne sur quelques tests vite faits, mais à vérifier plus avant.
A+
 

R@chid

XLDnaute Barbatruc
Re : Compter dans une plage le nombre de fois qu'un chiffre apparait avec une conditi

Bonjour @ tous,
Salut David,
Le problème avec l'utilisation de SOMMEPROD(1/NB.SI( est que ce n'est pas fiable dans ce type de cas...

Par exemple, remplace tous les PPS par des AV et tu verras que Code :
=SOMMEPROD(1/NB.SI(DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12));DECALER($B1;EQUIV(E12;$A1:$A10;0)-1;;NB.SI($A1:$A10;E12))))


ramène #NA.
Oui c'est sur car y aura pas de PSS en colonne A, on peut le gérer avec =SIERREUR(Formule;0) et comme ça on est sur de sa fiabilité...
Amicalement
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 206
Messages
2 086 219
Membres
103 158
dernier inscrit
laufin