Extraire une valeur dans une ligne sur la base de la valeur

Bonjour les ami(e)s

je vous remercie pour vos effort , j'ai appris beaucoup de choses ici.. merci infiniment

de toute façon, j'ai un projet ;un mini-marathon entre les écoles de ma région.

de sorte que le résultat sera dans un tableau (comme vous trouverez dans le fichier ci-joint) qui contient ÉCOLE NOM DE COUREUR CLASSEMENT

les écoles ont des lettres particulières (A + B + C) et le nom de coureur et le classement

ce tableau est rempli manuellement.

j'ai besoin de déterminer l'équipe-école gagnante. et pour cela j'ai besoin d'extraire automatiquement le classement du 1er coureur + 2ème et le 3ème de chaque école et y mettre ce classement dans une autre table, puis faire un calcul pour déterminer le gagnant.

dans le fichier ci-joint vous voyez le premier (tableau rempli manuellement) à gauche et le résultat que cela devrait être dans un tableau sur la droite.

J'espère que j'ai éclairci mon soucis.

merci beaucoup

41marathon.xlsx (12.66 Ko)

bonjour

un essai

si ok il sera possible d'ameliorer ( notement la saisie en brut dans formule)et eventuellent d'afficher le classement final (the winner is )

40the-cute.zip (7.12 Ko)

cordialement

Bonsoir @ tous,

la fonction INDEX() n'est pas nécessaire ici, en J6,

=PETITE.VALEUR(SI($E$2:$E$10=$I6;$G$2:$G$10);COLONNES($J:J))

@ valider par Ctrl+Maj+Entree

@ tirer vers le bas et vers la droite

@ micalement

tulipe_4 a écrit :

bonjour

un essai

si ok il sera possible d'ameliorer ( notement la saisie en brut dans formule)et eventuellent d'afficher le classement final (the winner is )

cordialement

Merci enormement, je vais me débrouiller pour THE WINNER IS .

merci beaucoup Tulipe_4


R@chid a écrit :

Bonsoir @ tous,

la fonction INDEX() n'est pas nécessaire ici, en J6,

=PETITE.VALEUR(SI($E$2:$E$10=$I6;$G$2:$G$10);COLONNES($J:J))

@ valider par Ctrl+Maj+Entree

@ tirer vers le bas et vers la droite

@ micalement

oui apparemment que ton code est plus simple ..

Merci beaucoup pour l'atout.

je vous remercie tous .

Amicalement

re salut r@chid

apres tout il y avait beaucoup plus simple

'=SOMMEPROD(($E$2:$E$10=$I6)*($G$2:$G$10))

qui renvoyait le total par lettre meme chose avec somme.si

cordialement

tulipe_4 a écrit :

re salut r@chid

apres tout il y avait beaucoup plus simple

'=SOMMEPROD(($E$2:$E$10=$I6)*($G$2:$G$10))

qui renvoyait le total par lettre meme chose avec somme.si

cordialement

j'ai testé un code pour me renvoyer le gagnant (voir le fichier attaché) j'ai pu avoir le 3éme mais pas le 2eme et le gagnant.

34the-cute.xlsx (12.12 Ko)

Bonsoir @ tous,

@ Tulipe,

J'ai pas compris que veux tu faire par SOMMEPROD(),

@ thecute,

essayer par exemple,

=INDEX(I$6:I$8;EQUIV(GRANDE.VALEUR(M$6:M$8;LIGNES($12:12));M$6:M$8;0))

@ tirer vers le bas

@ micalement

R@chid a écrit :

Bonsoir @ tous,

@ Tulipe,

J'ai pas compris que veux tu faire par SOMMEPROD(),

@ thecute,

essayer par exemple,

=INDEX(I$6:I$8;EQUIV(GRANDE.VALEUR(M$6:M$8;LIGNES($12:12));M$6:M$8;0))

@ tirer vers le bas

@ micalement

Merci R@achid ..

c'est pour le 3éme je pense, et quoi faire pour avoir le 2éme et le 1er ? j'ai essayer de changer 0 par 1 ou 2 mais sans succès .

j'ai tiré vers le bas mais ile me donne

c

b

b

alors que a est le premier !!

re

voila et ;cela traite meme les exequo

38the-cute.zip (8.00 Ko)

cordialement

tulipe_4 a écrit :

re

voila et ;cela traite meme les exequo

cordialement

c'est vraiment génial ça

mais juste une petite rectification, le 1er est celui qui a le plus petit score , et le 3ème est celui avec le plus grand score.


tulipe_4 a écrit :

re

voila et ;cela traite meme les exequo

cordialement

c'est parfait maintenant..

je te remercie infiniment ..

rerrererere

c'est gentil de le preciser a 00:00h 8)

23the-cute3.zip (7.98 Ko)

il suffisait de remplacerGRANDEpar PETITE et en passant de mettreles$$$ que j'avais oublié a nb.si

cordialement

Bonsoir @tous,

@ the cute,

la formule que je t'ai donné va te donner les 3 c'est pas le 3eme seulement il suffit de la tirer vers le bas comme j'ai précisé , mais il restera le problème d'exaequo comme il a dit tulipe...

si tu es intéressé je peux te donner une formule qui te fait tout ça sans avoir besoin de la colonne Total (verte)...

Amicalement

Bonsoir,

avant d'aller faire dodo,

voi PJ

la formule est :

=SIERREUR(INDEX(I$6:I$8;EQUIV(PETITE.VALEUR(SOUS.TOTAL(9;DECALER(J$5:L$5;LIGNE(INDIRECT("1:"&LIGNES(J$6:L$8)));));LIGNES($6:6));SI(NB.SI(O$5:O5;I$6:I$8)=0;SOUS.TOTAL(9;DECALER(J$5:L$5;LIGNE(INDIRECT("1:"&LIGNES(J$6:L$8)));)));0));"")

@ valider par Ctrl+Maj+Entree

@ tirer vers le bas

@ micalement

23the-cute.xlsx (12.11 Ko)

Bonsoir

je voudrais avoir une idée sur cette formule :

=INDEX(Feuil1!$G$2:$G$10;PETITE.VALEUR(SI(Feuil1!$E$2:$E$10=$I6;LIGNE(Feuil1!$E$2:$E$10)-1;"");COLONNE(A$1)))

pourquoi COLONNE(A$1) comme un "k" de la fonction petite.valeur ??

parce que quand j'ai déplacé et changé les cellule la même formule me renvoi #NOMBRE par ce que j'ai déplacer mon tableau alors que A1 est occupé par un intitulé du tableau.

MERCI

bonsoir

c'est normal car c'est une fonction matricielle (en gros qui fait plusieurs chose en meme temps) pour qu'elle remarche il faut la valider

en faisant comme Rachid te l'a marqué en rouge

en passant je ne suis pas sur qu'il y avait un $ entre le Aet le 1 a COLONNE(A1)mais probablement avant le A

bonne continuation;cordialement

Rechercher des sujets similaires à "extraire valeur ligne base"