OVH Cloud OVH Cloud

PROBLEME AVEC LE RANG

9 réponses
Avatar
Trup
salut =E0 tous,

J'ai un probleme avec la fonction RANG et je cherche un=20
moyen de contourner les limites de cette fonction.
Nous savons tous (enfin je crois...) que la fonction rang=20
g=E8re mal les aexecos

par ex :

Valeur Rang Rang "Souhait=E9"
10 1 1
20 3 2 =20
30 5 3
10 1 1
20 3 2
30 5 3


Je souhaiterai qu'il ne saute pas les rangs.

Merci d'avance pour vos r=E9ponses

Trup.

9 réponses

Avatar
Daniel.M
Bonjour,

En supposant que:
1. Il n'y a pas de blancs (ou quasiblancs dans tes valeurs)
2. Les Valeurs sont contenues en A2:A13 (tu ajustes au besoin)

En B2, la formule suivante:
=RANG(A2;$A$2:$A$13)-(NB.SI($A$2:$A$13;">"&A2)
-SOMME((1/NB.SI($A$2:$A$13;$A$2:$A$13))*($A$2:$A$13>A2)))

Copie B2 jusqu'à B13 (ou plus loin si nécessaire).

Salutations,

Daniel M.

"Trup" wrote in message
news:0c8e01c53478$a9af3940$
salut à tous,

J'ai un probleme avec la fonction RANG et je cherche un
moyen de contourner les limites de cette fonction.
Nous savons tous (enfin je crois...) que la fonction rang
gère mal les aexecos

par ex :

Valeur Rang Rang "Souhaité"
10 1 1
20 3 2
30 5 3
10 1 1
20 3 2
30 5 3


Je souhaiterai qu'il ne saute pas les rangs.

Merci d'avance pour vos réponses

Trup.
Avatar
AV
Daniel ayant fait preuve d'une grande célérité et ayant maché le travail ....;-)
Pour que ça corresponde à l'exemple fourni, une légère retouche :
Matricielle (validation par ctrl + maj +entrée) :
=RANG(A2;$A$2:$A$10;2)-(NB.SI($A$2:$A$10;"<"&A2)-SOMME((1/NB.SI($A$2:$A$10;$A$2:
$A$10))*($A$2:$A$10<A2)))

Ceci dit (pour Trup) Excel gère pas si mal que ça les ex-aequos.....
AV
Avatar
merci bcp pour ta rapidité....mais la valeur est
toujour "1"....


-----Message d'origine-----
Bonjour,

En supposant que:
1. Il n'y a pas de blancs (ou quasiblancs dans tes
valeurs)

2. Les Valeurs sont contenues en A2:A13 (tu ajustes au
besoin)


En B2, la formule suivante:
=RANG(A2;$A$2:$A$13)-(NB.SI($A$2:$A$13;">"&A2)
-SOMME((1/NB.SI($A$2:$A$13;$A$2:$A$13))*($A$2:$A$13>A2)))

Copie B2 jusqu'à B13 (ou plus loin si nécessaire).

Salutations,

Daniel M.

"Trup" wrote in message
news:0c8e01c53478$a9af3940$
salut à tous,

J'ai un probleme avec la fonction RANG et je cherche un
moyen de contourner les limites de cette fonction.
Nous savons tous (enfin je crois...) que la fonction rang
gère mal les aexecos

par ex :

Valeur Rang Rang "Souhaité"
10 1 1
20 3 2
30 5 3
10 1 1
20 3 2
30 5 3


Je souhaiterai qu'il ne saute pas les rangs.

Merci d'avance pour vos réponses

Trup.


.



Avatar
Daniel.M
Merci Alain,

Je m'étais en effet trompé de bord (rang du plus grand au plus petit)! :-)

Salutations,

Daniel M.

"AV" wrote in message
news:
Daniel ayant fait preuve d'une grande célérité et ayant maché le travail
....;-)

