Je cherche un moyen "élégant" d'automatiser le calcul d'une mediane sur un
"extrait de liste excel".
Je m'explique :
J'ai une liste excel qui contient 4 champs: nom lieu couleur et
poids....et quelques centaines de lignes...
Je souhaiterais calculer "automatiquement" la médiane des poids d'un
échantillon extrait en fonction d'un triplé "nom/lieu/couleur"
Je le fais actuellement "a la main" en utilisant le "filtre élaboré"
Une idée pour construire une formule ou une fonction qui renvoie le résultat
en fonction de 3 arguments?
Je cale!
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Nicolas B.
Bonsoir,
Renvoie la médiane pour le triplet (Nom, Lieu, Couleur) donné : =MEDIANE(SI((Plage_Noms=Nom)*(Plage_Lieu=Lieu)*(Plage_Couleur=Couleur);Plage_Poids;""))
(En formule matricielle : valider par CTRL+MAJ+ENTRÉE.)
Nicolas
Bonsoir à tous!
Je cherche un moyen "élégant" d'automatiser le calcul d'une mediane sur un "extrait de liste excel". Je m'explique : J'ai une liste excel qui contient 4 champs: nom lieu couleur et poids....et quelques centaines de lignes... Je souhaiterais calculer "automatiquement" la médiane des poids d'un échantillon extrait en fonction d'un triplé "nom/lieu/couleur"
Je le fais actuellement "a la main" en utilisant le "filtre élaboré" Une idée pour construire une formule ou une fonction qui renvoie le résultat en fonction de 3 arguments? Je cale!
Remerciements Anticipés, Bonne soirée à tous Yves
Bonsoir,
Renvoie la médiane pour le triplet (Nom, Lieu, Couleur) donné :
=MEDIANE(SI((Plage_Noms=Nom)*(Plage_Lieu=Lieu)*(Plage_Couleur=Couleur);Plage_Poids;""))
(En formule matricielle : valider par CTRL+MAJ+ENTRÉE.)
Nicolas
Bonsoir à tous!
Je cherche un moyen "élégant" d'automatiser le calcul d'une mediane sur un
"extrait de liste excel".
Je m'explique :
J'ai une liste excel qui contient 4 champs: nom lieu couleur et
poids....et quelques centaines de lignes...
Je souhaiterais calculer "automatiquement" la médiane des poids d'un
échantillon extrait en fonction d'un triplé "nom/lieu/couleur"
Je le fais actuellement "a la main" en utilisant le "filtre élaboré"
Une idée pour construire une formule ou une fonction qui renvoie le résultat
en fonction de 3 arguments?
Je cale!
Renvoie la médiane pour le triplet (Nom, Lieu, Couleur) donné : =MEDIANE(SI((Plage_Noms=Nom)*(Plage_Lieu=Lieu)*(Plage_Couleur=Couleur);Plage_Poids;""))
(En formule matricielle : valider par CTRL+MAJ+ENTRÉE.)
Nicolas
Bonsoir à tous!
Je cherche un moyen "élégant" d'automatiser le calcul d'une mediane sur un "extrait de liste excel". Je m'explique : J'ai une liste excel qui contient 4 champs: nom lieu couleur et poids....et quelques centaines de lignes... Je souhaiterais calculer "automatiquement" la médiane des poids d'un échantillon extrait en fonction d'un triplé "nom/lieu/couleur"
Je le fais actuellement "a la main" en utilisant le "filtre élaboré" Une idée pour construire une formule ou une fonction qui renvoie le résultat en fonction de 3 arguments? Je cale!
Remerciements Anticipés, Bonne soirée à tous Yves
Tatanka
Bonsoir,
Si tu veux obtenir des échantillons au hasard et sans répétitions, cette macro pourrait peut-être te convenir. Sélectionne la colonne contenant les poids (sans l'en-tête), et appelle la macro. Elle te donnera n échantillons de taille t pour des noms-lieux-couleurs tous différents. Tu n'as plus qu'à entrer la formule =MEDIANE(échantillon) en bas du premier échantillon et la tirer vers la droite.
Sub SansRemise() Dim Arr, i As Integer, J As Integer, t As Integer, Temp Dim n As Integer, taille As Integer On Error GoTo 100 If Selection.Columns.Count <> 1 Then Exit Sub Arr = Selection t = UBound(Arr) If t <= 1 Then Exit Sub taille = Application.InputBox("Taille de l'échantillon:", , , , , , , 1) If taille = False Then Exit Sub If taille > t Or taille < 1 Then MsgBox "La taille de l'échantillon doit être plus petite" _ & Chr(10) & "ou égale à " & t & " et plus grande que 0." _ & Chr(10) & "Recommencez.", 64, "Attention !" Exit Sub End If n = Application.InputBox("Combien d'échantillons?", , , , , , , 1) If n = False Then Exit Sub If n < 1 Then Exit Sub 200: Set ici = Application.InputBox("Sélectionnez une seule cellule." _ & " Vos échantillons apparaîtront sur une seule colonne à partir" _ & Chr(10) & "de la cellule sélectionnée.", , , , , , , 8) If ici.Cells.Count <> 1 Then rep = MsgBox("Une seule cellule, on a dit ", vbRetryCancel, "Attention !") If rep = 2 Then Exit Sub Else GoTo 200 End If End If Application.ScreenUpdating = False For g = 1 To n Randomize Timer For i = 1 To t J = Int(Rnd * (t - i + 1)) + i Temp = Arr(i, 1) Arr(i, 1) = Arr(J, 1) Arr(J, 1) = Temp k = k + 1 If k > taille Then Exit For ici.Offset(k - 1, g - 1).Value = Arr(i, 1) Next i k = 0 Next g Exit Sub 100: End Sub
Serge
"ylc" a écrit dans le message de news: 4810ef0e$0$846$
Bonsoir à tous!
Je cherche un moyen "élégant" d'automatiser le calcul d'une mediane sur un "extrait de liste excel". Je m'explique : J'ai une liste excel qui contient 4 champs: nom lieu couleur et poids....et quelques centaines de lignes... Je souhaiterais calculer "automatiquement" la médiane des poids d'un échantillon extrait en fonction d'un triplé "nom/lieu/couleur"
Je le fais actuellement "a la main" en utilisant le "filtre élaboré" Une idée pour construire une formule ou une fonction qui renvoie le résultat en fonction de 3 arguments? Je cale!
Remerciements Anticipés, Bonne soirée à tous Yves
Bonsoir,
Si tu veux obtenir des échantillons au hasard et sans répétitions,
cette macro pourrait peut-être te convenir.
Sélectionne la colonne contenant les poids (sans l'en-tête),
et appelle la macro. Elle te donnera n échantillons de taille t
pour des noms-lieux-couleurs tous différents.
Tu n'as plus qu'à entrer la formule =MEDIANE(échantillon)
en bas du premier échantillon et la tirer vers la droite.
Sub SansRemise()
Dim Arr, i As Integer, J As Integer, t As Integer, Temp
Dim n As Integer, taille As Integer
On Error GoTo 100
If Selection.Columns.Count <> 1 Then Exit Sub
Arr = Selection
t = UBound(Arr)
If t <= 1 Then Exit Sub
taille = Application.InputBox("Taille de l'échantillon:", , , , , , , 1)
If taille = False Then Exit Sub
If taille > t Or taille < 1 Then
MsgBox "La taille de l'échantillon doit être plus petite" _
& Chr(10) & "ou égale à " & t & " et plus grande que 0." _
& Chr(10) & "Recommencez.", 64, "Attention !"
Exit Sub
End If
n = Application.InputBox("Combien d'échantillons?", , , , , , , 1)
If n = False Then Exit Sub
If n < 1 Then Exit Sub
200:
Set ici = Application.InputBox("Sélectionnez une seule cellule." _
& " Vos échantillons apparaîtront sur une seule colonne à partir" _
& Chr(10) & "de la cellule sélectionnée.", , , , , , , 8)
If ici.Cells.Count <> 1 Then
rep = MsgBox("Une seule cellule, on a dit ", vbRetryCancel, "Attention !")
If rep = 2 Then
Exit Sub
Else
GoTo 200
End If
End If
Application.ScreenUpdating = False
For g = 1 To n
Randomize Timer
For i = 1 To t
J = Int(Rnd * (t - i + 1)) + i
Temp = Arr(i, 1)
Arr(i, 1) = Arr(J, 1)
Arr(J, 1) = Temp
k = k + 1
If k > taille Then Exit For
ici.Offset(k - 1, g - 1).Value = Arr(i, 1)
Next i
k = 0
Next g
Exit Sub
100:
End Sub
Serge
"ylc" <personne@wanadoo.fr> a écrit dans le message de news: 4810ef0e$0$846$ba4acef3@news.orange.fr...
Bonsoir à tous!
Je cherche un moyen "élégant" d'automatiser le calcul d'une mediane sur un
"extrait de liste excel".
Je m'explique :
J'ai une liste excel qui contient 4 champs: nom lieu couleur et
poids....et quelques centaines de lignes...
Je souhaiterais calculer "automatiquement" la médiane des poids d'un
échantillon extrait en fonction d'un triplé "nom/lieu/couleur"
Je le fais actuellement "a la main" en utilisant le "filtre élaboré"
Une idée pour construire une formule ou une fonction qui renvoie le résultat
en fonction de 3 arguments?
Je cale!
Si tu veux obtenir des échantillons au hasard et sans répétitions, cette macro pourrait peut-être te convenir. Sélectionne la colonne contenant les poids (sans l'en-tête), et appelle la macro. Elle te donnera n échantillons de taille t pour des noms-lieux-couleurs tous différents. Tu n'as plus qu'à entrer la formule =MEDIANE(échantillon) en bas du premier échantillon et la tirer vers la droite.
Sub SansRemise() Dim Arr, i As Integer, J As Integer, t As Integer, Temp Dim n As Integer, taille As Integer On Error GoTo 100 If Selection.Columns.Count <> 1 Then Exit Sub Arr = Selection t = UBound(Arr) If t <= 1 Then Exit Sub taille = Application.InputBox("Taille de l'échantillon:", , , , , , , 1) If taille = False Then Exit Sub If taille > t Or taille < 1 Then MsgBox "La taille de l'échantillon doit être plus petite" _ & Chr(10) & "ou égale à " & t & " et plus grande que 0." _ & Chr(10) & "Recommencez.", 64, "Attention !" Exit Sub End If n = Application.InputBox("Combien d'échantillons?", , , , , , , 1) If n = False Then Exit Sub If n < 1 Then Exit Sub 200: Set ici = Application.InputBox("Sélectionnez une seule cellule." _ & " Vos échantillons apparaîtront sur une seule colonne à partir" _ & Chr(10) & "de la cellule sélectionnée.", , , , , , , 8) If ici.Cells.Count <> 1 Then rep = MsgBox("Une seule cellule, on a dit ", vbRetryCancel, "Attention !") If rep = 2 Then Exit Sub Else GoTo 200 End If End If Application.ScreenUpdating = False For g = 1 To n Randomize Timer For i = 1 To t J = Int(Rnd * (t - i + 1)) + i Temp = Arr(i, 1) Arr(i, 1) = Arr(J, 1) Arr(J, 1) = Temp k = k + 1 If k > taille Then Exit For ici.Offset(k - 1, g - 1).Value = Arr(i, 1) Next i k = 0 Next g Exit Sub 100: End Sub
Serge
"ylc" a écrit dans le message de news: 4810ef0e$0$846$
Bonsoir à tous!
Je cherche un moyen "élégant" d'automatiser le calcul d'une mediane sur un "extrait de liste excel". Je m'explique : J'ai une liste excel qui contient 4 champs: nom lieu couleur et poids....et quelques centaines de lignes... Je souhaiterais calculer "automatiquement" la médiane des poids d'un échantillon extrait en fonction d'un triplé "nom/lieu/couleur"
Je le fais actuellement "a la main" en utilisant le "filtre élaboré" Une idée pour construire une formule ou une fonction qui renvoie le résultat en fonction de 3 arguments? Je cale!
Remerciements Anticipés, Bonne soirée à tous Yves
ylc
Merci beaucoup!
J'avais tenté un truc avec formule matricielle et somme prod mais sans succès; là cela ne peut que marcher! merci encore
Merci beaucoup!
J'avais tenté un truc avec formule matricielle et somme prod mais sans
succès;
là cela ne peut que marcher!
merci encore