Microsoft 365 Rang sur plusieurs colonnes

randle008

XLDnaute Nouveau
Bonjour à tous,

Je me heurte à une problématique que je n’arrive pas à résoudre. J’ai un fichier en pj pour que ce soit plus explicite.

En gros j’ai un fichier avec plusieurs colonnes et pour chaque colonne je souhaiterais avoir le rang.

J’ai les clients en ligne et les CA (1,2,3) en colonne et donc quand je sélectionne un client, je souhaiterais avoir le rang de CA1, CA2, CA3.

Bien entendu ce fichier d’exemple est très simplifié et donc mon « vrai » fichier comporte beaucoup plus de colonne et de ligne (c’est pour cela que je souhaiterais automatiser cela.

Merci par avance
 

Pièces jointes

  • TEST XLS.xlsx
    9.3 KB · Affichages: 10
Solution
Bonsoir à tous :),

Une autre formule en B10 à copier vers le bas :
VB:
=RANG(INDEX($A$1:$D$5; EQUIV($B$8;$A$1:$A$5;0);EQUIV($A10;$A$1:$D$1;0));INDEX($A$1:$D$5;;EQUIV($A10;$A$1:$D$1;0));0)

lors les textes sont dans le même ordre mais la subtilité est que dans la plage A10:A12, il y a des colonnes entre les textes (ou colonnes) qui m'intéressent.
Quand on désire une réponse pertinente, il faut que le classeur exemple soit le reflet de votre classeur réel 😜.

goube

XLDnaute Impliqué
Bonjour à tous,

Une autre façon.
VB:
=RANG(INDEX(Tableau1;EQUIV($B$8;Tableau1[Client];0);EQUIV($A10;Tableau1[#En-têtes];0));INDIRECT("Tableau1["&$A10&"]"))
Cordialement
 

Pièces jointes

  • TEST XLS.xlsx
    11.1 KB · Affichages: 4

job75

XLDnaute Barbatruc
Bonjour randle008, le forum,

Si le tableau source a beaucoup de colonnes le calcul de 3 EQUIV dans chaque cellule peut prendre du temps.

On peut en éviter 2 en remplaçant CA 1, CA 2, CA 3... par 1 2 3 au format personnalisé "CA "0.

La formule en B10 devient :
VB:
=RANG(INDEX(B$1:D$5;EQUIV(B$8;A$1:A$5;0);A10);INDEX(B$1:D$5;;A10))
A+
 

Pièces jointes

  • TEST XLS.xlsx
    10.6 KB · Affichages: 5

randle008

XLDnaute Nouveau
Bonjour à tous,

Déjà un grand merci pour vos messages et vos solutions !
Je vais potasser tout cela pour comprendre et tenter de l'adapter à mon fichier.

@job75 Malheureusement je ne peux pas modifier le format de l’entête. En effet ce tableau vient d’une extraction d’un outil et du coup, je souhaiterais l’utiliser tel quel pour ne pas avoir à faire de manipulation.

Merci en tout cas pour votre réactivité à tous
 

job75

XLDnaute Barbatruc
@job75 Malheureusement je ne peux pas modifier le format de l’entête. En effet ce tableau vient d’une extraction d’un outil et du coup, je souhaiterais l’utiliser tel quel pour ne pas avoir à faire de manipulation.
En fait il suffit que les textes en A10:A12 soient dans le même ordre qu'en B1: D1.

Nouvelle formule en B10 :
Code:
=RANG(INDEX(B$1:D$5;EQUIV(B$8;A$1:A$5;0);LIGNE(B1));INDEX(B$1:D$5;;LIGNE(B1)))
 

Pièces jointes

  • TEST XLS(1).xlsx
    10.4 KB · Affichages: 5

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous :),

Une autre formule en B10 à copier vers le bas :
VB:
=RANG(INDEX($A$1:$D$5; EQUIV($B$8;$A$1:$A$5;0);EQUIV($A10;$A$1:$D$1;0));INDEX($A$1:$D$5;;EQUIV($A10;$A$1:$D$1;0));0)

lors les textes sont dans le même ordre mais la subtilité est que dans la plage A10:A12, il y a des colonnes entre les textes (ou colonnes) qui m'intéressent.
Quand on désire une réponse pertinente, il faut que le classeur exemple soit le reflet de votre classeur réel 😜.
 

Pièces jointes

  • randle008- Rang- v1.xlsx
    10.5 KB · Affichages: 6

Discussions similaires

Statistiques des forums

Discussions
312 228
Messages
2 086 421
Membres
103 206
dernier inscrit
diambote