Attribuer un code de rang selon deux conditions

Flicky

XLDnaute Nouveau
Bonjour,

**J'ai joint un fichier pour clarifier mon intention.

Dans la colonne C, je dois attribuer un code de rang de facon automatique.

Ce code de rang doit être établit de la facon suivante :
- pour toutes les données de la colonne A qui sont semblable (ex. : 0101) regarder la valeur associé sur la meme ligne dans la colonne B et attribuer dans la colonne C un "rang".

À date je n'arrive qu'à attribuer un rang a l'ensemble de mes données en ne considérant que les valeurs de la colonne B :-(

Je mets a titre indicatif dans la colonne E, les bonnes réponses que la formule devrait produire.

Merci de votre aide.
 

Pièces jointes

  • Problème de rang.xls
    17.5 KB · Affichages: 100
  • Problème de rang.xls
    17.5 KB · Affichages: 99
  • Problème de rang.xls
    17.5 KB · Affichages: 100
Dernière édition:

david84

XLDnaute Barbatruc
Re : Attribuer un code de rang selon deux conditions

Bonjour, salut Cisco,
ci-joint proposition.
A+
 

Pièces jointes

  • Problème de rang.xls
    23 KB · Affichages: 186
  • Problème de rang.xls
    23 KB · Affichages: 187
  • Problème de rang.xls
    23 KB · Affichages: 180

hoerwind

XLDnaute Barbatruc
Re : Attribuer un code de rang selon deux conditions

Bonjour,

Une proposition de formule en pièce jointe.
Il y a probablement plus simple, mais la journée a été longue !

Édition :
Salut david, le temps de le dire, mais même approche.
 

Pièces jointes

  • RangSuivantCode.xls
    19 KB · Affichages: 124

Flicky

XLDnaute Nouveau
Re : Attribuer un code de rang selon deux conditions

Évidemment, il y a quelques chose que je n’avais pas prévu…ainsi, les deux solutions proposées semble convenir (de même que celle que j'ai aussi trouvé de mon côté, TOUTEFOIS IL Y A TOUJOURS UN PROBLÈME à résoudre.

C’est que lorsque les valeurs sont égales je me retrouve avec le même rang attribué autant de fois (et je ne peux permettre que cela arrive). Voir les lignes 65 à 76 pour un exemple concret.

Donc il me faut, considérer une 3e condition afin de départager et faire en sorte que tous les rangs attribués dans un "groupe » soient différents. Et encore là, je n'arrive pas à produire la bonne formule.
- donc, en plus, je voudrais utiliser les valeurs de la colonne D (en ordre croisant ou décroisant) pour départager.

Cette fois je vais joindre un fichier exemple plus près de la réalité de ce que je dois traiter.
Merci à ceux qui ont déjà "planché" sur mon problème et d'avance à ceux qui le feront.
 

Pièces jointes

  • v2.0 problème de rang.xls
    28 KB · Affichages: 96

CISCO

XLDnaute Barbatruc
Re : Attribuer un code de rang selon deux conditions

Bonsoir à tous, bonsoir Hoerwind et David84

Et comme cela, est-ce que c'est mieux ? Il faudra peut être modifier les 10^8 en 10^9, ou en 10^10, en fonction du nombre de lignes de ton fichier réel, pour que ce rajout (utile que pour différencier les ex-aequo), fait avec LIGNE, n'interfère pas sur les décimales des nombres de la colonne D.

@ plus
 

Pièces jointes

  • v2.0 problème de rang (1).xls
    42.5 KB · Affichages: 83
Dernière édition:

CISCO

XLDnaute Barbatruc
Re : Attribuer un code de rang selon deux conditions

REbonsoir

Trois autres possibilités en pièce jointe, pas en matriciel cette fois-ci.

@ plus

PS : en réalité, c'est du matriciel "voilé", qui ne fonctionne, tel quel, si je ne me trompe, avec excel 2003, mais pas avec excel 2007.
 

Pièces jointes

  • v2.0 problème de rang bis.xls
    45.5 KB · Affichages: 108
Dernière édition:

david84

XLDnaute Barbatruc
Re : Attribuer un code de rang selon deux conditions

Re
dans mon dernier fichier, on peut simplifier la formule :
Code:
=SOMMEPROD(((RLS_CODE)=C3)*((X)<D3))+NB.SI(D$3:D3;D3)
A+
Edit : et même à tester :
Code:
=NB.SI(X;"<"&D3)+NB.SI(D$3:D3;D3)
 
Dernière édition:

Flicky

XLDnaute Nouveau
Re : Attribuer un code de rang selon deux conditions

Un gros merci à vous deux David84 et CISCO !!! Grace à vous ce problème n'en est plus un.
J'y suis finalement allé avec cette solution :
SOMMEPROD(((C$3:C$87)=C3)*((D$3:D$87)<D3))+SOMMEPROD(((C$3:C3)=C3)*((D$3:D3)=D3))
 

Discussions similaires

M
Réponses
14
Affichages
645
M
Réponses
22
Affichages
793

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1