grande valeur et index equiv

Le
Circé
Bonjour à tous,

Je crois que je vais encore vous prendre la tête avec mes histoires de
matricielles !!! :D)))

Pour ceux et celles qui n'auraient pas suivi, je reprend mon histoire :

J'ai un tableau de x colonnes avec, entre autres, une colonne Pays et
une colonne Montant.
Je souhaite obtenir dans d'autres tableaux (un tableau par pays) les 5
plus grandes valeurs (colonne Montant) pour ce pays.

Pour cela, je mets le nom du pays en A1 et j'utilise la matricielle
suivante :
{=GRANDE.VALEUR((PAYS=$A$1)*Montant;1)}
jusqu'à 5

Une fois que j'ai obtenu mes 5 plus grandes valeurs, ça ne me suffit
pas car il faut quand même que sache à quoi elles correspondent. Je
refais donc une matricielle avec INDEX et EQUIV pour trouver la
correspondance, par exemple trouver le client. Supposant que ma formule
grande.valeur se trouve en A3:
{=INDEX(Client;EQUIV($A3;(Pays=$A$1)*Prévisionnel;0))}

Tout va très bien ! SAUF bien entendu si j'ai, pour le même pays,
plus d'une fois la même valeur
Et là, vous avez tout compris, ma fomule INDEX trouve toujours la
première

J'ai pas l'impression qu'une fomule suffira. Peut être une macro ?

J'ai mis un exemple très allégé ici :
http://cjoint.com/?kiljjW5oTI

Par avance, merci à tous

Circé
http://faqword.fr
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel.C
Le #17456891
Bonjour.
Matricielles :
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);1)-1;1)
et
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);2)-1;1)
Ca donne mimi avant lulu; c'est jouable ?
--
Cordialement.
Daniel
"Circé"
Bonjour à tous,

Je crois que je vais encore vous prendre la tête avec mes histoires de
matricielles !!! :D)))

Pour ceux et celles qui n'auraient pas suivi, je reprend mon histoire :

J'ai un tableau de x colonnes avec, entre autres, une colonne Pays et une
colonne Montant.
Je souhaite obtenir dans d'autres tableaux (un tableau par pays) les 5
plus grandes valeurs (colonne Montant) pour ce pays.

Pour cela, je mets le nom du pays en A1 et j'utilise la matricielle
suivante :
{=GRANDE.VALEUR((PAYS=$A$1)*Montant;1)}
jusqu'à 5

Une fois que j'ai obtenu mes 5 plus grandes valeurs, ça ne me suffit pas
car il faut quand même que sache à quoi elles correspondent. Je refais
donc une matricielle avec INDEX et EQUIV pour trouver la correspondance,
par exemple trouver le client. Supposant que ma formule grande.valeur se
trouve en A3:
{=INDEX(Client;EQUIV($A3;(Pays=$A$1)*Prévisionnel;0))}

Tout va très bien ! SAUF... bien entendu si j'ai, pour le même pays, plus
d'une fois la même valeur...
Et là, vous avez tout compris, ma fomule INDEX trouve toujours la
première...

J'ai pas l'impression qu'une fomule suffira. Peut être une macro ?

J'ai mis un exemple très allégé ici :
http://cjoint.com/?kiljjW5oTI

Par avance, merci à tous

Circé
http://faqword.fr




AV
Le #17457071
En adoptant la disposition de ton exemple et ses plages nommées...

* Sélection PREALABLE de A17:A21
* Saisie dans la barre de formule :
=GRANDE.VALEUR((PAYS=$A$16)*Montant;{1;2;3;4;5})
* validation par ctrl+maj+entrée

puis....

* Sélection PREALABLE de B17:B21
* Saisie dans la barre de formule :
=INDEX(CLIENT;EQUIV(GRANDE.VALEUR((PAYS=$A$16)/LIGNE(Montant)*0.999;{1;2;3;4;5});(PAYS=$A$16)/LIGNE(Montant)*0.999;0))
* validation par ctrl+maj+entrée

http://cjoint.com/?kimeSx8BVQ

AV
Corto
Le #17457051
Bonjour Circé,
en B17 :
=INDEX(CLIENT;EQUIV($A17;(PAYS=$A$16)*(CLIENT<>B16)*Montant;0)), vali der
par Ctrl+Maj+Enter puis recopier.

http://cjoint.com/?kimnWtFGER
Corto

Circé a écrit :
Bonjour à tous,

