Afin de produire des statistiques lisibles et compréhensibles par tous,
j'aimerais pouvoir afficher dans un tableau a part une sorte de top 5 des
éléments d'une colonne triés selon une autre colonne.
Pour etre plus précis, voici un exemple:
Prenons une classe de 45 élèves,
dans la colonne A vient le nom des élèves
dans la colonne B le nombre d'absences au mois de janvier
dans la colonne C le nombre d'absences au mois de fevrier
et ainsi de suite....
J'aimerais avoir dans un autre tableau, le nom des 5 élèves ayant cumulé le
plus d'absences au mois de janvier puis les 5 du mois de fevrier et ainsi de
suite.
Existe-t-il une formule ou une suite de formules a appliquer pour cela? la
solution du tri par excel par colonnes par mois n'est pas possible, vous
l'aurez compris!!
Merci beaucoup! Ca m'a bien avancé et bcp appris! c sympa. Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier, ta formule m'indique deux fois paul (car alphabetiquement le premier) et non pas pierre et paul! Si tu as une idee Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les formules en francais et en anglais ce qui n'est pas un mal!
Merci beaucoup!
Ca m'a bien avancé et bcp appris! c sympa.
Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier,
ta formule m'indique deux fois paul (car alphabetiquement le premier) et non
pas pierre et paul!
Si tu as une idee
Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les
formules en francais et en anglais ce qui n'est pas un mal!
Merci beaucoup! Ca m'a bien avancé et bcp appris! c sympa. Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier, ta formule m'indique deux fois paul (car alphabetiquement le premier) et non pas pierre et paul! Si tu as une idee Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les formules en francais et en anglais ce qui n'est pas un mal!
test
Merci beaucoup! Ca m'a bien avancé et bcp appris! c sympa. Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier, ta formule m'indique deux fois paul (car alphabetiquement le premier) et non pas pierre et paul! Si tu as une idee Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les formules en francais et en anglais ce qui n'est pas un mal!
Merci beaucoup!
Ca m'a bien avancé et bcp appris! c sympa.
Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier,
ta formule m'indique deux fois paul (car alphabetiquement le premier) et non
pas pierre et paul!
Si tu as une idee
Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les
formules en francais et en anglais ce qui n'est pas un mal!
Merci beaucoup! Ca m'a bien avancé et bcp appris! c sympa. Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier, ta formule m'indique deux fois paul (car alphabetiquement le premier) et non pas pierre et paul! Si tu as une idee Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les formules en francais et en anglais ce qui n'est pas un mal!
Trirème
Bonsoir Test
Dans le fichier de JB... Dans l'onglet 'Vertical' remplace 'absence' par abscence+LIGNE(abscence)/10000 pour obtenir : =INDEX(nom;EQUIV(GRANDE.VALEUR(abscence+LIGNE(abscence)/10000;{1;2;3;4;5});abscence+LIGNE(abscence)/10000;0))
et dans l'onglet 'Horizontal' remplace 'Absence' par Absence+COLONNE(Absence)/10000 pour obtenir : =INDEX(nom;EQUIV(GRANDE.VALEUR(Absence+COLONNE(Absence)/10000;{1;2;3;4;5});Absence+COLONNE(Absence)/10000;0))
Et toujours validation matricielle. Pas cool les deux noms qui changent d'une majuscule :-(
Cela aura pour effet d'ajouter un epsilon basé arbitrairement sur les n° de ligne ou de colonne. En cas d'ex aequo, les élèves situés dans les cellules de N° de ligne élevés (resp colonne) seront choisis.
La division par 10000 dépend de l'ordre de grandeur des écarts 'attendus' entre les ex aequo. CàD si les écarts tiennent au millionième, il faudra diviser par plus grand (1 milliard).
Cordialement, Trirème
Merci beaucoup! Ca m'a bien avancé et bcp appris! c sympa. Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier, ta formule m'indique deux fois paul (car alphabetiquement le premier) et non pas pierre et paul! Si tu as une idee Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les formules en francais et en anglais ce qui n'est pas un mal!
Bonsoir Test
Dans le fichier de JB...
Dans l'onglet 'Vertical' remplace 'absence' par
abscence+LIGNE(abscence)/10000
pour obtenir :
=INDEX(nom;EQUIV(GRANDE.VALEUR(abscence+LIGNE(abscence)/10000;{1;2;3;4;5});abscence+LIGNE(abscence)/10000;0))
et dans l'onglet 'Horizontal' remplace 'Absence' par
Absence+COLONNE(Absence)/10000
pour obtenir :
=INDEX(nom;EQUIV(GRANDE.VALEUR(Absence+COLONNE(Absence)/10000;{1;2;3;4;5});Absence+COLONNE(Absence)/10000;0))
Et toujours validation matricielle.
Pas cool les deux noms qui changent d'une majuscule :-(
Cela aura pour effet d'ajouter un epsilon basé arbitrairement sur les n°
de ligne ou de colonne. En cas d'ex aequo, les élèves situés dans les
cellules de N° de ligne élevés (resp colonne) seront choisis.
La division par 10000 dépend de l'ordre de grandeur des écarts
'attendus' entre les ex aequo. CàD si les écarts tiennent au
millionième, il faudra diviser par plus grand (1 milliard).
Cordialement,
Trirème
Merci beaucoup!
Ca m'a bien avancé et bcp appris! c sympa.
Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier,
ta formule m'indique deux fois paul (car alphabetiquement le premier) et non
pas pierre et paul!
Si tu as une idee
Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les
formules en francais et en anglais ce qui n'est pas un mal!
Dans le fichier de JB... Dans l'onglet 'Vertical' remplace 'absence' par abscence+LIGNE(abscence)/10000 pour obtenir : =INDEX(nom;EQUIV(GRANDE.VALEUR(abscence+LIGNE(abscence)/10000;{1;2;3;4;5});abscence+LIGNE(abscence)/10000;0))
et dans l'onglet 'Horizontal' remplace 'Absence' par Absence+COLONNE(Absence)/10000 pour obtenir : =INDEX(nom;EQUIV(GRANDE.VALEUR(Absence+COLONNE(Absence)/10000;{1;2;3;4;5});Absence+COLONNE(Absence)/10000;0))
Et toujours validation matricielle. Pas cool les deux noms qui changent d'une majuscule :-(
Cela aura pour effet d'ajouter un epsilon basé arbitrairement sur les n° de ligne ou de colonne. En cas d'ex aequo, les élèves situés dans les cellules de N° de ligne élevés (resp colonne) seront choisis.
La division par 10000 dépend de l'ordre de grandeur des écarts 'attendus' entre les ex aequo. CàD si les écarts tiennent au millionième, il faudra diviser par plus grand (1 milliard).
Cordialement, Trirème
Merci beaucoup! Ca m'a bien avancé et bcp appris! c sympa. Dernier petit détail si pierre et paul ont tous deux 4 absences en janvier, ta formule m'indique deux fois paul (car alphabetiquement le premier) et non pas pierre et paul! Si tu as une idee Merci d'avance.
PS: les fichiers joints sont extras et supers parlants, en plus ils ont les formules en francais et en anglais ce qui n'est pas un mal!
JB
Pour une version de formule recopiable (janvier,férier,mars,..):
http://cjoint.com/?dlhQeSHZ3U
Nom Janvier Février Mars Avril Dupont 12 12 12 12 Durand 8 8 8 8 Martin 16 16 5 5 Charlie 13 13 13 21 Lolo 20 12 11 9 Lulu 11 9 9 11 Momo 16 14 14 14 Mimi 10 10 10 10 Lili 5 5 5 5
En colonne H: =INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;COLON NE()-7);{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;COLONNE()-7);0))
-LIGNE(absence)*0,0001 (0,0003 - 0,0004,...) permet de différencier les égalités. -La soustraction conserve l'ordre de la liste des noms
JB
Pour une version de formule recopiable (janvier,férier,mars,..):
http://cjoint.com/?dlhQeSHZ3U
Nom Janvier Février Mars Avril
Dupont 12 12 12 12
Durand 8 8 8 8
Martin 16 16 5 5
Charlie 13 13 13 21
Lolo 20 12 11 9
Lulu 11 9 9 11
Momo 16 14 14 14
Mimi 10 10 10 10
Lili 5 5 5 5
En colonne H:
=INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;COLON NE()-7);{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;COLONNE()-7);0))
-LIGNE(absence)*0,0001 (0,0003 - 0,0004,...) permet de différencier
les égalités.
-La soustraction conserve l'ordre de la liste des noms
Pour une version de formule recopiable (janvier,férier,mars,..):
http://cjoint.com/?dlhQeSHZ3U
Nom Janvier Février Mars Avril Dupont 12 12 12 12 Durand 8 8 8 8 Martin 16 16 5 5 Charlie 13 13 13 21 Lolo 20 12 11 9 Lulu 11 9 9 11 Momo 16 14 14 14 Mimi 10 10 10 10 Lili 5 5 5 5
En colonne H: =INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;COLON NE()-7);{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;COLONNE()-7);0))
-LIGNE(absence)*0,0001 (0,0003 - 0,0004,...) permet de différencier les égalités. -La soustraction conserve l'ordre de la liste des noms
JB
JB
Une seule formule pour tous les mois:
http://cjoint.com/?dlj3ird5NI
-Sélectionner H3:K7 =INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;{1.2. 3.4});{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});0)) -Valider avec Maj+Ctrl+Entrée
Pour les 12 mois, remplacer {1.2.3.4} par {1.2.3.4.5.6.7.8.9.10.11.12}
Nom Janvier Février Mars Avril Dupont 12 12 12 12 Durand 8 8 8 8 Martin 16 16 5 5 Charlie 13 17 13 21 Lolo 20 12 11 9 Lulu 11 9 9 11
JB
Une seule formule pour tous les mois:
http://cjoint.com/?dlj3ird5NI
-Sélectionner H3:K7
=INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;{1.2. 3.4});{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});0))
-Valider avec Maj+Ctrl+Entrée
Pour les 12 mois, remplacer {1.2.3.4} par {1.2.3.4.5.6.7.8.9.10.11.12}
Nom Janvier Février Mars Avril
Dupont 12 12 12 12
Durand 8 8 8 8
Martin 16 16 5 5
Charlie 13 17 13 21
Lolo 20 12 11 9
Lulu 11 9 9 11
-Sélectionner H3:K7 =INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;{1.2. 3.4});{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});0)) -Valider avec Maj+Ctrl+Entrée
Pour les 12 mois, remplacer {1.2.3.4} par {1.2.3.4.5.6.7.8.9.10.11.12}
Nom Janvier Février Mars Avril Dupont 12 12 12 12 Durand 8 8 8 8 Martin 16 16 5 5 Charlie 13 17 13 21 Lolo 20 12 11 9 Lulu 11 9 9 11
JB
Trirème
Bonjour JB et test Juste un petit bémol aux formules. D'abord je constate qu'il y en a qui ne savent pas diviser et qui préfèrent multiplier ;-)
Ensuite, j'écrivais hier soir : "La division par 10000 dépend de l'ordre de grandeur des écarts 'attendus' entre les ex aequo. CàD si les écarts tiennent au millionième, il faudra diviser par plus grand (1 milliard)."
J'ajoute qu'une table de données de plusieurs milliers de lignes pose également problème puisque mon epsilon devient énorme (6,5 pour la 65536 ème ligne en divisant par 10000). Ce qui veut dire qu'un '12' en dernière ligne est meilleur qu'un '18,5' en ligne 2.
D'autre part, le milliardième multiplicateur ou tout autre 1E-99 semble superflu (après des essais) car Excel ne se souvient pas de plus de 13 décimales, même s'il consent à en afficher une palanquée (dans les calculs intermédiaires et pédagogiques).
Un bon compromis serait donc de multiplier par 10^-13 ou, pour les fanas des formules courtes, diviser par 10^13 (un caractère de moins et je garde ma division).
Soit, la formule finale : =INDEX(nom;EQUIV(GRANDE.VALEUR(absence+LIGNE(absence)/10^13;{1;2;3;4;5});absence+LIGNE(absence)/10^13;0)) et validation matricielle
Bonne journée à vous deux, aux autres et à ceux qui restent.
Cordialement, Trirème
Une seule formule pour tous les mois:
http://cjoint.com/?dlj3ird5NI
-Sélectionner H3:K7 =INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});0)) -Valider avec Maj+Ctrl+Entrée
Pour les 12 mois, remplacer {1.2.3.4} par {1.2.3.4.5.6.7.8.9.10.11.12}
Nom Janvier Février Mars Avril Dupont 12 12 12 12 Durand 8 8 8 8 Martin 16 16 5 5 Charlie 13 17 13 21 Lolo 20 12 11 9 Lulu 11 9 9 11
JB
Bonjour JB et test
Juste un petit bémol aux formules.
D'abord je constate qu'il y en a qui ne savent pas diviser et qui
préfèrent multiplier ;-)
Ensuite, j'écrivais hier soir :
"La division par 10000 dépend de l'ordre de grandeur des écarts
'attendus' entre les ex aequo. CàD si les écarts tiennent au
millionième, il faudra diviser par plus grand (1 milliard)."
J'ajoute qu'une table de données de plusieurs milliers de lignes pose
également problème puisque mon epsilon devient énorme (6,5 pour la 65536
ème ligne en divisant par 10000). Ce qui veut dire qu'un '12' en
dernière ligne est meilleur qu'un '18,5' en ligne 2.
D'autre part, le milliardième multiplicateur ou tout autre 1E-99 semble
superflu (après des essais) car Excel ne se souvient pas de plus de 13
décimales, même s'il consent à en afficher une palanquée (dans les
calculs intermédiaires et pédagogiques).
Un bon compromis serait donc de multiplier par 10^-13 ou, pour les fanas
des formules courtes, diviser par 10^13 (un caractère de moins et je
garde ma division).
Soit, la formule finale :
=INDEX(nom;EQUIV(GRANDE.VALEUR(absence+LIGNE(absence)/10^13;{1;2;3;4;5});absence+LIGNE(absence)/10^13;0))
et validation matricielle
Bonne journée à vous deux, aux autres et à ceux qui restent.
Cordialement,
Trirème
Une seule formule pour tous les mois:
http://cjoint.com/?dlj3ird5NI
-Sélectionner H3:K7
=INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});0))
-Valider avec Maj+Ctrl+Entrée
Pour les 12 mois, remplacer {1.2.3.4} par {1.2.3.4.5.6.7.8.9.10.11.12}
Nom Janvier Février Mars Avril
Dupont 12 12 12 12
Durand 8 8 8 8
Martin 16 16 5 5
Charlie 13 17 13 21
Lolo 20 12 11 9
Lulu 11 9 9 11
Bonjour JB et test Juste un petit bémol aux formules. D'abord je constate qu'il y en a qui ne savent pas diviser et qui préfèrent multiplier ;-)
Ensuite, j'écrivais hier soir : "La division par 10000 dépend de l'ordre de grandeur des écarts 'attendus' entre les ex aequo. CàD si les écarts tiennent au millionième, il faudra diviser par plus grand (1 milliard)."
J'ajoute qu'une table de données de plusieurs milliers de lignes pose également problème puisque mon epsilon devient énorme (6,5 pour la 65536 ème ligne en divisant par 10000). Ce qui veut dire qu'un '12' en dernière ligne est meilleur qu'un '18,5' en ligne 2.
D'autre part, le milliardième multiplicateur ou tout autre 1E-99 semble superflu (après des essais) car Excel ne se souvient pas de plus de 13 décimales, même s'il consent à en afficher une palanquée (dans les calculs intermédiaires et pédagogiques).
Un bon compromis serait donc de multiplier par 10^-13 ou, pour les fanas des formules courtes, diviser par 10^13 (un caractère de moins et je garde ma division).
Soit, la formule finale : =INDEX(nom;EQUIV(GRANDE.VALEUR(absence+LIGNE(absence)/10^13;{1;2;3;4;5});absence+LIGNE(absence)/10^13;0)) et validation matricielle
Bonne journée à vous deux, aux autres et à ceux qui restent.
Cordialement, Trirème
Une seule formule pour tous les mois:
http://cjoint.com/?dlj3ird5NI
-Sélectionner H3:K7 =INDEX(nom;EQUIV(GRANDE.VALEUR(INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});{1;2;3;4;5});INDEX(absence-LIGNE(absence)*0,0001;;{1.2.3.4});0)) -Valider avec Maj+Ctrl+Entrée
Pour les 12 mois, remplacer {1.2.3.4} par {1.2.3.4.5.6.7.8.9.10.11.12}
Nom Janvier Février Mars Avril Dupont 12 12 12 12 Durand 8 8 8 8 Martin 16 16 5 5 Charlie 13 17 13 21 Lolo 20 12 11 9 Lulu 11 9 9 11