Hoe berekent u de mediaan in Excel wanneer meerdere voorwaarden van toepassing zijn?
Het berekenen van de mediaan van een dataset in Excel is een veelvoorkomende bewerking in data-analyse en rapportage. Hoewel u de mediaan voor een eenvoudig bereik snel kunt bepalen met standaard Excel-functies, komt het vaak voor dat u alleen de mediaan wilt van gegevens die aan meerdere specifieke criteria voldoen—bijvoorbeeld de mediaan van verkoopbedragen voor een bepaald product op een specifieke datum binnen een grote dataset. Zulke complexe, voorwaardelijke berekeningen uitvoeren met alleen traditionele functies kan lastig zijn. In deze handleiding bespreken we verschillende praktische oplossingen om de mediaan met meerdere voorwaarden in Excel te berekenen, zowel met formules als met automatisering via VBA voor geavanceerde behoeften.
- Mediaan berekenen als meerdere voorwaarden worden voldaan
- VBA-code – Mediaan berekenen met meerdere voorwaarden
Mediaan berekenen als meerdere voorwaarden worden voldaan
Stel dat u een gegevensbereik hebt zoals hieronder weergegeven, en dat u de mediaanwaarde moet bepalen op basis van twee criteria: bijvoorbeeld de mediaan van kolom B waarbij kolom A de waarde „a” bevat én kolom C de datum „2-jan” bevat. Dit scenario komt veelvuldig voor in verkooprapportages, toetsresultaten van klassen en andere zakelijke of academische data-analyses waarbij filteren op meerdere categorieën essentieel is.

Voor duidelijkheid stellen we het werkblad als volgt in: Voer uw voorwaarden in uw Excel-werkblad in en maak een lay-out zoals in de onderstaande afbeelding. Kolom E bevat hier de criteria voor kolom A, en rij 1 vanaf kolom F geeft de datumcriteria van kolom C weer.

Om de mediaan te berekenen die aan meerdere criteria voldoet, gebruikt u een matrixformule met de MEDIAAN- en ALS-functies om een gefilterde lijst met waarden te genereren op basis van uw voorwaarden. Zo gaat u te werk:
1.Klik op cel F2, waar u het mediaanresultaat wilt weergeven, en voer de volgende formule in:
=MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12))) Deze formule controleert per rij of de waarde in kolom A voldoet aan de voorwaarde in cel E2 én of de waarde in kolom C overeenkomt met de koptekst in F1. Als beide voorwaarden zijn voldaan, neemt de formule de bijbehorende waarde uit kolom B op voor de berekening van de mediaan.
2.Nadat u de formule hebt ingevoerd, drukt u op Ctrl + Shift + Enter (niet alleen op Enter), omdat dit een matrixformule is. Excel plaatst automatisch accolades { } rond de formule om aan te geven dat het een matrixformule betreft.
3.Sleep de vulgreep vanuit de rechterbenedenhoek van F2 om de formule naar andere relevante cellen te kopiëren waar u mediaanwaarden onder verschillende voorwaarden nodig hebt, zoals hieronder wordt weergegeven:

Uitleg van parameters en gebruikstips: In de formule is $A$2:$A$12 het bereik met de eerste voorwaarde (bijvoorbeeld productnamen), $C$2:$C$12 het bereik voor de tweede voorwaarde (bijvoorbeeld datums) en $B$2:$B$12 het bereik met de numerieke waarden waarvan u de mediaan wilt bepalen. Pas deze bereiken aan aan uw eigen werkblad. Gebruik altijd absolute verwijzingen ($-tekens), zodat de bereiken niet verschuiven wanneer u de formule kopieert.
Waarschuwingen: Als er geen waarden zijn die aan beide voorwaarden voldoen, retourneert de formule een #GETAL!-fout. Om verwarring te voorkomen, kunt u de formule insluiten in ALS.FOUT om een lege cel of een aangepast bericht weer te geven:
=IFERROR(MEDIAN(IF($A$2:$A$12=$E2,IF($C$2:$C$12=F$1,$B$2:$B$12))),"No match") Zorg ervoor dat de kolom waarvan u de mediaan berekent geen lege cellen of niet-numerieke waarden bevat, aangezien dit de resultaten kan beïnvloeden.
Deze op formules gebaseerde aanpak is geschikt wanneer u relatief eenvoudige voorwaarden heeft (meestal maximaal twee of drie criteria). Het is snel ingesteld en vereist geen programmeervaardigheden. Voor complexe filters met dynamische voorwaarden of grotere datasets kan het onderhouden of bewerken van matrixformules echter omslachtig worden.
VBA-code – Mediaan berekenen met meerdere voorwaarden
Voor scenario’s waarin u de voorwaardelijke mediaanberekening wilt automatiseren—bijvoorbeeld bij meerdere voorwaarden, grote datasets of wanneer de criteria regelmatig veranderen—biedt een VBA-oplossing een praktisch alternatief. Met VBA bouwt u een herbruikbare macro die de mediaan berekent op basis van een willekeurig aantal voorwaarden. VBA-oplossingen zijn dan vooral handig als u herhalende analyses wilt stroomlijnen of aangepaste Excel-processen wilt ontwikkelen voor rapportage en dashboards.
Volg deze stappen om VBA te gebruiken voor voorwaardelijke mediaanberekening:
1. Klik op Ontwikkelaarshulpmiddelen > Visual Basic. Er wordt een nieuw Microsoft Visual Basic for Applications-venster geopend. Klik op Invoegen > Module en plak de volgende code in de 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. Klik op de
-knop (of druk op F5) om de code uit te voeren. U wordt gevraagd elk van de vereiste bereiken te selecteren en uw criteria in te voeren. Zodra u alle prompts hebt ingevuld, verschijnt het resultaat — de mediaan die aan alle criteria voldoet — in de doelcel die u heeft opgegeven.
Met deze macro kunt u bij elke uitvoering flexibel het waardenbereik, de criteriabereiken, de criteriawaarden en de uitvoercel kiezen. De code is bovendien eenvoudig aan te passen om, indien nodig, extra voorwaarden toe te voegen.
Tips en probleemoplossing: Zorg bij het gebruik van VBA-oplossingen dat alle geselecteerde bereiken even lang zijn en dat de criteria overeenkomen met het juiste datatype en de juiste opmaak (bijvoorbeeld tekst versus datums). Als geen enkele waarde aan de criteria voldoet, wordt „Geen overeenkomst.” weergegeven. Voor optimale stabiliteit slaat u uw werkmap op voordat u de macro uitvoert en schakelt u altijd macros in wanneer daarom wordt gevraagd. Deze VBA-oplossing is geschikt voor gebruikers die bekend zijn met macrobeveiligingsinstellingen en deze willen gebruiken in geautomatiseerde Excel-workflows.
Kort samengevat automatiseert de VBA-aanpak complexe mediaanberekeningen die met alleen formules omslachtig of lastig uit te voeren zijn — ideaal bij variabele voorwaarden, frequente herberekeningen en grote datasets.
Gerelateerde artikelen:
Beste Office-productiviteitshulpmiddelen
Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...
Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger
- Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
- Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
- Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!
Alle Kutools-add-ins in één installatieprogramma.
Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.
- Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
- Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
- Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
- 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
- Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins