| Voir le sujet précédent :: Voir le sujet suivant |
| Auteur |
Message |
jaclam Fidèle


Inscrit le: 23 Jan 2004 Messages: 117
|
Posté le: 16 Juin 2008 17:23 Sujet du message: Fonction Rang insuffisante |
|
|
Bonjour à tous
Je "m'amuse" actuellement à faire un tableau Excel pour le suivi de l'Euro 2008. En fait, j'essaie de reproduire un tableau qui était libre en téléchargement et pour lequel - bien naturellement- l'auteur a masqué les formules et a protégé la feuille par mot de passe. Je suis certain qu'il y a une kyrielle de lignes et/ou colonnes de calculs intermédiaires qui ont été masquées.
Son tableau est sans aucune macro.
J'ai un problème consistant à prendre un deuxième critère de tri en cas d'ex-aequo et faire de telle sorte que les deux numéro 1 par exemple deviennent le n° 1 et n° 2 (le 1er critère est le nombre de points et 2ème critère serait le nom de l'équipe par ordre alphabétique).
Quelle formule faudrait-il utiliser ?
J'avais d'abord pensé :
1 - calculer le rang sur le nombre de points
2 - concaténer le Numéro de rang calculé + le nom de l'équipe ce qui donnerait par exemple "1France" (oops désolé pour l'exemple ! )
3 - mettre ce résultat dans un nouveau champ
4 - et enfin recalculer l'ordre sur ce dernier champ ; seulement, la fonction Rang ne marche pas sur le d'alpha
Bien évidement, je ne veux faire aucune macro puisque c'est possible.
Je suis sur ce problème depuis plusieurs heures si donc vous pouvez m'aider je vous en suis infiniment reconnaissant
Merci beaucoup _________________ Il n'y a pas de solution ? Il n'y avait pas de problème ! |
|
| Revenir en haut |
|
 |
D-D-Du-06 Nouveau

Inscrit le: 04 Juin 2008 Messages: 6
|
Posté le: 16 Juin 2008 19:13 Sujet du message: |
|
|
Bonjour,
j'ai réalisé un tableur de ce type pour mon fils... Il faut en effet faire une table intermédiaire avec tout les calculs... pour ensuite faite le tableau de classement.
Pour cela j'ai procédé ainsi dans une feuille de calcul masquée:
1 colonne classement par les points (victoire, défaites, nul) [k];
1 colonne classement par la différence de but [L];
1 colonne classement par la meilleure attaque [M];
1 colonne avec la formule suivante [N]:
=(K3*10000)+(L3*100)+(M3*1)
Dans la même feuille la colonne [A] calcule le RANG sur cette dernière colonne [N].
Voilà, pour le "coeur" du systéme...
A+
D D Du 06 |
|
| Revenir en haut |
|
 |
jaclam Fidèle


Inscrit le: 23 Jan 2004 Messages: 117
|
Posté le: 17 Juin 2008 10:56 Sujet du message: |
|
|
Merci pour ta réponse
1)- Ca a l'air de marcher pour le calcul du rang, bien que je ne comprenne pas toute la mécanique de la formule :
- à quoi correspondant les coefficients multiplicateurs (10000 - 1000 et 1 ) appliqués aux points , différences de buts et meilleure attaque ?
- je suppose d'ailleurs que meilleure attaque = nombre de matchs gagnés ?
2)- Ca marche excepté à l'heure actuelle pour France et Italie qui sont toutes les deux au rang 3 car elles ont des résultats en tous points identiques. Cf tableau ci-dessous :
où "Résult" contient le calcul de la formule.
La France devrait être en 3 et l'Italie en 4 compte tenu du classement alphabétique. Comment peut-on inclure ce critère supplémentaire ? Je sais que ça va changer ce soir (Brrrr !) mais je tiens à satisfaire ma curiosité intellectuelle.
3- Et enfin, pour en revenir au tableau que j'ai téléchargé :
et que j'essaie de reproduire, au fur et à mesure que l'on remplit les résultats des matchs dans la plage "Eliminatoires", il doit y avoir toute une série de calculs intermédiaires cachés et la plage "Résultats" se met à jour en temps réel, en reclassant sur 4 lignes les 4 équipes d'un groupe par ordre de rang. On voit bien là que la France est en 3 et l'Italie en 4.
Comment arriver à cette ultime "prouesse" ? Toujours sans macro !
Merci et bonne journée _________________ Il n'y a pas de solution ? Il n'y avait pas de problème ! |
|
| Revenir en haut |
|
 |
