XL 2010 Probléme avec NB.SI.ENS en cas d'égalité sur 2 fichiers

gservas

XLDnaute Junior
Bonjour
Je fais encore appel à vos connaissances sur la fonction NB.SI.ENS
Sur le 1er cas => le fichier NB.SI.ENS avec 2 critéres
Je cherche a creer un classement suivant les 2 critéres région et nombre de points. Cependant en cas d'égalité du nombre de point et de région je n'arrive pas à avoir un classement logique par ordre décroissant. J'aimerai que en cas d'égalité le classement continue logiquement sans avoir de doublon sur le chiffre le plus à droite de la formule. L'ordre de concurrents qui sont à égalité n'a pas d'importance.
J'ai essayé cette formule mais sans succés
=CONCATENER(A4;" - ";B4;" - ";NB.SI.ENS($B$4:B4;B4;$C$4:C4;"<="&SI(C4=$C$4:C4;"100";C4))+SI(C4=$C$4:C4;NB.SI.ENS($B$4:B4;B4;$C$4:C4;C4);0))

Sur le 2nd cas => le fichier NB.SI.ENS avec 3 critéres et si disqualifié et égalité
Je cherche a creer un classement suivant les 3 critères et idem en cas d'égalité de temps malgré les 2 autres critères (catégorie et sexe). L'ordre de concurrents qui sont à égalité n'a pas d'importance. La formule fonctionne avec l'égalité de disqualification mais pas de temps.
J'ai essayé cette formule mais sans succés car en cas d'égalité de temps il y a doublon.
=CONCATENER(A2;" - ";B2;" - ";C2;" - ";NB.SI.ENS(B$2:B$21;B2;C$2:C$21;C2;D$2:D$21;"<="&SI(D2="DISQUALIFIE";"20";D2))+SI(D2="DISQUALIFIE";NB.SI.ENS(B$2:B2;B2;C$2:C2;C2;D$2:D2;"DISQUALIFIE");0))

Merci pour votre aide
a+
GS
 

Pièces jointes

  • NB.SI.ENS avec 2 critéres .xlsx
    13.8 KB · Affichages: 20
  • NB.SI.ENS avec 3 critéres et si disqualifié et égalité.xlsx
    15.4 KB · Affichages: 6

gservas

XLDnaute Junior
Bonsoir
Merci pour votre aide sur à r@achid car la formule fonctionne presque parfaitement dans mon tableau.
J'ai copié cette formule (sous forme matricielle) dans mon tableau
=A2&" - "&B2&" - "&C2&" - "&SIERREUR(EQUIV(D2+LIGNE()/9^9;PETITE.VALEUR(SI((A$2:A$21=A2)*(B$2:B$21=B2)*(C$2:C$21=C2)*ESTNUM(D$2:D$21);D$2:D$21+LIGNE(D$2:D$21)/9^9);LIGNE(INDIRECT("1:"&NB.SI.ENS(A$2:A$21;A2;B$2:B$21;B2;C$2:C$21;C2))));0);NB.SI.ENS(A$2:A2;A2;B$2:B2;B2;C$2:C2;C2))

En effet comme tu l'as précisé dans un message ce jour, le tableau ne sera pas trié donc les disqualifiés ne seront pas à la fin du tableau en lui même.
Par contre j'aimerai qu'ils soient à la fin du classement, c'est à dire après le temps le plus grand de la même catégorie et du même sexe. Car en faisant un essai j'ai vu que si je mets un disqualifié dans les temps n'importe où le dernier chiffre de la formule ne change pas. J'ai essayé de mettre un disqualifié en D7 et j'ai vu que le classement donc le dernier chiffre de la formule ne changeait pas et j'ai un doublon qui s'est créer avec la ligne 13.
Cependant, je suis certain que vous allez trouver une solution.
PS => bravo pour ton 10 000éme message.
Merci encore pour votre aide
GS
 

R@chid

XLDnaute Barbatruc
Re,


