KutoolsforOffice — Un'unica soluzione, cinque potenti strumenti.Ottenere di più con meno sforzo.

Come calcolare la mediana in Excel applicando più condizioni?

AutoreSun Data di modifica

Calcolare la mediana di un set di dati in Excel è un'operazione spesso necessaria nell'Analisi dei dati e nella creazione di report. Sebbene sia possibile ottenere rapidamente la mediana per un intervallo semplice utilizzando le funzioni standard di Excel, capita frequentemente di dover calcolare la mediana solo sui dati che soddisfano criteri specifici multipli—ad esempio, trovare la mediana degli importi di vendita per un determinato prodotto in una data specifica all'interno di un ampio set di dati. Gestire operazioni così complesse e condizionali usando soltanto le funzioni tradizionali può risultare difficoltoso. In questa guida illustreremo diverse soluzioni pratiche per calcolare la mediana con più condizioni in Excel, esplorando sia approcci basati su formule che l'automazione tramite VBA per esigenze avanzate.


Calcola la mediana se soddisfa più condizioni

Si supponga di avere un intervallo dati come mostrato di seguito e di dover determinare il valore mediano che soddisfi due criteri: ad esempio, calcolare la mediana dei valori nella colonna B in cui la colonna A contiene «a» e la colonna C riporta la data «2-gen». Questo scenario è particolarmente comune nei report di vendita, nei risultati di test scolastici e in altri contesti aziendali o accademici in cui è necessario filtrare i dati in base a più categorie.

uno screenshot dei dati originali

Per maggiore chiarezza, prepari il foglio di lavoro come segue: nel foglio Excel inserisca i criteri e crei un layout simile a quello mostrato nell’immagine sottostante. In questo layout, la colonna E riporta i criteri relativi alla colonna A, mentre la riga 1, a partire dalla colonna F, indica i criteri di data tratti dalla colonna C.

uno screenshot dell'inserimento di nuovi dati richiesti

Per calcolare la mediana che soddisfa più criteri, puoi utilizzare una formula matriciale che combina le funzioni MEDIANA e SE per creare un elenco filtrato di valori in base alle tue condizioni. Ecco come fare:

1.Faccia clic sulla cella F2, dove desidera visualizzare il risultato della mediana, e inserisca la seguente formula:

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

Questa formula verifica, per ogni riga, se il valore nella colonna A soddisfa la condizione indicata in E2 e se il valore nella colonna C corrisponde all’intestazione riportata in F1. Qualora entrambe le condizioni siano verificate, include il valore della colonna B nel calcolo della mediana.

2. Dopo aver inserito la formula, premi Ctrl + Maiusc + Invio (non semplicemente Invio), poiché si tratta di una formula matriciale. Excel racchiuderà automaticamente la formula tra parentesi graffe { } per indicare che è una formula matriciale.

3.Trascini la maniglia di riempimento dall’angolo in basso a destra di F2 per copiare la formula nelle altre celle pertinenti in cui servono mediane con condizioni diverse, come mostrato di seguito:

uno screenshot dell'utilizzo della formula

Spiegazione dei parametri e suggerimenti per l’uso: Nella formula, $A$2:$A$12 è l’intervallo che contiene la prima condizione (ad esempio, i nomi dei prodotti), $C$2:$C$12 è l’intervallo relativo alla seconda condizione (ad esempio, le date) e $B$2:$B$12 è l’intervallo con i valori numerici sui quali calcolare la mediana. Adatta questi intervalli in base al tuo foglio di lavoro e usa sempre i riferimenti assoluti (con il simbolo $) per evitare che gli intervalli si modifichino quando copi la formula.

Precauzioni:Se nessun valore soddisfa entrambe le condizioni, la formula restituirà un errore #NUM!Per evitare confusione, è possibile annidare la formula all’interno della funzione SE.ERROREper restituire una cella vuota o un messaggio personalizzato:

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

Assicurati che i dati non contengano celle vuote o valori non numerici nella colonna della mediana, poiché potrebbero compromettere l’affidabilità dei risultati.

Questo approccio basato su formule è adatto quando si hanno condizioni relativamente semplici (tipicamente fino a due o tre criteri). È rapido da impostare e non richiede competenze di programmazione. Tuttavia, per filtri complessi con condizioni dinamiche o set di dati molto grandi, la gestione o la modifica delle formule matriciali può diventare difficoltosa.


Codice VBA - Calcola la mediana con più condizioni

Quando è necessario automatizzare il calcolo della mediana condizionata—ad esempio con numerosi criteri, set di dati estesi o condizioni soggette a frequenti aggiornamenti—una soluzione VBA rappresenta un’alternativa pratica ed efficiente. Grazie a VBA, puoi creare una macro riutilizzabile in grado di calcolare la mediana in base a qualsiasi numero di condizioni. Le soluzioni basate su VBA si rivelano particolarmente utili per semplificare analisi ripetitive e sviluppare processi personalizzati in Excel, ideali per reportistica e dashboard dinamiche.

Segua questi passaggi per utilizzare VBA nel calcolo della mediana condizionata:

1. Faccia clic su Strumenti per sviluppatori > Visual Basic. Si aprirà una nuova finestra di Microsoft Visual Basic for Applications. Faccia clic su Inserisci > Modulo, quindi incollare il codice seguente nel modulo:

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. Fai clic sul pulsante Pulsante Esegui (o premi F5) per eseguire il codice. Ti verrà chiesto di selezionare ciascuno degli intervalli richiesti e di inserire i tuoi criteri. Al termine delle richieste, il risultato — la mediana che soddisfa tutti i criteri — verrà visualizzato nella cella di destinazione specificata.

Questa macro ti permette di selezionare in modo flessibile, ogni volta che la esegui, l’intervallo dei valori, gli intervalli e i valori dei criteri, nonché la cella in cui visualizzare il risultato. Inoltre, puoi adattare facilmente il codice per aggiungere ulteriori condizioni, se necessario.

Suggerimenti e risoluzione problemi: Quando utilizzi soluzioni VBA, assicurati che tutti gli intervalli selezionati abbiano la stessa lunghezza e che i criteri corrispondano al tipo di dati e alla formattazione corretti (ad esempio testo anziché date). Se nessun valore soddisfa i criteri, l’output mostrerà «Nessuna corrispondenza». Per una maggiore stabilità, salva sempre la cartella di lavoro prima di eseguire la macro e abilita le macro non appena richiesto. Questa soluzione VBA è ideale per utenti esperti nelle impostazioni di sicurezza delle macro e per l’uso in flussi di lavoro Excel automatizzati.

In sintesi, l’approccio VBA automatizza calcoli complessi della mediana che, con le sole formule, risulterebbero difficili o macchinosi da eseguire. È la scelta ideale per gestire condizioni variabili, ricalcoli frequenti e set di dati di grandi dimensioni.


Articoli correlati:


Migliori Strumenti per la Produttività in Office

🤖KUTOOLS AI Assistente: Rivoluziona Analisi dei dati in base a:Esecuzione Intelligente   |  Genera Codice|  Crea formule personalizzate  |  Analizza Dati e Genera Grafici|  Richiama Funzioni avanzate
Funzionalità Popolari:Trova, Evidenzia o Contrassegna Duplicati   |  Elimina righe vuote   |  Combinare Colonne o Celle senza Perdere Dati   |   Arrotondamento senza usare la formula...
Super RICERCA.VERT:VLookup con Criteri Multipli  |  VLookup con Valori Multipli  |   VLookup tra Fogli Multipli   |   Corrispondenza approssimativa....
Elenco a discesa avanzato:Crea Rapidamente un Elenco a Discesa   |  Elenco a Discesa Dipendente   |  Elenco a Discesa con Selezione Multipla....
Gestione Colonne:Aggiungi un Numero Specifico di Colonne|Sposta Colonne|Attiva/Disattiva lo Stato di Visibilità delle Colonne Nascoste|Confronta Intervalli e Colonne...
Funzionalità in Evidenza:Attenzione della griglia   |  Visualizzazione Design   |Barra delle formule avanzata   | Gestione Cartelle di Lavoro e Fogli   |  Biblioteca di risorse(Testo Automatico)|  Selettore di Date   |  Unisci fogli di lavoro  |  Crittografa/Decrittografa celle   | Invia Email da Lista   |  Super Filtri   |   Filtro speciale(Filtra celle con testo in grassetto/corsivo/barrato...) ...
Principali Set di Strumenti 15:12 Strumentiper il Testo(Aggiungi testo,Elimina Caratteri Specifici, ...)|   50+Tipidi Grafico(Diagramma di Gantt, ...)|   40+ Formule Pratiche(Calcola l'età in base alla data di nascita, ...)|   19 Strumentidi Inserimento(Inserisci Codice QR,Inserisci Immagine dal Percorso, ...)|   12 Strumentidi Conversione(Converti in parole,Conversione del tasso di cambio, ...)|   7 StrumentiUnisci e Dividi(Unione avanzata righe,Dividi celle, ...)|... e molto altro
Usa Kutools nella tua lingua preferita – supporta inglese, spagnolo, tedesco, francese, cinese e 40+ altre!

Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...


Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice

  • Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
  • Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!

Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.

Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.

ExcelWordOutlookTabsPowerPoint
  • Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
  • Funziona meglio insieme— produttività ottimizzata tra le app di Office
  • Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
  • Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi