Come calcolare la media di un intervallo dinamico in Excel?
In Excel, può capitare di dover calcolare la media di un intervallo che non è fisso, ma cambia dinamicamente—in base ai valori inseriti, ai criteri aggiornati o quando si analizzano dati in continua crescita o modifica. Questa esigenza è comune nei report, nei dashboard o tutte le volte che serve aggregare dati con condizioni flessibili. Fortunatamente, Excel offre diversi metodi pratici, dalle formule agli strumenti avanzati, per calcolare la media di un intervallo dinamico, ciascuno adatto a scenari specifici. Di seguito troverai diversi approcci per questa operazione, con spiegazioni sui vantaggi, sulle situazioni in cui applicarli e consigli pratici.
- Calcolare la media di un intervallo dinamico con le formule
- Calcolare la media di un intervallo dinamico in base ai criteri
- Codice VBA – Calcolare la media di un intervallo dinamico tramite macro
Metodo1: Calcolare la media di un intervallo dinamico in Excel
Le formule rappresentano una soluzione versatile per calcolare la media di un intervallo dinamico, soprattutto quando il punto di inizio o di fine dell’intervallo cambia spesso, come avviene per le vendite mensili o i totali progressivi. Con una cella di input che definisce il limite dell’intervallo, puoi aggiornare rapidamente i dati senza dover modificare la formula ogni volta.
Per configurare questo metodo, seleziona una cella vuota, ad esempio la C4, ed inserisci la seguente formula:
=IF(C2=0,"NA",AVERAGE(A2:INDEX(A:A,C2)))
Poi premi il tasto Invio per visualizzare la media calcolata.

Questa formula regola automaticamente l’intervallo per includere tutte le celle da A2 alla riga indicata da C2; dunque, quando il valore di C2 cambia, cambia anche l’intervallo mediato. Questo la rende flessibile per estendere o restringere dinamicamente l’intervallo man mano che arrivano nuovi dati oppure per analizzare rapidamente un sottoinsieme specifico.
Nota:
(1) In questa formula =IF(C2=0,"NA",AVERAGE(A2:INDEX(A:A,C2)))
: A2 rappresenta la prima cella dell’intervallo da mediare, mentre C2 indica la cella che contiene il numero di riga dell’ultima cella dell’intervallo di destinazione. Puoi modificare questi riferimenti secondo la tua struttura dati. Assicurati che C2 sia una riga valida, altrimenti otterrai risultati imprevisti oppure "NA".
(2) In alternativa, puoi usare:
=AVERAGE(INDIRECT("A2:A"&C2))
Questo metodo funziona in modo equivalente, in quanto crea un riferimento testuale dell’intervallo che la funzione INDIRECT
interpreta dinamicamente. Tuttavia, fai attenzione all’uso di INDIRECT con cartelle chiuse o grandi volumi di dati: può rallentare i calcoli e non è efficiente quanto INDEX sui dati volatili.
Consiglio pratico: Se i tuoi dati crescono continuamente (ad esempio aggiungendo nuove righe ogni giorno), puoi sfruttare la funzione COUNTA o COUNT per impostare automaticamente il riferimento della cella limite superiore—così l’intervallo dinamico coprirà sempre le voci più aggiornate.
Scenari d’uso: Log giornalieri, serie temporali, o analisi in cui l’inizio o la fine dell’intervallo è guidato dall’input utente o da una cella di riepilogo. Vantaggi: Diretto, non richiede strumenti aggiuntivi. Limite: Occorre modificare la formula se la posizione delle righe cambia drasticamente.
Calcolare la media di un intervallo dinamico in base ai criteri
Quando il tuo intervallo dinamico è definito non dalla posizione, ma da specifici criteri (come regione, categoria, o etichetta definita dall’utente), puoi unire intervalli dinamici nominati e funzioni come INDIRECT per adattare i calcoli. Questo è particolarmente utile nei dashboard dove si seleziona un’opzione da un menu a tendina per vedere immediatamente la media correlata.
Prima raggruppa il tuo dataset tramite intestazioni di riga o colonna. Ecco come:
1. Seleziona l’intera area (ad esempio A1:D11), e fai clic su Crea da selezione pulsante nel Nomi riquadro. Nella finestra popup, seleziona sia Riga superiore e Colonna più a sinistra opzioni, quindi clicca su OK. Con questo passaggio vengono assegnati automaticamente i nomi agli intervalli di dati per righe e colonne, facilitando il loro riferimento nelle formule.
2. Nella cella vuota scelta, inserisci questa formula:
=AVERAGE(INDIRECT(G2))
Qui, G2 è la cella del criterio dove l’utente può digitare o selezionare il nome dell’intestazione di riga o colonna. Quando G2 cambia (ad esempio da "Regione1" a "Regione2"), la formula calcola dinamicamente la media per l’intervallo corrispondente. Assicurati che gli input in G2 corrispondano perfettamente ai nomi definiti (inclusa la distinzione tra maiuscole e minuscole) per evitare errori #RIF!.
Ideale per: Dashboard di reportistica, analisi basate su criteri. Vantaggi: Permette una reportistica dinamica molto flessibile o analisi su singola cella tramite interazione utente. Limite: Necessita una gestione accurata dei nomi e input coerenti.
Conta/Somma/Media automaticamente le celle per colore di riempimento in Excel
A volte contrassegni le celle con un colore di riempimento e vuoi poi contarle, sommarle o calcolare la media. Kutools per Excel, grazie alla funzione Conta per colore può aiutarti a risolvere il problema con semplicità.

