Calcul d'une médiane d'un groupe d'élèves

Bonjour à tous.

comment calculer facilement une médiane par exemple pour des notes d'élèves dans une classe ?

ci joint le fichier

j'imagine qu'il y a une solution plus simple que de recopier les notes une par une...

par ailleurs, pour le calcul de la moyenne, existe-t-il une solution pour écrire la formule plus simplement que ce que j'ai fais ? sans passer par une troisième colonne produit ?

Merci à tous et bonne journée

Bonjour breizhinours,

Votre formule de la moyenne me semble fausse (les parenthèses sont mal placées). Pour faire plus simple :

=SOMMEPROD(A2:A8*B2:B8)/SOMME(A2:A8)

A priori, pour la médiane, ce n'est pas aussi simple... A+

bonjour,

pour la médiane une proposition en passant par un tableau intermédiaire (trié) et une colonne supplémentaire.

ps une erreur s'est glissée dans ta formule de moyenne, voir ta formule corrigée et une proposition de formule simplifiée.

A tester.

attention : la solution ne gère pas le cas d'une population paire avec la médiane à cheval sur 2 valeurs.

ho la oui. merci Mafraise je suis allé trop vite dans l'exemple.

merci h2so4, en effet ça semble fonctionne mais c'est trop complexe pour moi.

je vais appliquer cette solution dans un premier temps sans rien comprendre. ha ha

re,

solution avec fonction personnalisée

ça parfait plus simple en effet

Re,

Trop tard ! h2so4 m'a devancé, voici ma p'tite fonction :

Function MedianePonderee(QuantiteValeur As Range)
Dim t, i&, nbr&, j&, n&, ech As Boolean, aux
   t = QuantiteValeur.Value
   For i = 1 To UBound(t): nbr = nbr + t(i, 1): Next
   ReDim r(0 To nbr - 1): n = -1
   For i = 1 To UBound(t): For j = 1 To t(i, 1): n = n + 1: r(n) = t(i, 2): Next j, i
   Do
      ech = False
      For i = 1 To UBound(r) - 1
         If r(i) > r(i + 1) Then ech = True: aux = r(i): r(i) = r(i + 1): r(i + 1) = aux
      Next i
   Loop Until Not ech
   i = Int((nbr - 1) / 2)
   If nbr Mod 2 = 1 Then MedianePonderee = r(i) Else MedianePonderee = (r(i) + r(i + 1)) / 2
End Function

là vous allez trop loin pour moi :)

c'est fou ce qu'on peut faire avec Excel, mais là ce n'est plus de mon niveau

Bonjour,

On peut faire beaucoup de choses avec Excel.
Une solution avec Power Query :

let
  Source = Excel.CurrentWorkbook(){[Name = "Tableau1"]}[Content], 
  Repeat = Table.AddColumn(Source, "NRepeat", each {1 .. [nombre]}), 
  Expand = Table.ExpandListColumn(Repeat, "NRepeat"), 
  Calculs = Table.Group(
    Expand, 
    {}, 
    {
      {"Nb élèves", each Table.RowCount(_), Int64.Type}, 
      {"Moyenne", each List.Average([#"note / 20"]), type number}, 
      {"Médiane", each List.Median([#"note / 20"]), type number}
    }
  )
in
  Calculs

A+

bonjour le fil,

une solution avec des formules, sauf pour le cas où la médiane est entre 2 groupes (plus tard si cela vous interessera)

Bonjour à tous,

Solution non disponible sur Excel 2019 malheureusement 😥.

Mais pour participer je propose une formule unique et dynamique sur les versions plus récentes :

=LET(myReps;A2:A8;myVals;B2:B8;
tbl;MAKEARRAY(NB(myReps);MAX(myReps);LAMBDA(r;c;SI(c<=INDEX(myReps;r);INDEX(myVals;r);"dummy")));
MEDIANE(tbl))
Rechercher des sujets similaires à "calcul mediane groupe eleves"