Pour que ça corresponde à l'exemple fourni, une légère retouche :
Matricielle (validation par ctrl + maj +entrée) :

=RANG(A2;$A$2:$A$10;2)-(NB.SI($A$2:$A$10;"<"&A2)-SOMME((1/NB.SI($A$2:$A$10;$A$2:

$A$10))*($A$2:$A$10<A2)))

Ceci dit (pour Trup) Excel gère pas si mal que ça les ex-aequos.....
AV




Avatar
trup
MERCI 1000 FOIS !!!!
-----Message d'origine-----
Merci Alain,

Je m'étais en effet trompé de bord (rang du plus grand
au plus petit)! :-)


Salutations,

Daniel M.

"AV" wrote in message
news:
Daniel ayant fait preuve d'une grande célérité et
ayant maché le travail


.....;-)
Pour que ça corresponde à l'exemple fourni, une légère
retouche :


Matricielle (validation par ctrl + maj +entrée) :

=RANG(A2;$A$2:$A$10;2)-(NB.SI($A$2:$A$10;"<"&A2)-SOMME

((1/NB.SI($A$2:$A$10;$A$2:

$A$10))*($A$2:$A$10<A2)))

Ceci dit (pour Trup) Excel gère pas si mal que ça les
ex-aequos.....


AV





.




Avatar
TRUP
Super ça marche...maintenant j'ai un autre PB !

Mon nombre de ligne varie souvent et peut créer des
cellules vides. L'idée c'est de faire varier la reférence
de la matrice...je penser interger la formule "Adresse",

Ex :

=RANG(A2;$A$2:$A$10;2)-(NB.SI($A$2:$A$10;"<"&A2)-SOMME
((1/NB.SI($A$2:$A$10;$A$2:
$A$10))*($A$2:$A$10<A2)))

Ici le "$A$10" peut varier et créer ainsi des erreurs.
Comment faire pour rendre ce "$A$10" variable, afin qu'il
pointe sur la dernière cellule renseignées ??

Je pensais donc renseigner en cellule C1 par exemple la
formule suivante : ­RESSE(NBVAL(a2:a65536);4).

Le résultat est le suivant : "$A$10" mais qui est
inexploitable dans la première formule...
etlà je coince !

Merci d'avance pour votre aide !!!!
Avatar
ChrisV
Bonjour Trup,

Selon les données de ton exemple, en B2 à recopier en Bxx
(à saisir sans les { } et valider par Ctrl+Shift+Entrée)

{=SI(A2<>"";RANG(A2;DECALER(A$2;;;NBVAL(A:A)-1);2)-(NB.SI
(DECALER(A$2;;;NBVAL(A:A)-1);"<"&A2)-SOMME((1/NB.SI
(DECALER(A$2;;;NBVAL(A:A)-1);DECALER(A$2;;;NBVAL
(A:A)-1)))*(DECALER(A$2;;;NBVAL(A:A)-1)<A2)));"")}


ChrisV


"TRUP" a écrit dans le message de news:
073101c5348b$350f70b0$
Super ça marche...maintenant j'ai un autre PB !

Mon nombre de ligne varie souvent et peut créer des
cellules vides. L'idée c'est de faire varier la reférence
de la matrice...je penser interger la formule "Adresse",

Ex :

=RANG(A2;$A$2:$A$10;2)-(NB.SI($A$2:$A$10;"<"&A2)-SOMME
((1/NB.SI($A$2:$A$10;$A$2:
$A$10))*($A$2:$A$10<A2)))

Ici le "$A$10" peut varier et créer ainsi des erreurs.
Comment faire pour rendre ce "$A$10" variable, afin qu'il
pointe sur la dernière cellule renseignées ??

Je pensais donc renseigner en cellule C1 par exemple la
formule suivante : ­RESSE(NBVAL(a2:a65536);4).

Le résultat est le suivant : "$A$10" mais qui est
inexploitable dans la première formule...
etlà je coince !