Kutools per Excel - Potenzia Excel con oltre 300 strumenti essenziali. Goditi funzionalità AI gratuite per sempre! Ottienilo ora
Codice VBA – Calcolare la media di un intervallo dinamico tramite macro
Per esigenze dinamiche avanzate, come calcolare la media delle ultime N righe, media in base a criteri multipli o anche combinare dati da diversi fogli, puoi creare una macro VBA personalizzata. Questo approccio è utile quando le formule integrate diventano troppo complesse oppure hai bisogno di automatizzare calcoli che cambiano frequentemente la struttura dei dati.
Ad esempio, potresti voler calcolare la media delle ultime N righe nella colonna A (dove N è inserito dall’utente), oppure fare la media di valori da intervalli non contigui scelti dall’utente.
1. Vai su Strumenti di sviluppo > Visual Basic per aprire Microsoft Visual Basic for Applications. Poi seleziona Inserisci > Modulo e incolla il seguente codice VBA:
Sub DynamicAverage_LastNRows()
Dim ws As Worksheet
Dim rng As Range
Dim lastRow As Long
Dim N As Long
Dim result As Double
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
N = Application.InputBox("How many last rows to average?", xTitleId, 5, Type:=1)
If N <= 0 Or N > lastRow - 1 Then
MsgBox "Invalid input for N!", vbExclamation
Exit Sub
End If
Set rng = ws.Range("A" & lastRow - N + 1, "A" & lastRow)
result = Application.WorksheetFunction.Average(rng)
MsgBox "Average of the last " & N & " rows in column A: " & result, vbInformation
End Sub
2. Fai clic sul pulsante per avviare la macro. Nella finestra che compare, inserisci il numero di ultime righe di cui vuoi calcolare la media (es.5,10, ecc.) e conferma con OK. Il risultato apparirà in un box di messaggio.
Per calcolare la media con condizioni più complesse (ad esempio in base a criteri o su più fogli), puoi adattare il codice VBA di conseguenza—ad esempio aggiungendo delle InputBox per i criteri, oppure facendo il ciclo su diversi fogli per unire gli intervalli da mediare.
Questo metodo offre il massimo della flessibilità e consente di automatizzare calcoli dinamici complessi o ripetitivi. Tuttavia, assicurati di abilitare le macro e usa questo approccio solo in cartelle di lavoro affidabili per evitare rischi di sicurezza. Salva sempre prima di eseguire nuove macro e considera backup prima di eseguire automatismi.
Pro: Permette l’automazione, gestisce scenari di dati complessi o ampi, può essere personalizzato per logiche commerciali molto specifiche. Contro: Richiede una conoscenza base di VBA e le procedure vanno modificate se cambia la struttura.
I migliori strumenti per la produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un'efficienza mai vista prima. Kutools per Excel offre oltre300 funzionalità avanzate per aumentare la produttività e farti risparmiare tempo. Clicca qui per ottenere la funzione di cui hai più bisogno...
Office Tab porta le schede su Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede della stessa finestra invece che in nuove finestre.
- Aumenta la produttività del50% e riduce centinaia di clic del mouse ogni giorno!
Tutti gli add-in Kutools. Un solo programma di installazione
La suite Kutools for Office include add-in per Excel, Word, Outlook & PowerPoint più Office Tab Pro, ideale per i team che lavorano su più app di Office.





- Suite tutto-in-uno — Add-in per Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un solo programma di installazione, una sola licenza — configurazione in pochi minuti (pronto per MSI)
- Funzionano meglio insieme — produttività ottimizzata su tutte le app Office
- Prova completa30 giorni — nessuna registrazione, nessuna carta di credito
- Massimo risparmio — costa meno rispetto all’acquisto singolo degli add-in