OVH Cloud OVH Cloud

fonction de tri

11 réponses
Avatar
JeNeVois
Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !

10 réponses

1 2
Avatar
Paul V
Hello JeNeVoi,

Tu ne vas pas me croire mais il existe une fonction RANG qui fait ce que tu
demande ;-)
Un petit coup d'oeil sur le help t'expliquera

HTH

Paul V

"JeNeVois" a écrit dans le message de
news:
Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !




Avatar
Jacky
Bonsoir,
Ceci peut-être:

Pour la 1ère plus petite
=INDEX($A$1:$A$5;EQUIV(PETITE.VALEUR($B$1:$B$5;1);$B$1:$B$5;0))&" (1. rang)"

2 ème
=INDEX($A$1:$A$5;EQUIV(PETITE.VALEUR($B$1:$B$5;2);$B$1:$B$5;0))&" (2. rang)"
etc....
--
Salutations
JJ

"JeNeVois" a écrit dans le message de
news:
Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !




Avatar
JeNeVois
Oops, mon tableau s'est tordu lors de la transmission
Espérons que celui-ci soit plus lisible

A: B : C:resultat espéré
poires 5 oranges:1.rang
pommes 8 poires :2.rang
fraises 12 pommes :3.rang
fromboises 10 fromboises:4..rang
oranges 3 fraises :5.rang


Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !




Avatar
JeNeVois
Hi "Paul V",

si,si, je te crois, mais avant de rédiger ma question
je me suis justement rendu compte que la fonction RANG
ne résoud pas exactement mon problème. ;)
Me crois-tu ?

Salutations



Hello JeNeVoi,

Tu ne vas pas me croire mais il existe une fonction RANG qui fait ce que tu
demande ;-)
Un petit coup d'oeil sur le help t'expliquera

HTH

Paul V

"JeNeVois" a écrit dans le message de
news:
Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !









Avatar
Michel Gaboly
Bonsoir,

En combinant PETITE.VALEUR(), LIGNE(), INDEX() et EQUIV():

Nommons "Réf" (sans guillemet), la plage contenant les valeurs en B

Dans ue colonne quelconque, sur la même ligne que la preière valeur e n B, entrons cette formule :

=PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) + 1)

et recopions vers le bas sur le nb de lignes nécessares (5 dans l'exemp le)

On récupère les valeurs de la colonne B triées

Ensuite avec un DECALER(), pour chercher le contenu de la colonne précé dente et INDEX()/EQUIV(), on récupère les intitulés:

=INDEX(DECALER(Réf;0;-1);EQUIV(E2;Réf;0))

NB - La formule précédente était en colonne E dans mon test.


On peut se contenter d'une colonne unique avec cette formule :

=INDEX(DECALER(Réf;0;-1);EQUIV(PETITE.VALEUR(Réf;LIGNE() - LIGNE(Ré f) + 1);Réf;0))


NB - Le défaut du système est que cela ne fonctionne que si toutes le s valeurs sont différentes : si fraises et
framboises sont toutes à 10, on pourra récupérer fraises ou framboi ses, en fonction de l'ordre d'appartition dans le
tableau, mais pas les 2

exemple : http://cjoint.com/?klrSMoJeDj

Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !





--
Cordialement,

Michel Gaboly
www.gaboly.com

Avatar
Michel Gaboly
Bonsoir Paul,

RANG() ne suffit pas ; il veut obtenir le nom des fruits par ordre croiss ant des valeurs en colonne B.

Hello JeNeVoi,

Tu ne vas pas me croire mais il existe une fonction RANG qui fait ce qu e tu
demande ;-)
Un petit coup d'oeil sur le help t'expliquera

HTH

Paul V

"JeNeVois" a écrit dans le messa ge de
news:
Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !








--
Cordialement,

Michel Gaboly
www.gaboly.com


Avatar
JeNeVois
Bonsoir "Jacky",

c'est parfait !
Je m'étais déjà douté que c'était la fonction INDEX
qu'il fallait appliquer mais ensuite je ne savais plus
comment remplir la parenthèse.
Merci beaucoup :)




Bonsoir,
Ceci peut-être:

Pour la 1ère plus petite
=INDEX($A$1:$A$5;EQUIV(PETITE.VALEUR($B$1:$B$5;1);$B$1:$B$5;0))&" (1. rang)"

2 ème
=INDEX($A$1:$A$5;EQUIV(PETITE.VALEUR($B$1:$B$5;2);$B$1:$B$5;0))&" (2. rang)"
etc....
--
Salutations
JJ

"JeNeVois" a écrit dans le message de
news:
Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !









Avatar
JeNeVois
Bonsoir Michel Gaboly,

merci pour cette élaboration très didactique
qui est probablement plus pratique pour
une grande ou croissante sélection.

Bonne soirée !



Bonsoir,

En combinant PETITE.VALEUR(), LIGNE(), INDEX() et EQUIV():

Nommons "Réf" (sans guillemet), la plage contenant les valeurs en B

Dans ue colonne quelconque, sur la même ligne que la preière valeur en B, entrons cette formule :

=PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) + 1)

et recopions vers le bas sur le nb de lignes nécessares (5 dans l'exemple)

On récupère les valeurs de la colonne B triées

Ensuite avec un DECALER(), pour chercher le contenu de la colonne précédente et INDEX()/EQUIV(), on récupère les intitulés:

=INDEX(DECALER(Réf;0;-1);EQUIV(E2;Réf;0))

NB - La formule précédente était en colonne E dans mon test.


On peut se contenter d'une colonne unique avec cette formule :

=INDEX(DECALER(Réf;0;-1);EQUIV(PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) + 1);Réf;0))


