KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment calculer la médiane sous plusieurs conditions dans Excel ?

AuteurSun Date de modification

Le calcul de la médiane d’un jeu de données dans Excel est une opération courante en analyse de données et dans la rédaction de rapports. Si déterminer la médiane d’une plage simple s’effectue aisément grâce aux fonctions standard d’Excel, il arrive fréquemment que vous ayez besoin de cette valeur uniquement à partir de données répondant à plusieurs critères précis — par exemple, identifier le montant médian des ventes pour un produit donné à une date spécifique au sein d’un vaste ensemble de données. Réaliser ce type de calculs conditionnels complexes avec les seules fonctions traditionnelles peut vite devenir délicat. Dans ce tutoriel, nous vous proposons plusieurs solutions pratiques pour calculer la médiane sous conditions multiples dans Excel, en combinant à la fois des méthodes basées sur des formules et l’automatisation via VBA pour les cas les plus avancés.


Calculer la médiane sous plusieurs conditions

Supposons que vous disposiez d’une plage de données telle que présentée ci-dessous, et que votre objectif soit de déterminer la valeur médiane répondant à deux critères : par exemple, trouver la médiane des valeurs de la colonne B lorsque la colonne A contient « a » et que la colonne C indique la date du « 2 janv. ». Ce type de scénario est particulièrement courant dans les rapports de ventes, les résultats d’examens scolaires ou toute autre analyse professionnelle ou académique nécessitant un filtrage multicritères.

une capture d’écran des données d’origine

Pour plus de clarté, préparez votre feuille de calcul comme suit : dans votre classeur Excel, saisissez vos critères et organisez votre mise en page de manière similaire à l’illustration ci-dessous. La colonne E répertorie les critères applicables à la colonne A, tandis que la ligne 1 des colonnes F et suivantes présente les critères de date provenant de la colonne C.

une capture d’écran de la saisie des nouvelles données requises

Pour calculer la médiane répondant à plusieurs critères, utilisez une formule matricielle combinant les fonctions MEDIANE et SI afin de générer une liste filtrée de valeurs selon vos conditions. Voici comment procéder :

1.Cliquez sur la cellule F2, là où vous souhaitez afficher le résultat de la médiane, et saisissez la formule suivante :

=MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12)))

Cette formule vérifie, pour chaque ligne, si la valeur de la colonne A correspond au critère indiqué en E2 et si celle de la colonne C correspond à l’en-tête situé en F1. Lorsque ces deux conditions sont remplies, elle inclut la valeur de la colonne B dans le calcul de la médiane.

2. Après avoir saisi la formule, appuyez sur Ctrl + Maj + Entrée (et non simplement sur Entrée), car il s’agit d’une formule matricielle. Excel entourera automatiquement la formule d’accolades { } pour indiquer qu’il s’agit bien d’une formule matricielle.

3.Faites glisser la poignée de recopie située dans le coin inférieur droit de F2 afin de copier la formule vers les autres cellules pertinentes où vous avez besoin de médianes sous différentes conditions, comme illustré ci-dessous :

une capture d’écran de l’utilisation de la formule

Explications des paramètres et conseils d’utilisation : Dans la formule, $A$2:$A$12 correspond à la plage contenant le premier critère (par exemple, les noms de produits), $C$2:$C$12 correspond à la plage du deuxième critère (par exemple, les dates), et $B$2:$B$12 est la plage contenant les valeurs numériques dont vous souhaitez obtenir la médiane. Adaptez ces plages selon votre propre feuille de calcul. Utilisez toujours des références absolues (symboles $) afin que les plages ne changent pas lorsque vous copiez la formule.

Précautions : Si aucune valeur ne remplit les deux conditions, la formule renvoie une erreur #NOMBRE!. Pour éviter toute confusion, vous pouvez imbriquer la formule dans la fonction SIERREUR afin de renvoyer une cellule vide ou un message personnalisé :

=IFERROR(MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12))),"No match")

Veillez à ce que vos données ne contiennent ni cellules vides ni valeurs non numériques dans la colonne utilisée pour le calcul de la médiane, car cela risquerait de fausser les résultats.

Cette approche basée sur des formules convient parfaitement aux situations où les conditions sont relativement simples (généralement limitées à deux ou trois critères). Elle s’installe rapidement et ne requiert aucune connaissance en programmation. Toutefois, dans le cas de filtrages complexes impliquant des critères dynamiques ou de grands volumes de données, la maintenance ou la modification des formules matricielles peut vite devenir fastidieuse.


Code VBA – Calculer la médiane avec plusieurs conditions

