Comment calculer la médiane sous plusieurs conditions dans Excel ?
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
- Code VBA – Calculer la médiane avec plusieurs conditions
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.

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.

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 :

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
(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
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.
- 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