Pb pour reclasser une liste suivant différents critères
Résolu
nadarccm0512
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
nadarccm0512 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
nadarccm0512 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous soumets un petit défi sur Excel qui dépasse mes maigres compétences...
Je réalise une feuille de calcul visant à faciliter la vie des personnes qui dépouillent des élections professionnelles. Il s'agit d'une suite de calculs fastidieux avec une étape sensible : le reclassement des candidats selon le nombre de votes reçus et le pourcentage de ratures.
Les candidats se présentent dans l'ordre de leur choix sur la liste électorale.
Chaque liste reçoit le même nombre de bulletins, mais le nom de certains candidats peut être raturé par les votants et ils perdent des voix. Les candidats qui reçoivent plus de 10% de ratures sont repoussés en bas de liste et reclassés par ordre décroissant du nombre de voix (après ratures).
Exemple :
Ordre------Nb de-----------Nb----------soit-------Nbre-------Nouvel
initial------bulletins------ratures ------------------de voix------ordre
---A------------47------------5----------10,6%------42------------B
---B------------47------------2-----------4,3%-------45-----------D
---C------------47------------7----------14,8%-------40-----------A
---D------------47------------0-----------0,0%-------47-----------E
---E------------47------------6-----------12,7%-------41----------C
Merci pour votre aide !!!
Je vous soumets un petit défi sur Excel qui dépasse mes maigres compétences...
Je réalise une feuille de calcul visant à faciliter la vie des personnes qui dépouillent des élections professionnelles. Il s'agit d'une suite de calculs fastidieux avec une étape sensible : le reclassement des candidats selon le nombre de votes reçus et le pourcentage de ratures.
Les candidats se présentent dans l'ordre de leur choix sur la liste électorale.
Chaque liste reçoit le même nombre de bulletins, mais le nom de certains candidats peut être raturé par les votants et ils perdent des voix. Les candidats qui reçoivent plus de 10% de ratures sont repoussés en bas de liste et reclassés par ordre décroissant du nombre de voix (après ratures).
Exemple :
Ordre------Nb de-----------Nb----------soit-------Nbre-------Nouvel
initial------bulletins------ratures ------------------de voix------ordre
---A------------47------------5----------10,6%------42------------B
---B------------47------------2-----------4,3%-------45-----------D
---C------------47------------7----------14,8%-------40-----------A
---D------------47------------0-----------0,0%-------47-----------E
---E------------47------------6-----------12,7%-------41----------C
Merci pour votre aide !!!
A voir également:
- Pb pour reclasser une liste suivant différents critères
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste code ascii - Guide
- Site dangereux liste - Guide
- Liste site streaming illégal - Accueil - Services en ligne
4 réponses
Bonjour,
Sans chercher très loin, vous trier le tableau sur la colonne [soit en %] dans l'ordre décroissant.
Outil [Trier] sous l'onglet [Données] bloc [Trier et Filtrer]
Sans chercher très loin, vous trier le tableau sur la colonne [soit en %] dans l'ordre décroissant.
Outil [Trier] sous l'onglet [Données] bloc [Trier et Filtrer]
Bonjour,
Déjà il faut se mettre d'accord sur les règles ;-)
https://www2.liaisons-sociales.fr/ratures-et-bulletins-nuls
Pour moi, les candidats ayant moins de 10% de rature sont en tête dans l'ordre de la liste et ceux ayant plus de 10% de ratures sont classés après, dans l'ordre du nombre de voix obtenues.
Le nouvel ordre (liste résultats) devrait être :
Ordre------Nb de-----------Nb----------soit-------Nbre-------Nouvel
initial------bulletins------ratures ------------------de voix------ordre
---A------------47------------5----------10,6%------42------------C
---B------------47------------2-----------4,3%-------45-----------A
---C------------47------------7----------14,8%-------40-----------E
---D------------47------------0-----------0,0%-------47-----------B
---E------------47------------6-----------12,7%-------41----------D
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
Déjà il faut se mettre d'accord sur les règles ;-)
https://www2.liaisons-sociales.fr/ratures-et-bulletins-nuls
Pour moi, les candidats ayant moins de 10% de rature sont en tête dans l'ordre de la liste et ceux ayant plus de 10% de ratures sont classés après, dans l'ordre du nombre de voix obtenues.
Le nouvel ordre (liste résultats) devrait être :
Ordre------Nb de-----------Nb----------soit-------Nbre-------Nouvel
initial------bulletins------ratures ------------------de voix------ordre
---A------------47------------5----------10,6%------42------------C
---B------------47------------2-----------4,3%-------45-----------A
---C------------47------------7----------14,8%-------40-----------E
---D------------47------------0-----------0,0%-------47-----------B
---E------------47------------6-----------12,7%-------41----------D
Un étranger, c'est un ami qu'on n'a pas encore rencontré.
les A,b,c sont pour moi une mauvaise présentation
il serait preferable
il serait preferable
Ordre------Nb de-----------Nb----------soit-------Nbre-------Classement
initial------bulletins------ratures -------------de voix------election
---Alain------------47------------5----------10,6%-------42-----------3
---Bernard----------47------------2-----------4,3%-------45-----------1
---Claude-----------47------------7----------14,8%-------40-----------5
---Denis------------47------------0-----------0,0%-------47-----------2
---Estelle----------47------------6----------12,7%-------41-----------4
Bonsoir à tous,
je pars d'une disposition comme ça :
En G3:G7, tu rentres la formule matricielle :
tu peux recopier la zone A3:G7 autant que nécessaire pour tester cette formule avec plusieurs configurations de vote.
au cas où : https://www.cjoint.com/c/EGCbkLJazgH
cordialement
je pars d'une disposition comme ça :