Je crois que je vais encore vous prendre la tête avec mes histoires d e
matricielles !!! :D)))

Pour ceux et celles qui n'auraient pas suivi, je reprend mon histoire :

J'ai un tableau de x colonnes avec, entre autres, une colonne Pays et
une colonne Montant.
Je souhaite obtenir dans d'autres tableaux (un tableau par pays) les 5
plus grandes valeurs (colonne Montant) pour ce pays.

Pour cela, je mets le nom du pays en A1 et j'utilise la matricielle
suivante :
{=GRANDE.VALEUR((PAYS=$A$1)*Montant;1)}
jusqu'à 5

Une fois que j'ai obtenu mes 5 plus grandes valeurs, ça ne me suffit
pas car il faut quand même que sache à quoi elles correspondent. Je
refais donc une matricielle avec INDEX et EQUIV pour trouver la
correspondance, par exemple trouver le client. Supposant que ma
formule grande.valeur se trouve en A3:
{=INDEX(Client;EQUIV($A3;(Pays=$A$1)*Prévisionnel;0))}

Tout va très bien ! SAUF... bien entendu si j'ai, pour le même pays ,
plus d'une fois la même valeur...
Et là, vous avez tout compris, ma fomule INDEX trouve toujours la
première...

J'ai pas l'impression qu'une fomule suffira. Peut être une macro ?

J'ai mis un exemple très allégé ici :
http://cjoint.com/?kiljjW5oTI

Par avance, merci à tous

Circé
http://faqword.fr




Daniel.C
Le #17457411
Salut, Corto.
Ta formule ne fonctionne que s'il n'y a que deux ex aequo.
--
Cordialement.
Daniel
"Corto" uT%
Bonjour Circé,
en B17 :
=INDEX(CLIENT;EQUIV($A17;(PAYS=$A$16)*(CLIENT<>B16)*Montant;0)), valider
par Ctrl+Maj+Enter puis recopier.

http://cjoint.com/?kimnWtFGER
Corto

Circé a écrit :
Bonjour à tous,

Je crois que je vais encore vous prendre la tête avec mes histoires de
matricielles !!! :D)))

Pour ceux et celles qui n'auraient pas suivi, je reprend mon histoire :

J'ai un tableau de x colonnes avec, entre autres, une colonne Pays et une
colonne Montant.
Je souhaite obtenir dans d'autres tableaux (un tableau par pays) les 5
plus grandes valeurs (colonne Montant) pour ce pays.

Pour cela, je mets le nom du pays en A1 et j'utilise la matricielle
suivante :
{=GRANDE.VALEUR((PAYS=$A$1)*Montant;1)}
jusqu'à 5

Une fois que j'ai obtenu mes 5 plus grandes valeurs, ça ne me suffit pas
car il faut quand même que sache à quoi elles correspondent. Je refais
donc une matricielle avec INDEX et EQUIV pour trouver la correspondance,
par exemple trouver le client. Supposant que ma formule grande.valeur se
trouve en A3:
{=INDEX(Client;EQUIV($A3;(Pays=$A$1)*Prévisionnel;0))}

Tout va très bien ! SAUF... bien entendu si j'ai, pour le même pays, plus
d'une fois la même valeur...
Et là, vous avez tout compris, ma fomule INDEX trouve toujours la
première...

J'ai pas l'impression qu'une fomule suffira. Peut être une macro ?

J'ai mis un exemple très allégé ici :
http://cjoint.com/?kiljjW5oTI

Par avance, merci à tous

Circé
http://faqword.fr




Corto
Le #17458991
Bonjour Daniel.C,
Je suis rouge de Honte :-[

Corto

Daniel.C a écrit :
Salut, Corto.
Ta formule ne fonctionne que s'il n'y a que deux ex aequo.



Circé
Le #17459301
Re... et merci de vous intéresser à mon big problem ;)

Corto, faut pas rougir, car je n'ai pas encore trouvé la solution !
J'ai donc essayé toutes vos solutions et voilà le résultat :

Daniel : ça ne fonctionne *QUE* pour les ex aequo. Quand ce n'est pas
un ex aequo, ça me donne une erreur #VALEUR!

Corto : ben, comme l'a dit Daniel, ça ne fonctionne qu'avec 2 ex
aequo... Mais je me contenterai de ta solution si on ne trouve rien
d'autre, bien que ce soit quand même ennuyeux, car je ne peux
absolument pas prévoir s'il y aura des ex aequo et combien... :s

