Nb references avec 2 Criteres [Résolu/Fermé]

Signaler
Messages postés
22
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
14 novembre 2018
-
Messages postés
12185
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2020
-
Bonjour,

J'ai 2 colonnes D "reférences"; F "marques"
Je veux compter le nombre de références différentes en Citroën et en Peugeot

J'ai essayé comme suit :

SOMME(
SOMMEPROD((GAUCHE($F$25:$F$50;4)="CITR")*($D$25:$D$50<>""));
SOMMEPROD((GAUCHE($F$25:$F$50;4)="PEUG")*($D$25:$D$50<>"")));

J'arrive à calculer le nombre de références différentes lorqu'il n'y a pas de critère avec la formule qui suit :

SOMMEPROD(($D$25:$D$50<>"")/NB.SI($D$25:$D$50;$D$25:$D$50&""))

Mais comment faire pour lui dire "Calcul le nombre de références différentes de la colonne D pour les occurrences dont les valeurs sont "Citr" et "peug" (colonne F).


Illustration

Références MARQUES
1543471 CITR, PEUG,
1543471 CITR, PEUG,
1543471 CITR, PEUG,
1343739 PEUG,
DACI, RENA,
1343765 CITR, PEUG,
1643728 RENA,
1844086 CHRYSLER
1243719 PEUG, TALBOT
1943323 RENA,
1215437 FORD
1443436 VOLKSWAGEN


Si quelqu'un aurait une idée, ce serait au top :-)

Merci par avance

1 réponse

Messages postés
12185
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2020
2 478
Bonjour,

Question subsidiaire :
Je vois, dans ton exemple, dans la colonne MARQUES, plusieurs marques de saisies : PEUG, CITR...
Est ce le cas dans ton fichier? La colonne F peut contenir plusieurs valeurs?

Si ce n'est pas le cas, tu peux utiliser la formule de Boisgontier disponible ici :
=NB(1/FREQUENCE(SI(GAUCHE(F2:F100;4)="CITR";EQUIV(D2:D100;D2:D100;0));LIGNE(INDIRECT("1:"&LIGNES(D2:D100)))))
Formule matricielle à valider par Ctrl + Shift + Entrée

Sinon, il te faudra créer une fonction personnalisée VBA...
Cordialement,
Franck
Messages postés
12185
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2020
2 478
Quel 1?
Celui-ci :
=NB(1/FREQUENCE(SI(GAUCHE(F2:F100;4)="CITR";EQUIV(D2:D100;D2:D100;0));LIGNE(INDIRECT("1:"&LIGNES(D2:D100)))))
On veut compter le nombre d'occurence. FREQUENCE compte 1 la première fois qu'elle tombe sur une occurrence et 0 les autres fois (=>occurrences uniques). On sait également que la fonction NB ne comptabilise pas les erreurs de division par 0. D'où le 1/blabla.

Remarque : la formule fonctionne également avec 1325 :
=NB(1325/FREQUENCE(SI(NON(ESTERREUR(CHERCHE("CITR";F2:F100)));EQUIV(D2:D100;D2:D100;0));LIGNE(INDIRECT("1:"&LIGNES(D2:D100)))))

ou celui-ci :
=NB(1/FREQUENCE(SI(GAUCHE(F2:F100;4)="CITR";EQUIV(D2:D100;D2:D100;0));LIGNE(INDIRECT("1:"&LIGNES(D2:D100)))))
Explications de Boisgontier :
Un vecteur colonne {1;2;3;4;...10} peut être remplacé par:
=LIGNE(1:10)
Un vecteur colonne variable se génère avec:
=LIGNE(INDIRECT("1:"&LIGNES(champ)))
Messages postés
22
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
14 novembre 2018

Bonjour Pikaju,

Merci pour tes explications.

C'est étrange, ca marche pour 100 lignes mais quand je passe a 500 lignes ca ne fonctionne plus.
Vois-tu une raison pour cette anomalie ???

Bien à toi.

Romain
Messages postés
12185
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2020
2 478
Salut,

C'est étrange, ca marche pour 100 lignes mais quand je passe a 500 lignes ca ne fonctionne plus. Vois-tu une raison pour cette anomalie ???
Euh...
1- As tu regardé la formule donnée?
2- As tu été jeter un oeil au lien donné plus haut?

Je pense que je vais te laisser adapter toi même...

Je te remets la formule que je viens de tester sur plus de 1000 lignes et qui fonctionne, si tu l'adaptes bien sur :
=NB(1/FREQUENCE(SI(NON(ESTERREUR(CHERCHE("CITR";F2:F100)));EQUIV(D2:D100;D2:D100;0));LIGNE(INDIRECT("1:"&LIGNES(D2:D100)))))
Messages postés
22
Date d'inscription
mercredi 5 mars 2014
Statut
Membre
Dernière intervention
14 novembre 2018

C'est bon ca marche pas de soucis

Merci pour ton aide

CDT
Messages postés
12185
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
21 septembre 2020
2 478
De rien.
A+