Merci d'avance pour votre aide !!!!
Avatar
trup
merci 10 000 fois ChrisV....c'est absolument génialisime
et......tu me sauves la vie !!!

A+

Trup


-----Message d'origine-----
Bonjour Trup,

Selon les données de ton exemple, en B2 à recopier en Bxx
(à saisir sans les { } et valider par Ctrl+Shift+Entrée)

{=SI(A2<>"";RANG(A2;DECALER(A$2;;;NBVAL(A:A)-1);2)-(NB.SI
(DECALER(A$2;;;NBVAL(A:A)-1);"<"&A2)-SOMME((1/NB.SI
(DECALER(A$2;;;NBVAL(A:A)-1);DECALER(A$2;;;NBVAL
(A:A)-1)))*(DECALER(A$2;;;NBVAL(A:A)-1)<A2)));"")}


ChrisV


"TRUP" a écrit dans le
message de news:

073101c5348b$350f70b0$
Super ça marche...maintenant j'ai un autre PB !

Mon nombre de ligne varie souvent et peut créer des
cellules vides. L'idée c'est de faire varier la reférence
de la matrice...je penser interger la formule "Adresse",

Ex :

=RANG(A2;$A$2:$A$10;2)-(NB.SI($A$2:$A$10;"<"&A2)-SOMME
((1/NB.SI($A$2:$A$10;$A$2:
$A$10))*($A$2:$A$10<A2)))

Ici le "$A$10" peut varier et créer ainsi des erreurs.
Comment faire pour rendre ce "$A$10" variable, afin qu'il
pointe sur la dernière cellule renseignées ??

Je pensais donc renseigner en cellule C1 par exemple la
formule suivante : ­RESSE(NBVAL(a2:a65536);4).

Le résultat est le suivant : "$A$10" mais qui est
inexploitable dans la première formule...
etlà je coince !

Merci d'avance pour votre aide !!!!



.



Avatar
ChrisV
merci 10 000 fois...


1000
10000
risque de faire beaucoup la prochaine fois... ;-)


ChrisV


"trup" a écrit dans le message de
news: 099501c534f5$3eca89e0$


merci 10 000 fois ChrisV....c'est absolument génialisime
et......tu me sauves la vie !!!

A+

Trup


-----Message d'origine-----
Bonjour Trup,

Selon les données de ton exemple, en B2 à recopier en Bxx
(à saisir sans les { } et valider par Ctrl+Shift+Entrée)

{=SI(A2<>"";RANG(A2;DECALER(A$2;;;NBVAL(A:A)-1);2)-(NB.SI
(DECALER(A$2;;;NBVAL(A:A)-1);"<"&A2)-SOMME((1/NB.SI
(DECALER(A$2;;;NBVAL(A:A)-1);DECALER(A$2;;;NBVAL
(A:A)-1)))*(DECALER(A$2;;;NBVAL(A:A)-1)<A2)));"")}


ChrisV


"TRUP" a écrit dans le
message de news:

073101c5348b$350f70b0$
Super ça marche...maintenant j'ai un autre PB !

Mon nombre de ligne varie souvent et peut créer des
cellules vides. L'idée c'est de faire varier la reférence
de la matrice...je penser interger la formule "Adresse",

Ex :

=RANG(A2;$A$2:$A$10;2)-(NB.SI($A$2:$A$10;"<"&A2)-SOMME
((1/NB.SI($A$2:$A$10;$A$2:
$A$10))*($A$2:$A$10<A2)))

Ici le "$A$10" peut varier et créer ainsi des erreurs.
Comment faire pour rendre ce "$A$10" variable, afin qu'il
pointe sur la dernière cellule renseignées ??

Je pensais donc renseigner en cellule C1 par exemple la
formule suivante : ­RESSE(NBVAL(a2:a65536);4).

Le résultat est le suivant : "$A$10" mais qui est
inexploitable dans la première formule...
etlà je coince !

Merci d'avance pour votre aide !!!!



.