AV : j'ai cru au miracle !!! :D
Et comme je n'ai pas compris ta formule, j'ai recopié, et ça me donne
des résultats bizarres que je n'arrive pas à analyser, mais en tous les
cas, ça ne va pas...

Si vous avez envie de regarder de plus près, j'ai ajouté sur le fichier
vos trois solutions et voilà ce que ça donne :
http://cjoint.com/?kipmdVx75a

Circé
http://faqword.fr

Daniel.C avait annoncé :
Bonjour.
Matricielles :
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);1)-1;1)
et
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);2)-1;1)
Ca donne mimi avant lulu; c'est jouable ?
--
Cordialement.
Daniel
"Circé"
Bonjour à tous,

Je crois que je vais encore vous prendre la tête avec mes histoires de
matricielles !!! :D)))

Pour ceux et celles qui n'auraient pas suivi, je reprend mon histoire :

J'ai un tableau de x colonnes avec, entre autres, une colonne Pays et une
colonne Montant.
Je souhaite obtenir dans d'autres tableaux (un tableau par pays) les 5 plus
grandes valeurs (colonne Montant) pour ce pays.

Pour cela, je mets le nom du pays en A1 et j'utilise la matricielle
suivante :
{=GRANDE.VALEUR((PAYS=$A$1)*Montant;1)}
jusqu'à 5

Une fois que j'ai obtenu mes 5 plus grandes valeurs, ça ne me suffit pas
car il faut quand même que sache à quoi elles correspondent. Je refais donc
une matricielle avec INDEX et EQUIV pour trouver la correspondance, par
exemple trouver le client. Supposant que ma formule grande.valeur se trouve
en A3:
{=INDEX(Client;EQUIV($A3;(Pays=$A$1)*Prévisionnel;0))}

Tout va très bien ! SAUF... bien entendu si j'ai, pour le même pays, plus
d'une fois la même valeur...
Et là, vous avez tout compris, ma fomule INDEX trouve toujours la
première...

J'ai pas l'impression qu'une fomule suffira. Peut être une macro ?

J'ai mis un exemple très allégé ici :
http://cjoint.com/?kiljjW5oTI

Par avance, merci à tous

Circé
http://faqword.fr






Daniel.C
Le #17459691
Je suis très fort pour les ex aequo ;-)))
On va sans doute trouver autre chose.
Daniel
"Circé"
Re... et merci de vous intéresser à mon big problem ;)

Corto, faut pas rougir, car je n'ai pas encore trouvé la solution !
J'ai donc essayé toutes vos solutions et voilà le résultat :

Daniel : ça ne fonctionne *QUE* pour les ex aequo. Quand ce n'est pas un
ex aequo, ça me donne une erreur #VALEUR!

Corto : ben, comme l'a dit Daniel, ça ne fonctionne qu'avec 2 ex aequo...
Mais je me contenterai de ta solution si on ne trouve rien d'autre, bien
que ce soit quand même ennuyeux, car je ne peux absolument pas prévoir
s'il y aura des ex aequo et combien... :s

AV : j'ai cru au miracle !!! :D
Et comme je n'ai pas compris ta formule, j'ai recopié, et ça me donne des
résultats bizarres que je n'arrive pas à analyser, mais en tous les cas,
ça ne va pas...

Si vous avez envie de regarder de plus près, j'ai ajouté sur le fichier
vos trois solutions et voilà ce que ça donne :
http://cjoint.com/?kipmdVx75a

Circé
http://faqword.fr

Daniel.C avait annoncé :
Bonjour.
Matricielles :
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);1)-1;1)
et
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);2)-1;1)
Ca donne mimi avant lulu; c'est jouable ?
--
Cordialement.
Daniel
"Circé"
Bonjour à tous,

Je crois que je vais encore vous prendre la tête avec mes histoires de
matricielles !!! :D)))

Pour ceux et celles qui n'auraient pas suivi, je reprend mon histoire :

J'ai un tableau de x colonnes avec, entre autres, une colonne Pays et
une colonne Montant.
Je souhaite obtenir dans d'autres tableaux (un tableau par pays) les 5
plus grandes valeurs (colonne Montant) pour ce pays.

Pour cela, je mets le nom du pays en A1 et j'utilise la matricielle
suivante :
{=GRANDE.VALEUR((PAYS=$A$1)*Montant;1)}
jusqu'à 5

