Partage
  • Partager sur Facebook
  • Partager sur Twitter

[Excel] Calculer médiane depuis tableau effectifs

Médiane pondérée

Sujet résolu
    29 novembre 2014 à 14:26:20

    Bonjour,

    j'aimerais calculer une médiane à partir d'un tableau où il y a la ligne "valeur" et la ligne "effectif". Pour la moyenne, j'utiliserais la moyenne pondérée, mais pour la médiane ?

    Exemple

    _AB
    1AgeEff
    283
    395
    4106
    5119


    Voilà, comment puis-je calculer la médiane d'un tableau comme celui-ci ?

    Merci d'avance

    PS: j’espère ne pas m'être trompé de catégorie

    -
    Edité par okang 29 novembre 2014 à 16:16:01

    • Partager sur Facebook
    • Partager sur Twitter
      29 novembre 2014 à 14:38:45

      Ajoute une 3ème colonne, dans laquelle tu calcules les effectifs cumulés :)

      Edit : ah, tu veux le faire avec Excel, je n'avais pas vu le titre. Il n'y a pas une fonction Excel toute prête pour calculer ce genre de chose ?

      -
      Edité par cklqdjfkljqlfj 29 novembre 2014 à 14:41:31

      • Partager sur Facebook
      • Partager sur Twitter
        29 novembre 2014 à 14:44:14

        Oui j'y ai pensé mais après il faudrait associer le rang de la valeur à la valeur, et c'est là que ça bloque.

        Et je n'ai pas trouvé de fonction sous Excel permettant de calculer une médiane dans ce type de cas. Je cherche, je cherche ^^

        -
        Edité par okang 29 novembre 2014 à 14:47:11

        • Partager sur Facebook
        • Partager sur Twitter
          29 novembre 2014 à 16:00:59

          Bonjour, 

          Ajoute plusieurs colonnes supplémentaires , pour avoir des effectifs cumulés.

          Sur la première ligne de données  : 1 en colonne C, et 3 en colonne D : Les rangs mini et maxi des individus dont l'âge est 8.

          Sur la ligne 3, avec les bonnes formules, tu auras donc 4 et 8 

          etc, idem sur toutes les lignes.

          Par ailleurs, tu calcules l'effectif total : 23

          Et enfin, en colonne E, ligne 2 à 5 , une formule :

          =si (et(C2 <=EffTotal/2;D2>=EffTotal/2);A2;0)

          Dernier calcul : la somme de tous les nombres de la colonne E , ou le max, c'est pareil en l'occurrence. Et c'est la valeur médiane.

          Autre option,  si tu souhaites t'initier au VB, on peut créer une fonction qu'on va appeler par exemple mediane_pond()

          C'est sensiblement plus compliqué. mais beaucoup plus élégant, car dans ce cas, une fois la fonction écrite, tu pourras faire simplement  dans une formule :

          = mediane_pond(A2:B5)

          • Partager sur Facebook
          • Partager sur Twitter
            29 novembre 2014 à 16:36:24

            Bonjour tbc92, merci pour ta réponse rapide.

            tbc92 a écrit:

            Sur la première ligne de données  : 1 en colonne C, et 3 en colonne D : Les rangs mini et maxi des individus dont l'âge est 8.

            Sur la ligne 3, avec les bonnes formules, tu auras donc 4 et 8

            Je n'ai pas bien compris ce que tu voulais dire par là (tu parles de cellules C1 et D3 ? pour calculer quoi ?)
            Sinon pour le VB je verrais selon mon temps libre mais pour l'instant je vais me contenter de ton aide :)
            • Partager sur Facebook
            • Partager sur Twitter
              29 novembre 2014 à 17:15:45

              Pour une ligne ( ligne 2 par exemple):

              Cette ligne concerne les enfants dont l'age est de 8 ans : 8 en colonne A

              Il y a 3 enfants dans cette tranche d'âge : 3 en colonne B

              Si on classe tous les enfants du plus jeune au moins jeune, nos 3 enfants se classent entre le plus jeune (Rang 1) et le 3ème plus jeune (rang 3). On mettra donc les bonnes formules pour avoir 1 en colonne C, ligne 2, et 3 en colonne D, ligne 2

              Et idem sur chaque ligne :

              Donc sur la ligne suivante, il faut mettre une bonne formule pour avoir 4 en colonne C, et 8 en colonne D : Les enfants de 9 ans sont classés entre le 4ème et le 8ème, quand on classe les enfants du plus jeune au plus agé.

              Puis 9 et 14 sur la ligne suivante

              Et 15 et 23 sur la dernière ligne.

              A partir de ce tableau, ça donne une bonne base pour calculer la médiane.

              Mais attention, je vois que je me suis planté dans mon premier message, dans la formule finale ... c'est un peu plus  compliqué que ça.

              • Partager sur Facebook
              • Partager sur Twitter
                29 novembre 2014 à 17:40:06

                Avec des classes...je vais voir ce que je peux faire avec tout ça.

                Sinon, admettons que je ne sois pas sous Excel, quelle formule devrais-je utiliser pour trouver une "médiane pondérée" ?

                • Partager sur Facebook
                • Partager sur Twitter
                Anonyme
                  29 novembre 2014 à 18:11:42

                  Sinon, admettons que je ne sois pas sous Excel, quelle formule devrais-je utiliser pour trouver une "médiane pondérée" ?

                  Il n'y a pas de raison que ce soit différent d'une médiane "normale". Il suffit d'appliquer bêtement la définition \(M/p(x<M)=0.5\). Donc comme déjà expliqué, tu cumules les effectifs, et lorsque tu dépasses la moitié, c'est que tu es dans la classe qui contient la valeur médiane.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    29 novembre 2014 à 18:41:05

                    Oui, je cherchais à faire trop compliqué, mais j'ai résolu mon problème. Voici les étapes

                    -Ajouter la colonne des effectifs cumulés

                    -Calculer effectif-total/2 pour l'associer à l'effectif cumulé supérieur le plus proche du résultat obtenu. Cet effectif cumulé est lui même associé à une valeur qui est la médiane. J'ai utilisé la fonction recherche() pour associer les valeurs.

                    Un grand merci à tous ;)

                    • Partager sur Facebook
                    • Partager sur Twitter
                      29 novembre 2014 à 20:37:06

                      planeto66 a écrit:

                      Oui, je cherchais à faire trop compliqué, mais j'ai résolu mon problème. Voici les étapes

                      -Ajouter la colonne des effectifs cumulés

                      -Calculer effectif-total/2 pour l'associer à l'effectif cumulé supérieur le plus proche du résultat obtenu. Cet effectif cumulé est lui même associé à une valeur qui est la médiane. J'ai utilisé la fonction recherche() pour associer les valeurs.

                      Un grand merci à tous ;)


                      L'effectif cumulé le plus proche du résultat obtenu  ?  Peux tu nous dire la formule précise pour cette dernière étape ?

                      As-tu vérifié en mettant des chiffres différents pour voir si ça marchait toujours ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        30 novembre 2014 à 9:41:39

                        Oui, aucun problème. Donc si on reprend l'exemple que j'ai donné dans mon premier post:

                        1)Faire la colonne des effectifs cumulés

                        Dans la cellule C1 on met Eff cumulés

                        cellule C2 =B2

                        cellule C3 =C2+B3

                        puis on tire la cellule C3 jusqu'à C5

                        2)Trouver la valeur médiane

                        Là finalement j'ai remplacé par EQUIV() qui me parait plus pratique. Là il suffit d'entrer la formule ci-dessous dans n'importe quelle cellule vide.

                        =EQUIV(C5/2;C2:C5;2)

                        C5 correspond à l'effectif total, donc la valeur que je cherche est dans le rang C5/2. Ensuite je donne la plage des effectifs cumulés C2:C5. Ainsi la valeur C5/2 sera recherchée dans la plage C2:C5. Pour finir j'ai mis un 2. Il permet de prendre la première la première valeur supérieure à C5/2 dans l'effectif cumulé. Si j'aurais mis -2 ça aurait été la première valeur inférieure.

                        /!\Je ne pense pas que ça fonctionne si on l'utilise comme ça. Moi dans mon fichier (pas dans l'exemple), j'avais trouvé les effectifs avec cette formule:

                        =NB.SI($I$58:$I$20;"="&A2)

                        Du coup la colonne des valeurs et celle des effectifs étaient liées, je ne sais pas si ça change quelque chose.

                        PS: Finalement ceci m’a l'air mieux

                        • Partager sur Facebook
                        • Partager sur Twitter

                        [Excel] Calculer médiane depuis tableau effectifs

                        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                        • Editeur
                        • Markdown