En G3:G7, tu rentres la formule matricielle :
=INDEX(A3:A7;PRODUITMAT(--(LIGNE($1:$5)-SOMMEPROD(--(D3:D7<10%))=TRANSPOSE(LIGNE($1:$5))*(LIGNE($1:$5)>=SOMMEPROD(--(D3:D7<10%))));INDEX(SI(D3:D7>=10%;LIGNE(A3:A7);0);EQUIV(GRANDE.VALEUR(SI(D3:D7>=10%;E3:E7+(LIGNES($A$1:$A7)-LIGNE(E3:E7))/100000000;0);LIGNE($1:$5));SI(D3:D7>=10%;E3:E7+(LIGNES($A$1:$A7)-LIGNE(E3:E7))/100000000;0);0)))+SIERREUR(PETITE.VALEUR(SI(D3:D7<10%;LIGNE(A3:A7));LIGNE($1:$5));0)-LIGNES($A$1:$A2))et tu la valides par CTRL+MAJ+ENTER
tu peux recopier la zone A3:G7 autant que nécessaire pour tester cette formule avec plusieurs configurations de vote.
au cas où : https://www.cjoint.com/c/EGCbkLJazgH
cordialement
je viens de me rendre compte que tu as posté sur au moins 3 autres forum !!
https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=66859&start=
http://www.developpez.net/forums/d1534555/logiciels/microsoft-office/excel/pb-reorganiser-membres-d-liste/
https://www.excel-downloads.com/threads/pb-pour-reclasser-une-liste-suivant-plusieurs-criteres.233881/
tu aurais pu le dire, je ne me serais pas cassé la tête sur ta question.
https://forum.excel-pratique.com/viewtopic.php?forum_uri=excel&t=66859&start=
http://www.developpez.net/forums/d1534555/logiciels/microsoft-office/excel/pb-reorganiser-membres-d-liste/
https://www.excel-downloads.com/threads/pb-pour-reclasser-une-liste-suivant-plusieurs-criteres.233881/
tu aurais pu le dire, je ne me serais pas cassé la tête sur ta question.
Bonsoir,
ligne($1:$5) crée un vecteur de 5 lignes contenant la séquence de 1 à 5.
Pour s'en convaincre, il suffit de sélectionner 5 cellules superposées, disons A1:A5, puis de saisir ligne($1:$5) et de valider par CTRL+MAJ+ENTER
Il y a beaucoup d'autres façons de le faire.
J'ai trouvé que celle là était économique en frappes clavier.
l'objectif est d'obtenir la matrice booléenne que j'ai dû laisser en $T$3:$X$7.
encore une fois, si tu sélectionnes une zone de 5 sur 5 cellules et que tu saisis =--(LIGNE($1:$5)-SOMMEPROD(--(D3:D7<10%))=TRANSPOSE(LIGNE($1:$5))*(LIGNE($1:$5)>=SOMMEPROD(--(D3:D7<10%)))) validé par CTRL+MAJ+ENTER, tu auras la matrice $T$3:$X$7.
Si tu veux simplifier la formule, tu peux remplacer ce code par $T$3:$X$7.
cdlt
ligne($1:$5) crée un vecteur de 5 lignes contenant la séquence de 1 à 5.
Pour s'en convaincre, il suffit de sélectionner 5 cellules superposées, disons A1:A5, puis de saisir ligne($1:$5) et de valider par CTRL+MAJ+ENTER
Il y a beaucoup d'autres façons de le faire.
J'ai trouvé que celle là était économique en frappes clavier.
l'objectif est d'obtenir la matrice booléenne que j'ai dû laisser en $T$3:$X$7.
encore une fois, si tu sélectionnes une zone de 5 sur 5 cellules et que tu saisis =--(LIGNE($1:$5)-SOMMEPROD(--(D3:D7<10%))=TRANSPOSE(LIGNE($1:$5))*(LIGNE($1:$5)>=SOMMEPROD(--(D3:D7<10%)))) validé par CTRL+MAJ+ENTER, tu auras la matrice $T$3:$X$7.
Si tu veux simplifier la formule, tu peux remplacer ce code par $T$3:$X$7.
cdlt
Bonjour,
Désolé si je ne respecte pas les règles d'usage, c'est la première fois que je poste. La question étant assez urgente je l'ai en effet postée sur plusieurs forums, pour drainer un maximum de réponses. Je ne m'attendais pas à autant de réactivité !!!
Merci à JvDo, qui a trouvé la solution, semble-t-il : en effet, la difficulté consiste à garder les noms ayant obtenu moins de 10% de ratures dans l'ordre initial de la liste, et de reclasser les autres en fonction du nombre de voix. Je n'avais peut-être pas assez insisté sur ce point.
Merci donc pour cette solution à la fois élégante et efficace. J'imagine que j'ai le droit d'en communiquer l'adresse aux personnes qui ont répondu sur d'autres forums ?
Mon problème, maintenant, c'est que si je constate que la formule de JvDo fonctionne, je ne comprends pas comment ! Mais je vais la décortiquer pour l'adapter à mon fichier initial !
Merci encore !
Désolé si je ne respecte pas les règles d'usage, c'est la première fois que je poste. La question étant assez urgente je l'ai en effet postée sur plusieurs forums, pour drainer un maximum de réponses. Je ne m'attendais pas à autant de réactivité !!!
Merci à JvDo, qui a trouvé la solution, semble-t-il : en effet, la difficulté consiste à garder les noms ayant obtenu moins de 10% de ratures dans l'ordre initial de la liste, et de reclasser les autres en fonction du nombre de voix. Je n'avais peut-être pas assez insisté sur ce point.
Merci donc pour cette solution à la fois élégante et efficace. J'imagine que j'ai le droit d'en communiquer l'adresse aux personnes qui ont répondu sur d'autres forums ?
Mon problème, maintenant, c'est que si je constate que la formule de JvDo fonctionne, je ne comprends pas comment ! Mais je vais la décortiquer pour l'adapter à mon fichier initial !
Merci encore !
A bon d'accord, mais je vous prie d'utiliser l'option : Répondre au sujet et non pas Commenter la réponse.... Et en plus un petit bonjour va de soit pour chaque message, nous ne sommes pas au parloir...
Salutations.
Le Pingou