Dans les scénarios où vous devez automatiser le calcul d’une médiane conditionnelle — notamment en présence de nombreux critères, de grands jeux de données ou lorsque ces critères évoluent fréquemment — une solution VBA s’impose comme une alternative pratique. Grâce à VBA, vous pouvez concevoir une macro réutilisable capable de calculer la médiane selon un nombre illimité de conditions. Les solutions VBA se révèlent particulièrement efficaces pour rationaliser des analyses répétitives ou pour créer des processus Excel sur mesure, parfaitement adaptés à vos rapports et tableaux de bord.

Suivez ces étapes pour utiliser VBA dans le calcul de la médiane conditionnelle :

1. Cliquez sur Outils de développement > Visual Basic. Une nouvelle fenêtre Microsoft Visual Basic pour Applications s’ouvre. Cliquez sur Insertion > Module, puis collez le code suivant dans le module :

Sub ConditionalMedian()
    Dim DataRange As Range
    Dim CriteriaRange1 As Range
    Dim CriteriaRange2 As Range
    Dim OutputRange As Range
    Dim Criteria1 As Variant
    Dim Criteria2 As Variant
    Dim TempArr() As Double
    Dim i As Long
    Dim j As Long
    Dim count As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set DataRange = Application.InputBox("Select the range containing median values (e.g., B2:B12):", xTitleId, "", Type:=8)
    Set CriteriaRange1 = Application.InputBox("Select the first criteria range (e.g., A2:A12):", xTitleId, "", Type:=8)
    Criteria1 = Application.InputBox("Enter the first criteria value (e.g., a):", xTitleId, "", Type:=2)
    Set CriteriaRange2 = Application.InputBox("Select the second criteria range (e.g., C2:C12):", xTitleId, "", Type:=8)
    Criteria2 = Application.InputBox("Enter the second criteria value (e.g.,2-Jan):", xTitleId, "", Type:=2)
    Set OutputRange = Application.InputBox("Select the cell to output the result:", xTitleId, "", Type:=8)
    
    count = 0
    For i = 1 To DataRange.Rows.count
        If StrComp(CStr(CriteriaRange1.Cells(i, 1).Value), CStr(Criteria1), vbTextCompare) = 0 And _
           CStr(CriteriaRange2.Cells(i, 1).Value) = CStr(Criteria2) Then
            ReDim Preserve TempArr(count)
            TempArr(count) = DataRange.Cells(i, 1).Value
            count = count + 1
        End If
    Next i
    
    If count = 0 Then
        OutputRange.Value = "No match"
    Else
        Call QuickSort(TempArr, LBound(TempArr), UBound(TempArr))
        If count Mod 2 = 1 Then
            OutputRange.Value = TempArr(count \ 2)
        Else
            OutputRange.Value = (TempArr(count \ 2) + TempArr(count \ 2 - 1)) / 2
        End If
    End If
End Sub

Sub QuickSort(arr() As Double, first As Long, last As Long)
    Dim i As Long
    Dim j As Long
    Dim pivot As Double
    Dim temp As Double
    
    i = first
    j = last
    pivot = arr((first + last) \ 2)
    
    Do While i <= j
        Do While arr(i) < pivot
            i = i + 1
        Loop
        
        Do While arr(j) > pivot
            j = j - 1
        Loop
        
        If i <= j Then
            temp = arr(i)
            arr(i) = arr(j)
            arr(j) = temp
            i = i + 1
            j = j - 1
        End If
    Loop
    
    If first < j Then
        QuickSort arr, first, j
    End If
    
    If i < last Then
        QuickSort arr, i, last
    End If
End Sub

2. Cliquez sur le bouton Bouton Exécuter (ou appuyez sur F5) pour exécuter le code. Vous serez invité à sélectionner chacune des plages requises et à saisir vos critères. Une fois les invites complétées, le résultat — la médiane correspondant à tous vos critères — s’affichera dans la cellule cible que vous aurez spécifiée.

Cette macro vous permet de sélectionner de manière flexible, à chaque exécution, la plage de valeurs, les plages de critères, les valeurs des critères et la cellule de destination du résultat. Vous pouvez également adapter facilement le code pour inclure davantage de conditions si nécessaire.

Conseils et résolution de problèmes : Lorsque vous utilisez des solutions VBA, assurez-vous que toutes les plages sélectionnées ont la même longueur et que les critères correspondent au bon type de données et au bon format (par exemple, texte ou dates). Si aucune valeur ne satisfait les critères, le résultat affichera « Aucune correspondance. ». Pour garantir une stabilité optimale, enregistrez votre classeur avant d’exécuter la macro et activez toujours les macros lorsque vous y êtes invité. Cette solution VBA est destinée aux utilisateurs familiarisés avec les paramètres de sécurité des macros et conçue pour des flux de travail Excel automatisés.

En résumé, l’approche VBA automatise les calculs de médiane complexes qui seraient fastidieux ou difficiles à réaliser uniquement avec des formules. Elle est particulièrement adaptée aux situations impliquant des critères variables, des recalculs fréquents et de grands volumes de données.


Articles associés :


Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
  • Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
  • Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels