Répartir des valeurs sur excel
noteasystuff
-
Raymond PENTIER Messages postés 71870 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 71870 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voilà mon problème, je voudrais utiliser excel pour un "calcul" que je n'ai jamais fait avec ce logiciel.
J'ai une suite de 20 nombres et il faut que je les répartisse sur deux collones (de dix nombres donc) afin que les sommes de chaque collone soient le plus proche possible entre elles.
Ce calcul est-il possible ?
Merci d'avance de vos réponses
Voilà mon problème, je voudrais utiliser excel pour un "calcul" que je n'ai jamais fait avec ce logiciel.
J'ai une suite de 20 nombres et il faut que je les répartisse sur deux collones (de dix nombres donc) afin que les sommes de chaque collone soient le plus proche possible entre elles.
Ce calcul est-il possible ?
Merci d'avance de vos réponses
A voir également:
- Répartir des valeurs sur excel
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Comment trier par ordre alphabétique sur excel - Guide
- Comment calculer la moyenne sur excel - Guide
- Si ou excel - Guide
4 réponses
Hélas, ce n'est pas un simple calcul !
Il n'existe pas de fonction pour ce type de manipulation de nombres, qui ressemble davantage à un jeu qu'à des mathématiques ou à de l'informatique.
Mais comme j'aime jouer, j'ai essayé diverses combinaisons et organisations de ces nombres, et je te suggère ceci :
Dans la colonne A, trier la suite.
En B1, formule =INDEX($A$1:$A$20;2*LIGNE()-1).
En C1 formule =INDEX($A$1:$A$20;2*LIGNE()).
En B11 et C11 faire les totaux.
Il n'existe pas de fonction pour ce type de manipulation de nombres, qui ressemble davantage à un jeu qu'à des mathématiques ou à de l'informatique.
Mais comme j'aime jouer, j'ai essayé diverses combinaisons et organisations de ces nombres, et je te suggère ceci :
Dans la colonne A, trier la suite.
En B1, formule =INDEX($A$1:$A$20;2*LIGNE()-1).
En C1 formule =INDEX($A$1:$A$20;2*LIGNE()).
En B11 et C11 faire les totaux.
N'étant pas entièrement satisfait de ma première solution, j'en ai cherché une autre, qui me donne toute satisfaction.
J'ai même la prétention de penser que personne n'arrivera aussi près de la répartition idéale, quel que soit le procédé utilisé !
J'utilise les colonnes intermédiaires B et C (qu'il faudra masquer) dans lesquelles je note l'ordre de lecture des lignes de la table (je rappelle que la colonne A doit être triée !) ; puis je saisis en D1 la formule =INDEX($A$1:$A$20;B1) que je recopie jusqu'à E10 : https://www.cjoint.com/?iFuz3R3bGJ
J'ai même la prétention de penser que personne n'arrivera aussi près de la répartition idéale, quel que soit le procédé utilisé !
J'utilise les colonnes intermédiaires B et C (qu'il faudra masquer) dans lesquelles je note l'ordre de lecture des lignes de la table (je rappelle que la colonne A doit être triée !) ; puis je saisis en D1 la formule =INDEX($A$1:$A$20;B1) que je recopie jusqu'à E10 : https://www.cjoint.com/?iFuz3R3bGJ
Salut raymond,
Ca marche bien sur ton exemple car les valeurs sont bien regroupées sur la fin pour équilibrer les 2 colonnes.
Mais si tu remplaces la dernière valeur par 200 tu te retrouves avec 96 d'écart, ce qu'on arrive à réduire en permutant 2 nombres forts avec 2 nombres faibles ;-)
Y'avait un séjour à gagner ???
eric
Ca marche bien sur ton exemple car les valeurs sont bien regroupées sur la fin pour équilibrer les 2 colonnes.
Mais si tu remplaces la dernière valeur par 200 tu te retrouves avec 96 d'écart, ce qu'on arrive à réduire en permutant 2 nombres forts avec 2 nombres faibles ;-)
Y'avait un séjour à gagner ???
eric
C'est vrai, ça ! On aurait pu se partager un bungalow les pieds dans l'eau ...
Notre ami n'ayant fourni aucune indication sur la nature des nombres de la suite (on ne sait même pas si ce sont des nombres entiers, des dates, etc.), j'ai fabriqué une suite aléatoire entre 0 et 100, sans aucune contrainte, même pas de doublon.
Je n'ai fait aucune hypothèse sur les données elles-mêmes.
La permutation que tu recommandes, avec pertinence, est un acte volontaire supplémentaire, que l'utilisateur peut décider de faire, s'il en a compris le principe et l'intérêt.
Amicalement, Raymond.
Notre ami n'ayant fourni aucune indication sur la nature des nombres de la suite (on ne sait même pas si ce sont des nombres entiers, des dates, etc.), j'ai fabriqué une suite aléatoire entre 0 et 100, sans aucune contrainte, même pas de doublon.
Je n'ai fait aucune hypothèse sur les données elles-mêmes.
La permutation que tu recommandes, avec pertinence, est un acte volontaire supplémentaire, que l'utilisateur peut décider de faire, s'il en a compris le principe et l'intérêt.
Amicalement, Raymond.
Salut Eriiic et Raymond,
Joli petit jeu...
Une solution qui, à partir de la formule de Raymond, permet d'éviter le tri de la colonne A :
en B1 :
=INDEX(champ;EQUIV(PETITE.VALEUR(champ;2*LIGNE()-1);champ;0);1)
en C1 :
=INDEX(champ;EQUIV(PETITE.VALEUR(champ;2*LIGNE());champ;0);1)
Bien entendu champ = A1:A20
Joli petit jeu...
Une solution qui, à partir de la formule de Raymond, permet d'éviter le tri de la colonne A :
en B1 :
=INDEX(champ;EQUIV(PETITE.VALEUR(champ;2*LIGNE()-1);champ;0);1)
en C1 :
=INDEX(champ;EQUIV(PETITE.VALEUR(champ;2*LIGNE());champ;0);1)
Bien entendu champ = A1:A20