jaclam Fidèle


Inscrit le: 23 Jan 2004 Messages: 117
|
Posté le: 17 Juin 2008 14:20 Sujet du message: |
|
|
Suite mais pas fin
Point 3 résolu ! Grâce aux fonctions Index et Equiv combinées, on peut faire des merveilles . La mise à jour en temps réel fonctionne.
Reste donc mes autres questions
Merci beaucoup _________________ Il n'y a pas de solution ? Il n'y avait pas de problème ! |
|
| Revenir en haut |
|
 |
D-D-Du-06 Nouveau

Inscrit le: 04 Juin 2008 Messages: 6
|
Posté le: 17 Juin 2008 15:27 Sujet du message: |
|
|
ReBonjour,
ma formule est une petite bidouille on doit pouvoir faire autrement, mais plus d'infos sur son fonctionnement.
Dans un tableau je calcule les points appaortées par les victoires, etc... le nombre de buts encaissés et marqués, la différence entre les deux...
Ensuite, dans les colonnes K, L, M je procéde à différents classement en ordre décroissant (de 4 vers 1):
=RANG(C3;C$3:C$6;1) le rang en fonction des points;
=RANG(J3;J$3:J$6;1) le rang en fonction de la différence de buts (goal average);
=RANG(H3;H$3:H$6;1) le rang en fonction du plus grand nombre de buts marqués (meilleure attaque) NB ce point n'est pas au réglement de l'EURO 2008 ;-) ...
Donc si une équipe a le plus de points = 4
meilleure différence de buts = 4
meilleure attaque (plus de buts marqués) = 4
La formule:
=(K3*10000)+(L3*100)+(M3*1)
se contente de faire de tout ça un nombre, 40404
C'est ce nombre qui servira à faire le classement dans la feuille apparente.
En conséquence,
Si les Pays Bas- battent la Roumanie 2 à 1
Si Italie et France font encore match nul, seront seconds: 30000
Si match nul avec 1-1 entres elles, la différence de buts est à l'avantage des italiens 30200, France 30100 (mais la Roumanie fait mieux, elle a un meilleur goal average: 3 pour ce critère, donc 20300);
Enfin meilleure attaque, Italie 1 but de plus que la France et Roumanie, donc Italie au final 30203, la France 30102
Les Pays Bas- battant la Roumanie 2 à 1 : Pays bas 40404 (en tête pour tous les critères), Roumanie 20302
Envisage d'autres scénario, la bidouille fonctionne assez bien (trois critéres de départage)... Mais c'est juste une "formule maison".
Voilà...
A+
D D Du 06 |
|
| Revenir en haut |
|
 |
D-D-Du-06 Nouveau

Inscrit le: 04 Juin 2008 Messages: 6
|
Posté le: 17 Juin 2008 15:59 Sujet du message: |
|
|
ReReBonjour,
cette formule:
=CODE(B8)
Permet de renvoyer une valeur numérique par rapport à la première lettre d'un texte. L'ordre est croissant A =97, Z =122... pour un tri alphabétique peut-être.
Voilà...
A+
D D Du 06 |
|
| Revenir en haut |
|
 |
jaclam Fidèle


Inscrit le: 23 Jan 2004 Messages: 117
|
Posté le: 19 Juin 2008 12:52 Sujet du message: |
|
|
Re-bonjour
| D-D-Du-06 a écrit: |
En conséquence,
Si les Pays Bas- battent la Roumanie 2 à 1Si Italie et France font encore match nul, seront seconds: 30000
Si match nul avec 1-1 entres elles, la différence de buts est à l'avantage des italiens 30200, France 30100 (mais la Roumanie fait mieux, elle a un meilleur goal average: 3 pour ce critère, donc 20300);
Enfin meilleure attaque, Italie 1 but de plus que la France et Roumanie, donc Italie au final 30203, la France 30102
Les Pays Bas- battant la Roumanie 2 à 1 : Pays bas 40404 (en tête pour tous les critères), Roumanie 20302 |
Oops je suis en train de fumer. J'attends de refroidir pour ré-essayer ta formule et arriver au même résultat.
Pour la fonction CODE(), je connais mais le hic c'est que je ne sais pas où l'intercaler dans le déroulement du scénario.
Enfin je garde courage.
A + et merci _________________ Il n'y a pas de solution ? Il n'y avait pas de problème ! |
|
| Revenir en haut |
|
 |
|
|
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum
|
|