Une fois que j'ai obtenu mes 5 plus grandes valeurs, ça ne me suffit pas
car il faut quand même que sache à quoi elles correspondent. Je refais
donc une matricielle avec INDEX et EQUIV pour trouver la correspondance,
par exemple trouver le client. Supposant que ma formule grande.valeur se
trouve en A3:
{=INDEX(Client;EQUIV($A3;(Pays=$A$1)*Prévisionnel;0))}

Tout va très bien ! SAUF... bien entendu si j'ai, pour le même pays,
plus d'une fois la même valeur...
Et là, vous avez tout compris, ma fomule INDEX trouve toujours la
première...

J'ai pas l'impression qu'une fomule suffira. Peut être une macro ?

J'ai mis un exemple très allégé ici :
http://cjoint.com/?kiljjW5oTI

Par avance, merci à tous

Circé
http://faqword.fr










Daniel.C
Le #17459801
http://cjoint.com/?kiqbFLN8oM

Daniel
"Circé"
Re... et merci de vous intéresser à mon big problem ;)

Corto, faut pas rougir, car je n'ai pas encore trouvé la solution !
J'ai donc essayé toutes vos solutions et voilà le résultat :

Daniel : ça ne fonctionne *QUE* pour les ex aequo. Quand ce n'est pas un
ex aequo, ça me donne une erreur #VALEUR!

Corto : ben, comme l'a dit Daniel, ça ne fonctionne qu'avec 2 ex aequo...
Mais je me contenterai de ta solution si on ne trouve rien d'autre, bien
que ce soit quand même ennuyeux, car je ne peux absolument pas prévoir
s'il y aura des ex aequo et combien... :s

AV : j'ai cru au miracle !!! :D
Et comme je n'ai pas compris ta formule, j'ai recopié, et ça me donne des
résultats bizarres que je n'arrive pas à analyser, mais en tous les cas,
ça ne va pas...

Si vous avez envie de regarder de plus près, j'ai ajouté sur le fichier
vos trois solutions et voilà ce que ça donne :
http://cjoint.com/?kipmdVx75a

Circé
http://faqword.fr

Daniel.C avait annoncé :
Bonjour.
Matricielles :
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);1)-1;1)
et
=INDEX(CLIENT;GRANDE.VALEUR(()*(PAYS=$A$16)*LIGNE(PAYS);2)-1;1)
Ca donne mimi avant lulu; c'est jouable ?
--
Cordialement.
Daniel
"Circé"
Bonjour à tous,

Je crois que je vais encore vous prendre la tête avec mes histoires de
matricielles !!! :D)))

Pour ceux et celles qui n'auraient pas suivi, je reprend mon histoire :

J'ai un tableau de x colonnes avec, entre autres, une colonne Pays et
une colonne Montant.
Je souhaite obtenir dans d'autres tableaux (un tableau par pays) les 5
plus grandes valeurs (colonne Montant) pour ce pays.

Pour cela, je mets le nom du pays en A1 et j'utilise la matricielle
suivante :
{=GRANDE.VALEUR((PAYS=$A$1)*Montant;1)}
jusqu'à 5

Une fois que j'ai obtenu mes 5 plus grandes valeurs, ça ne me suffit pas
car il faut quand même que sache à quoi elles correspondent. Je refais
donc une matricielle avec INDEX et EQUIV pour trouver la correspondance,
par exemple trouver le client. Supposant que ma formule grande.valeur se
trouve en A3:
{=INDEX(Client;EQUIV($A3;(Pays=$A$1)*Prévisionnel;0))}

Tout va très bien ! SAUF... bien entendu si j'ai, pour le même pays,
plus d'une fois la même valeur...
Et là, vous avez tout compris, ma fomule INDEX trouve toujours la
première...

J'ai pas l'impression qu'une fomule suffira. Peut être une macro ?

J'ai mis un exemple très allégé ici :
http://cjoint.com/?kiljjW5oTI

Par avance, merci à tous

Circé
http://faqword.fr










Circé
Le #17461071
Merci AV, c'est tout bon... du vrai sur mesure ! ;)
J'ai compris ta formule, c'est très malin !! ;))

Merci à tous pour votre coopération
Daniel, il manquait un petit grain de magie dans ta formule...

A bientôt

Circé
http://faqword.fr


AV a exprimé avec précision :
Si plus de 2 ex-aequo :

http://cjoint.com/?kip5DOIuoU

AV


Publicité
Poster une réponse
Anonyme