KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe berekent u de mediaan in Excel wanneer meerdere voorwaarden van toepassing zijn?

AuteurSun Wijzigingsdatum

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

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.

een schermafbeelding van de oorspronkelijke gegevens

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.

een schermafbeelding van het invoeren van nieuwe vereiste gegevens

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:

een schermafbeelding van het gebruik van de formule

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 Uitvoeren-knop-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

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

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.

ExcelWordOutlookTabsPowerPoint
  • 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