Problème formule Excel -
Résolu/Fermé
sg4488
Messages postés
5
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
8 février 2011
-
Modifié par irongege le 7/02/2011 à 20:34
sg4488 Messages postés 5 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 8 février 2011 - 8 févr. 2011 à 23:14
sg4488 Messages postés 5 Date d'inscription mercredi 12 mars 2008 Statut Membre Dernière intervention 8 février 2011 - 8 févr. 2011 à 23:14
A voir également:
- Problème formule Excel -
- Formule excel pour additionner plusieurs cellules - Guide
- Formule excel si et - Guide
- Formule excel moyenne - Guide
- Excel mise en forme conditionnelle formule - Guide
- Liste déroulante excel - Guide
6 réponses
sg4488
Messages postés
5
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
8 février 2011
7 févr. 2011 à 19:35
7 févr. 2011 à 19:35
UP
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
Modifié par eriiic le 7/02/2011 à 19:38
Modifié par eriiic le 7/02/2011 à 19:38
Bonsoir,
je voudrais pouvoir me dire "50% de la population française vit dans une commune de moins de X habitants"
Ca je pense avoir compris, même si je ne vois pas de formule (mais en vba ça doit se traiter)
Ma question est donc la suivante : Existe-t'il une formule permettant de trouver la population pour laquelle la moitié de la population totale vit dans des communes moins peuplées et 50% dans des communes plus peuplées, et si oui, laquelle?
Heruuu là c'est moins clair... Il y a toujours une réponse selon ce que tu appelles une commune moins peuplée...
On peut rester sur la 1ère formulation ?
Ex, tu as 5 communes avec 1, 2, 3, 4 et 5 habitants soit un total de 15.
La réponse attendue est : la moitié de la pop. habite une commune de moins de 4 hab. ?
Sinon si tu peux expliquer avec un exemple...
eric
je voudrais pouvoir me dire "50% de la population française vit dans une commune de moins de X habitants"
Ca je pense avoir compris, même si je ne vois pas de formule (mais en vba ça doit se traiter)
Ma question est donc la suivante : Existe-t'il une formule permettant de trouver la population pour laquelle la moitié de la population totale vit dans des communes moins peuplées et 50% dans des communes plus peuplées, et si oui, laquelle?
Heruuu là c'est moins clair... Il y a toujours une réponse selon ce que tu appelles une commune moins peuplée...
On peut rester sur la 1ère formulation ?
Ex, tu as 5 communes avec 1, 2, 3, 4 et 5 habitants soit un total de 15.
La réponse attendue est : la moitié de la pop. habite une commune de moins de 4 hab. ?
Sinon si tu peux expliquer avec un exemple...
eric
sg4488
Messages postés
5
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
8 février 2011
7 févr. 2011 à 20:30
7 févr. 2011 à 20:30
@ Eric
Pour ce qui est de mon tableau, j'ai 36570 communes pour une population totale en 1962 de 46 425 393 habitants. J'ai classé les communes par leur population croissante. Je veux trouver la population à partir de laquelle la somme des populations des communes précédentes dépasse la moitié de la population totale, soit 23 212 696.5 habitants.
Autrement dit, pour être plus clair, je cherche à trouver la médiane de la population, et non des communes comme Excel le fait.
J'ai essayé les sommes conditionnelles, mais ça n'a pas l'air de fonctionner.
Si ça doit passer par VBA, je ne maitrise pas du tout, donc il me faudrait des explications
Merci d'avance
Pour ce qui est de mon tableau, j'ai 36570 communes pour une population totale en 1962 de 46 425 393 habitants. J'ai classé les communes par leur population croissante. Je veux trouver la population à partir de laquelle la somme des populations des communes précédentes dépasse la moitié de la population totale, soit 23 212 696.5 habitants.
Autrement dit, pour être plus clair, je cherche à trouver la médiane de la population, et non des communes comme Excel le fait.
J'ai essayé les sommes conditionnelles, mais ça n'a pas l'air de fonctionner.
Si ça doit passer par VBA, je ne maitrise pas du tout, donc il me faudrait des explications
Merci d'avance
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
Modifié par eriiic le 7/02/2011 à 23:28
Modifié par eriiic le 7/02/2011 à 23:28
Re,
Si les données sont triées c'est plus facile.
Je t'ai fait une fonction personnalisée nommée pop50()
syntaxe :
=pop50(A2:B13)
A2:B13 étant la plage commune-population
Elle retourne la somme supérieure ou égale à la moitié de la population (c'est ce que j'ai compris, mais on peut retourner la dernière commune prise en compte ou sa pop ou son rang)
Pour voir le code :
- Alt+F11 pour ouvrir VBE
- double-clic sur Module1 (un élément du projet à gauche)
- le code est dans la fenetre de droite :
Le copier dans ton classeur : dans vbe clic-droit sur ton projet ou une de ses feuille puis 'insertion / module', coller le code dans le module
Rappel : les données sont triées !
eric
Edit : fichier exemple oublié, désolé : test.xls
Si les données sont triées c'est plus facile.
Je t'ai fait une fonction personnalisée nommée pop50()
syntaxe :
=pop50(A2:B13)
A2:B13 étant la plage commune-population
Elle retourne la somme supérieure ou égale à la moitié de la population (c'est ce que j'ai compris, mais on peut retourner la dernière commune prise en compte ou sa pop ou son rang)
Pour voir le code :
- Alt+F11 pour ouvrir VBE
- double-clic sur Module1 (un élément du projet à gauche)
- le code est dans la fenetre de droite :
Function pop50(plage As Range) As Long Dim datas As Variant, demiPop As Double, s As Double, i As Long datas = plage.Value demiPop = Application.WorksheetFunction.Sum(plage) / 2 While s < demiPop i = i + 1 s = s + datas(i, 2) Wend pop50 = s End Function
Le copier dans ton classeur : dans vbe clic-droit sur ton projet ou une de ses feuille puis 'insertion / module', coller le code dans le module
Rappel : les données sont triées !
eric
Edit : fichier exemple oublié, désolé : test.xls
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
sg4488
Messages postés
5
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
8 février 2011
7 févr. 2011 à 23:50
7 févr. 2011 à 23:50
J'ai du faire une erreur quelque part, la réponse renvoyée est #REF!.
J'ai collé le code dans Module 1 associé à ma feuille de calculs, et j'ai ensuite entré la formule, mais ça ne marche pas.
Mes données sont triées dans l'ordre croissant. Par ailleurs j'ai des données nulles (certaines communes n'ont pas d'habitant), j'ai essayé de contourner cetéventuel obstacle en ne prenant qu'une plage de cellules non nulles, mais même résultat...
Je ne comprends pas...
J'ai collé le code dans Module 1 associé à ma feuille de calculs, et j'ai ensuite entré la formule, mais ça ne marche pas.
Mes données sont triées dans l'ordre croissant. Par ailleurs j'ai des données nulles (certaines communes n'ont pas d'habitant), j'ai essayé de contourner cetéventuel obstacle en ne prenant qu'une plage de cellules non nulles, mais même résultat...
Je ne comprends pas...
eriiic
Messages postés
24603
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
15 décembre 2024
7 250
Modifié par eriiic le 8/02/2011 à 00:12
Modifié par eriiic le 8/02/2011 à 00:12
Sélectionne la plage (commune+pop) à la souris, #REF étant une erreur de référence (une cellule qui n'existe plus par exemple)
Sinon il faudrait que tu déposes un extrait qui ne fonctionne pas sur cijoint.fr et que tu colles ici le lien fourni pour voir sur quelles données ça plante.
Sinon il faudrait que tu déposes un extrait qui ne fonctionne pas sur cijoint.fr et que tu colles ici le lien fourni pour voir sur quelles données ça plante.
sg4488
Messages postés
5
Date d'inscription
mercredi 12 mars 2008
Statut
Membre
Dernière intervention
8 février 2011
8 févr. 2011 à 23:14
8 févr. 2011 à 23:14
Ok, j'ai fait autrement, à la main directement, en prenant la moitié de la population totale et en sélectionnant toutes les cellules depuis la première jusquà celle qui, additionnée aux précédentes dépasse la moitié de la population totale.
Ensuite, j'ai copié le résultat dans les celllules voisines, et j'ai tatonné jusqu'à trouver la bonne cellule.
Le résultat tientla route, mais c'est à tatons que je l'ai trouvé. Je pensais qu'il existait une formule pour ça, mais la meilleure solution est encore la bonne vieille méthode du pifomètre.
Merci en tous cas à toi pour les explications, au moins j'aurai appris à ouvrir VBA...
Je clos cette discussion
SG4488
Ensuite, j'ai copié le résultat dans les celllules voisines, et j'ai tatonné jusqu'à trouver la bonne cellule.
Le résultat tientla route, mais c'est à tatons que je l'ai trouvé. Je pensais qu'il existait une formule pour ça, mais la meilleure solution est encore la bonne vieille méthode du pifomètre.
Merci en tous cas à toi pour les explications, au moins j'aurai appris à ouvrir VBA...
Je clos cette discussion
SG4488