Formule matricielle :
VB:
=A2&" - "&B2&" - "&C2&" - "&SIERREUR(EQUIV(D2+LIGNE()/9^9;PETITE.VALEUR(SI((A$2:A$21=A2)*(B$2:B$21=B2)*(C$2:C$21=C2)*ESTNUM(D$2:D$21);D$2:D$21+LIGNE(D$2:D$21)/9^9);LIGNE(INDIRECT("1:"&NB.SI.ENS(A$2:A$21;A2;B$2:B$21;B2;C$2:C$21;C2))));0);SOMME((A$2:A$21=A2)*(B$2:B$21=B2)*(C$2:C$21=C2)*ESTNUM(D$2:D$21))+NB.SI.ENS(A$2:A2;A2;B$2:B2;B2;C$2:C2;C2;D$2:D2;D2))
@ valider par Ctrl+Maj+Entrée
@ tirer vers le bas


Formule pour Excel Miscrosoft 365 :
Code:
=LET(PlageF;FILTRE(D$2:D$21;ESTNUM(D$2:D$21)*(A$2:A$21=A2)*(B$2:B$21=B2)*(C$2:C$21=C2));JOINDRE.TEXTE(" - ";;A2:C2;SIERREUR(EQUIV(D2;TRIER(PlageF);0);LIGNES(PlageF)+NB.SI.ENS(A$2:A2;A2;B$2:B2;B2;C$2:C2;C2;D$2:D2;D2))))
@ valide par simple Entrée
@ tirer vers le bas



Cordialement
 

Pièces jointes

  • Gservas NB.SI.ENS avec 3 critéres et si disqualifié et égalité_V4.xlsx
    16.7 KB · Affichages: 6

gservas

XLDnaute Junior
Bonsoir
J'ai implanté la formule matricielle sur mon fichier et elle fonctionne parfaitement mais ralenti beaucoup la fluidité du fichier. J'ai vu sur le forum que beaucoup de formule matricielle dans un fichier pouvait ralentir le bon fonctionnement du fichier.
Ma question est donc de savoir si une formule non matricielle pourrais faire le même travail et donc rendre la fluidité de mon fichier.
Quand je rentre un temps, il faut environ 2 secondes pour pouvoir renter un autre temps.
Merci pour votre aide
GS
 

R@chid

XLDnaute Barbatruc
Bonsoir @ tous,
oui les formules matricielles ralentissent le fonctionnement du fichier, tu peux toutefois utiliser la solution que t'a présentée notre ami Dugenou et utiliser des formules classiques avec des colonnes intermédiaires.

Cordialement
 

gservas

XLDnaute Junior
Bonjour
Comme tu l'as dis en utilisant la formule de Dugenou j'ai essayé en essayant de retirer la colonne caché mais le probléme viens du texte en rouge ci-dessous.
=A2&" - "&B2&" - "&C2&" - "&SI(ESTTEXTE(SI(ESTTEXTE(D2);D2;NB.SI.ENS($B$2:$B$21;B2;$C$2:$C$21;C2;$D$2:$D$21;"<"&D2)+1+LIGNE()/1000000));NB.SI.ENS($B$2:B2;B2;$C$2:C2;C2);NB.SI.ENS($B$2:$B$21;B2;$C$2:$C$21;C2;$E$2:$E$21;"<"&SI(ESTTEXTE(D2);D2;NB.SI.ENS($B$2:$B$21;B2;$C$2:$C$21;C2;$D$2:$D$21;"<"&D2)+1+LIGNE()/1000000))+1)
Mais je n'arrive pas a supprimer cette colonne à cause du texte en rouge.
Merci
GS
 

Dugenou

XLDnaute Barbatruc
Bonjour,
Si vous voulez vous passer de formules matricielles, alors la colonne intermédiaire est nécessaire (on peut cependant la placer ailleurs dans la feuille si besoin)
En PJ le fichier avec une modification pour traiter les disqualifiés quand ils ne sont pas en bas du tableau.
Attention on ne tient compte que du mot "disqualifie" (sans accent) si d'autre cas sont possible : merci de les mettre dans l'exemple.

Cordialement
 

Pièces jointes

  • Gservas NB.SI.ENS avec 3 critéres et si disqualifié et égalité.xlsx
    13.6 KB · Affichages: 3

Discussions similaires

Statistiques des forums

Discussions
312 204
Messages
2 086 198
Membres
103 153
dernier inscrit
SamirN