Recherche valeur dans une plage et obtenir valeur colonne -1 et ligne -5

Bonjour,

Je sollicite vos lumières car mes quelques recherches ne donnent rien.

A partir d'une liste de joueurs avec des notes, j'essaie d'obtenir les équipes le plus équilibrées.

il s'agit d'équipes 5 contre 5. Chacun des 10 joueurs présents à une cession sont listés avec leur note et leur rang de 1 à 10.

j'ai mis toutes les combinaisons possibles (124) dans la feuille "combinaisons" du fichier joint avec pour chacune d'elles la somme des notes de chaque équipe.

Ensuite de faire la différence en valeur absolue, mon but étant de trouver les compositions les plus équilibrées c'est-à-dire le plus proche de 0.

J'ai donc pu trouver les 10 résultats les plus équilibrées avec la formule =PETITE.VALEUR de 1 à 10. Mon souci est de récupérer la liste de joueurs s'y rapportant.

En ligne 7 se trouvent pour chaque combinaison les valeurs absolues des sommes des notes de l'Equipe A - sommes des notes de l'Equipe B

Exemple en C23 est la plus petite valeur des résultats de ligne 7, en recherchant manuellement ce résultat se trouve en QY7.

Je cherche à mettre en B18, la valeur qui se trouve 1 colonne avant et 5 lignes au-dessus de QY7 soit QX2 en l'occurrence et ainsi de suite et tout ceci sans macro car mon fichier se trouve sur Google Sheet.

J'espère avoir été clair :)

Un grand merci pour votre aide.

Bonne journée

18futsal-comb.zip (314.99 Ko)

Bonjour Berny,

Si cette question concerne Google sheets, envoyez un lien d'accès à une copie de votre fichier...

Je ne pense pas que beaucoup de personnes vont prendre le risque de décompresser un .zip sur leur ordinateur, en tous cas, pas moi...


Merci,

Cordialement,

Fil.

Bonjour Fil,

désolé, j'avais joint un fichier excel, je ne sais pas pourquoi cela l'a mis en zip.

voici le lien googlesheet, https://docs.google.com/spreadsheets/d/1HshJTWVYTmha942FHaCtYvL1dEIEA8vy/edit#gid=1516388859

merci

Voilà :

=byrow($A$2:$A$6;lambda(n;INDEX($A$1:$RS$7;n+1;XMATCH($C$23;$A$7:$RS$7)-1)))

https://docs.google.com/spreadsheets/d/1QteMxd76BIJ8F0PQQAs6b1mJQBJMm_9T/edit?usp=sharing&ouid=10037...

Un grand merci fil mais du coup il n'y a que la 1ère ligne qui a une formule pour les autres joueurs de l'équipe A c'est du texte et l'équipe B il n'y a pas de formule.

J'ai essayé d'appliquer et modifier ta formule aux autres cellules mais j'avoue ne pas la comprendre. Si tu peux me dire.

Encore désolé je dois être trop mauvais ^^

Merci beaucoup

Je vais regarder ça, mais ce n'était pas dans la demande initiale, c'est pourquoi je ne l'ai pas fait... 😁

C'est fait...

=byrow($A$2:$A$6;lambda(n;INDEX($A$1:$RS$13;n+8;XMATCH($C$23;$A$7:$RS$7)-1)))


Vraiment un immense merci pour tes lumières. Je ne comprends pas grand chose à la formule. J'essaierai de l'étudier plus tard pour ma connaissance personnelle.

Au risque d'abuser, nous avons de temps de ne temps des rencontres en 6 contre 6. J'ai la même recherche de compositions les plus équilibrées mais au lieu de 120 combinaisons possibles, j'en ai 720. impossible pour moi de rentrer manuellement toutes les compositions. Faut-il passer par le VBA ? peut-être ouvrir un nouveau fil de discussion.

Quoiqu'il en soit encore un grand merci pour la solution trouvée à mon problème. c'est très appréciable :)

Bonjour Berny,

Pour la formule :

Index renvoie le contenu d'une cellule en fonction de son numéro de ligne et de colonne.

Xmatch nous permet de trouver le numéro de colonne des valeurs que l'on recherche.

Byrow...lambda répète l'opération 5 fois (pour les lignes 2 à 6).

Dans l'exemple de l'équipe A :

Xmatch trouve le numéro de colonne de la valeur, on utilise ce résultat -1 pour avoir la colonne où sont affichées les noms.

On affiche les noms souhaités avec Index (ligne 2 colonne trouvée -1, ligne 3 colonne trouvée-1...).

Byrow lamba affiche pour les 5 lignes directement.

Grosso modo, ça fonctionne comme ça !

Peux-tu clôturer le sujet, si la réponse te convient, stp ?

Il veut mieux ouvrir un autre fil, car la requête est différente.

Merci.

Fil.


merci beaucoup pour tes explications. Encore merci pour ton aide :)

Rechercher des sujets similaires à "recherche valeur plage obtenir colonne ligne"