NB - Le défaut du système est que cela ne fonctionne que si toutes les valeurs sont différentes : si fraises et
framboises sont toutes à 10, on pourra récupérer fraises ou framboises, en fonction de l'ordre d'appartition dans le
tableau, mais pas les 2

exemple : http://cjoint.com/?klrSMoJeDj

Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !





--
Cordialement,

Michel Gaboly
www.gaboly.com




Avatar
Michel Gaboly
Re,

De rien.

Je craignais que ma réponse t'ait échappé, ce qui n'est vi siblement pas le cas ;-))


Pour avoir lerang explicitement sous la forme "oranges(1.rang)", il faut aapter ainsi la formule :

=INDEX(DECALER(Réf;0;-1);EQUIV(PETITE.VALEUR(Réf;LIGNE() - LI GNE(Réf) + 1);Réf;0)) & TEXTE(LIGNE() - LIGNE(Réf) + 1;"""
(""0"".rang"")")


Bonsoir Michel Gaboly,

merci pour cette élaboration très didactique
qui est probablement plus pratique pour
une grande ou croissante sélection.

Bonne soirée !



Bonsoir,

En combinant PETITE.VALEUR(), LIGNE(), INDEX() et EQUIV():

Nommons "Réf" (sans guillemet), la plage contenant les valeurs en B

Dans ue colonne quelconque, sur la même ligne que la preière valeur en B, entrons cette formule :

=PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) + 1)

et recopions vers le bas sur le nb de lignes nécessares (5 dans l 'exemple)

On récupère les valeurs de la colonne B triées

Ensuite avec un DECALER(), pour chercher le contenu de la colonne prà ©cédente et INDEX()/EQUIV(), on récupère les intitulé s:

=INDEX(DECALER(Réf;0;-1);EQUIV(E2;Réf;0))

NB - La formule précédente était en colonne E dans mon test.


On peut se contenter d'une colonne unique avec cette formule :

=INDEX(DECALER(Réf;0;-1);EQUIV(PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) + 1);Réf;0))


NB - Le défaut du système est que cela ne fonctionne que si toutes les valeurs sont différentes : si fraises et
framboises sont toutes à 10, on pourra récupérer fraise s ou framboises, en fonction de l'ordre d'appartition dans le
tableau, mais pas les 2

exemple : http://cjoint.com/?klrSMoJeDj

Bonjour,

je cherche une fonction (sans VBA) qui me donne
la valeur correspondante aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espérà © de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !




--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com



Avatar
jacky
Bonsoir Michel,

Belle astuce avec ligne(), surtout pour:
TEXTE(LIGNE() - LIGNE(Réf) + 1;""" (""0"".rang"")")
Et zou... dans la boite à idées
Merci
Salutations
JJ


"Michel Gaboly" a écrit dans le message de news:

Re,

De rien.

Je craignais que ma réponse t'ait échappé, ce qui n'est visiblement pas le
cas ;-))


Pour avoir lerang explicitement sous la forme "oranges(1.rang)", il faut
aapter ainsi la formule :

=INDEX(DECALER(Réf;0;-1);EQUIV(PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) +
1);Réf;0)) & TEXTE(LIGNE() - LIGNE(Réf) + 1;"""
(""0"".rang"")")


Bonsoir Michel Gaboly,

merci pour cette élaboration très didactique
qui est probablement plus pratique pour
une grande ou croissante sélection.

Bonne soirée !



Bonsoir,

En combinant PETITE.VALEUR(), LIGNE(), INDEX() et EQUIV():

Nommons "Réf" (sans guillemet), la plage contenant les valeurs en B

Dans ue colonne quelconque, sur la même ligne que la preière valeur en B,
entrons cette formule :

=PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) + 1)

et recopions vers le bas sur le nb de lignes nécessares (5 dans
l'exemple)

On récupère les valeurs de la colonne B triées

Ensuite avec un DECALER(), pour chercher le contenu de la colonne
précédente et INDEX()/EQUIV(), on récupère les intitulés:

=INDEX(DECALER(Réf;0;-1);EQUIV(E2;Réf;0))

NB - La formule précédente était en colonne E dans mon test.


On peut se contenter d'une colonne unique avec cette formule :

=INDEX(DECALER(Réf;0;-1);EQUIV(PETITE.VALEUR(Réf;LIGNE() - LIGNE(Réf) +
1);Réf;0))


NB - Le défaut du système est que cela ne fonctionne que si toutes les
valeurs sont différentes : si fraises et framboises sont toutes à 10, on
pourra récupérer fraises ou framboises, en fonction de l'ordre
d'appartition dans le tableau, mais pas les 2

exemple : http://cjoint.com/?klrSMoJeDj

Bonjour,

je cherche une fonction (sans VBA) qui me donne la valeur correspondante
aux rangs des minima dans
le tableau d'exemple suivant

A: B : C: (resultat espéré de la
fonction)
poires 5 oranges(1.rang)
pommes 8 poires (2.rang)
fraises 12 pommes (3.rang)
fromboises 10 fromboises (4.rang)
oranges 3 fraises (5.rang)

en un mot qui simulerait un tri des données dans
une colonne séparée.

P.S. : Je ne suis pas très en forme ces jours-ci
Veuilez donc excusez la naiveté de ma question,s.v.p.
Merci !




--
Cordialement,

Michel Gaboly
www.gaboly.com





--
Cordialement,

Michel Gaboly
www.gaboly.com



1 2