XL 2019 Fonction Gauche et Droite : extraire la cote d'une équipe

gthe

XLDnaute Junior
Bonsoir,

Je souhaiterais extraire les cotes de Nice (l'équipe choisie étant nommée en K1) sur un ensemble de matchs donnés dont les caractéristiques sont en colonnes A à G.

Les cotes de Nice sont en colonnes D et F (colonne D : Nice joue à Domicile et colonne F : Nice joue à l'Extérieur).

Les équipes rencontrées sont en colonne B. Par convention si on note la rencontre entre deux équipes "X - Y", alors X joue à domicile et Y à l'extérieur.

Il s'agit d'un Excel que je souhaiterais automatiser en fonction de l'équipe dont je souhaite extraire les cotes (en d'autres termes, rien ne doit bouger dans les colonnes A à G).

Sachant que les espaces en fin de cellule dans les cellules de la colonne B sont parfois aléatoires, comment faire afficher à coup sûr toutes les cotes de Nice (équipe en K1) dans la colonne K, match par match ?
(J'ai tenté de bricoler un truc avec Droite et Gauche en I et J pour obtenir la formule en K, mais rien ne se passe comme prévu... je suis dessus depuis 45 min :eek:).

Je vous remercie !
p.j : fichier joint.
 

Pièces jointes

  • calculs histo cotes.xlsx
    16.8 KB · Affichages: 19
Solution
Re

La lumière s'est allumée .... ;) formule à recopiée vers le bas.

=SI(GAUCHE(B3;NBCAR($K$1))=$K$1;D3;SI(DROITE(SUBSTITUE(SUBSTITUE(B3;CAR(160);CAR(32));CAR(32);"");NBCAR($K$1))=$K$1;F3;""))

*Par contre ligne 8 ==> on ne trouvera pas Nice ==> Nice (Fra) car la comparaison se fait sur les 4 derniers caractère donc Fra)

@Phil69970

gthe

XLDnaute Junior
Bonsoir @Phil69970 ,

Du grand art ! Réussir à me faire trouver le résultat escompté en une seule formule, c'est fort !

Surtout que j'avais abouti à une solution malheureusement bien complexe en termes de temps consacré (et notamment parce que je m'étais rendu compte que certains espaces à la fin des cellules en B sont insécables).

Juste une dernière subtilité : sais-tu comment faire pour n'afficher que les cellules dont les cotes sont légitimes (c.a.d que celles qui sont commandées par I1) ? (par exemple : si je tape "Monaco", il ne devrait pas y avoir de cote qui s'affiche pour le match "Nice-Brest", mais je dois bien avoir toutes les cotes de Monaco, chaque fois que cette équipe joue, aussi bien à Domicile qu'à l'Extérieur).

J'avais fini par aboutir à une solution (que je poste) mais malheureusement trop complexe :(
(du moins, infiniment plus longue que la tienne).

Encore merci !
Je te réponds demain ;)
 

Pièces jointes

  • calculs histo cotes FINAL.xlsx
    26.4 KB · Affichages: 7

Phil69970

XLDnaute Barbatruc
Re

Juste une dernière subtilité : sais-tu comment faire pour n'afficher que les cellules dont les cotes sont légitimes (c.a.d que celles qui sont commandées par I1) ? (par exemple : si je tape "Monaco", il ne devrait pas y avoir de cote qui s'affiche pour le match "Nice-Brest", mais je dois bien avoir toutes les cotes de Monaco, chaque fois que cette équipe joue, aussi bien à Domicile qu'à l'Extérieur).
Réexplique lentement car j'ai pas trop compris ce que tu veux et surtout ou tu le veux !
Un fichier avec plusieurs exemple.....Stp

@Phil69970
 

Phil69970

XLDnaute Barbatruc
Re

La lumière s'est allumée .... ;) formule à recopiée vers le bas.

=SI(GAUCHE(B3;NBCAR($K$1))=$K$1;D3;SI(DROITE(SUBSTITUE(SUBSTITUE(B3;CAR(160);CAR(32));CAR(32);"");NBCAR($K$1))=$K$1;F3;""))

*Par contre ligne 8 ==> on ne trouvera pas Nice ==> Nice (Fra) car la comparaison se fait sur les 4 derniers caractère donc Fra)

@Phil69970
 
Dernière édition:

gthe

XLDnaute Junior
Bonjour @goube, @Phil69770, le fil,

@Phil69970 , ne pouvant pas me connecter sur mon ordi de boulot je ne peux pas vraiment transmettre de fichier, mais la formule ne fonctionne pas (par exemple Lille-Nice ligne 4 il me trouve 1,87 au lieu de 4,52). C'est dommage c'était bien recherché... mais je pense que j'étais pas assez clair, pauvre de moi :eek:

Je me suis sans doute mal exprimé mais l'idée est que la colonne I ne doit pas relever de valeur "interdite" (par ex si je mets "Monaco" dans la case jaune mais que je suis sur le match "Lille-Nice", il ne doit rien afficher comme cote (case vide très exactement, car après je fais un traitement statistique avec toute la colonne I). Par contre tous les matchs où Monaco joue doivent faire apparaître sa côte (en domicile s'il joue a domicile et en extérieur s'il joue à l'extérieur).
En d'autres termes si Monaco est dand la case jaune, seules 3 cotes doivent apparaître dans la colonne I (et je peux ensuite directement faire un traitement statistique dessus).

@Phil69970 , la deuxième subtilité (si utilisation de Gauche et Droite) c'est que la formule (le cas échéant) doit prendre garde à distinguer deux équipes dont le dernier groupe de lettres de l'une corresponde au nom de l'autre (j'ai pas d'exemple en tête mais si je prends des exemples imaginaires du style Mali contre Somali alors Droite(Somali;4) donne aussi Mali et donc Gauche(Mali;4) = Droite(Somali;4) = mali [enfin voilà l'idée parcr que ma syntaxe est useless là...].

@goube, merci c'est sympa faut que je regqrde comment tu as fait et combien de temps ça t'a pris, mais ayant regardé rapidement il me semblr qu'il n'y a pas d'erreur !

Merci beaucoup :)
 

gthe

XLDnaute Junior
Re

Pour moi ma formule fonctionne dans le fichier joint


@Phil69970
Hello,
C'est moi qui suit nouille. J'avais repris un fichier dont la case jaune était en I1 au lieu de K1... :)

Bah félicitations, tu as réussi !!

1000 mercis. Grâce a toi ce qui me prenait 10 minutes me prendra 5 secondes :D

Je vais rajouter une colonne pour rajouter à la main les cas particuliers comme Nice (Fra) par exemple.
A moins que tu sais comment prendre en compte "1 requête ou 2" au lieu d'une seule ? :D (par exemple je mets "Nice" et "Nice (Fra)" dans 2cases jaunes ; et il trouve les cotes de Nice et Nice (Fra)).

Sinon je me contenterai d'une fonction si supplémentaire en dans la colonne des cotes affichées pour dire que si quelque chose est écrit à côté alors le prendre en compte à sa place :)
Ou encore plus simple : rechercher (Fra) + remplacer par rien et hop Nice (Fra) devient Nice et exit le problème de la ligne 8 :D
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 088
Messages
2 085 201
Membres
102 816
dernier inscrit
bolivier