Skip to main content

Kutools per Office — Una Suite. Cinque Strumenti. Ottieni di Più.

Come calcolare la media ponderata in Excel?

Author Kelly Last modified

Le medie ponderate sono comunemente utilizzate in scenari in cui diversi elementi contribuiscono in modo disuguale al risultato complessivo. Ad esempio, quando si analizza una lista della spesa che include i prezzi dei prodotti, i pesi e le quantità, utilizzare la funzione MEDIA normale in Excel calcolerebbe solo la semplice media aritmetica, ignorando quanto spesso o quanto pesantemente gli elementi appaiono. Tuttavia, in molti casi aziendali o di budget, potrebbe essere necessario calcolare una media ponderata—come il prezzo medio per unità, considerando le quantità o i pesi—in modo che l'impatto di ogni elemento sia proporzionale alla sua importanza. Questo articolo tratterà come calcolare le medie ponderate in Excel, inclusi scenari con criteri specifici, oltre a tecniche avanzate utilizzando VBA e Tabelle Pivot per requisiti più dinamici o complessi.

Calcolo della media ponderata in Excel

Calcola la media ponderata se soddisfa criteri specifici in Excel

Codice VBA – Automatizza il calcolo della media ponderata per intervalli dinamici o criteri multipli


Calcolo della media ponderata in Excel

Supponiamo di avere una lista della spesa come mostrato nello screenshot sottostante. Mentre la funzione MEDIA di Excel fornirebbe la media dei prezzi senza tener conto del peso o della quantità, un approccio più accurato in questi casi è calcolare la media ponderata. Questo riflette meglio il costo reale per unità dando agli elementi con pesi o frequenze maggiori un'influenza più forte sul risultato finale.

a screenshot showing the original data

Per calcolare il prezzo medio ponderato, utilizza una combinazione delle funzioni SOMMA.PRODOTTO e SOMMA come segue:

Seleziona una cella vuota, come F2, inserisci la seguente formula:

=SUMPRODUCT(C2:C18,D2:D18)/SUM(C2:C18)

e premi il tasto Invio per ottenere il risultato.

a screenshot showing how to use the formula to calculate weighted average

Nota: In questa formula, C2:C18 si riferisce alla colonna Peso, e D2:D18 si riferisce alla colonna Prezzo. Regola questi intervalli secondo necessità per il tuo layout dati. La funzione SOMMA.PRODOTTO moltiplica ciascun peso per il prezzo corrispondente e somma i risultati, mentre SOMMA totalizza i pesi—fornendo la media ponderata corretta. Assicurati di utilizzare intervalli di lunghezza uguale e verifica che non ci siano celle mancanti o vuote nei tuoi dati, poiché ciò potrebbe portare a errori di calcolo.

Se la media ponderata calcolata mostra troppi o troppo pochi decimali per le tue preferenze, seleziona la cella, quindi clicca su Aumenta Decimali pulsante a screenshot of the Increase Decimal button o Riduci Decimali pulsante a screenshot of the Decrease Decimal button nella scheda Home per regolare i decimali visualizzati secondo necessità.

a screenshot of selecting one of the decimal type

Se incontri un errore come #VALORE!, verifica che ogni cella referenziata contenga un valore numerico e che gli intervalli siano consistenti. Inoltre, evita di includere qualsiasi riga di intestazione nell'intervallo di calcolo per garantire risultati accurati. Quando lavori con dataset più grandi, considera l'uso di intervalli denominati per chiarezza e facilità di manutenzione.


Calcola la media ponderata se soddisfa criteri specifici in Excel

La formula precedente calcola il prezzo medio ponderato per tutti gli elementi. Nell'analisi pratica, potresti voler calcolare la media ponderata per categorie specifiche, come trovare il prezzo medio ponderato solo per le mele. In questi casi, puoi migliorare la formula per includere una condizione basata sui tuoi criteri.

Per fare questo, seleziona una cella vuota, come F8, e inserisci la seguente formula:

=SUMPRODUCT((B2:B18="Apple")*C2:C18*D2:D18)/SUMIF(B2:B18,"Apple",C2:C18)

Quindi premi il tasto Invio per calcolare la media ponderata che soddisfa i tuoi criteri specifici. Questa formula moltiplica ogni coppia di peso e prezzo solo se l'elemento soddisfa la condizione (“Mela” in questo caso), li somma e divide per la somma dei pesi solo per quell'elemento.

a screenshot showing how to use formula to calculate weighted average if meeting given criteria

Nota: Qui, B2:B18 è la colonna Frutta, C2:C18 è il Peso, e D2:D18 è il Prezzo. Sostituisci “Mela” con un altro elemento se necessario. Questo metodo funziona bene per filtrare in base a una condizione; se hai bisogno di filtrare in base a criteri multipli (ad esempio, tipo di frutta e fornitore), potrebbe essere necessaria una colonna di supporto o una formula più avanzata.

Dopo aver applicato la formula, potresti voler regolare i decimali per maggiore chiarezza. Seleziona la cella del risultato e usa i pulsanti Aumenta Decimali a screenshot of the Increase Decimal button o Riduci Decimali a screenshot of the Decrease Decimal button2 nella scheda Home per cambiare i decimali visualizzati.

a screenshot of selecting one of the decimal type2

Se la formula restituisce un risultato inaspettato, conferma che i criteri abbiano corrispondenze all'interno del tuo intervallo target e cerca eventuali celle vuote o voci di testo nelle colonne destinate a contenere dati numerici.


Codice VBA – Automatizza il calcolo della media ponderata per intervalli di dati dinamici o criteri multipli

In alcune situazioni, potresti dover calcolare frequentemente medie ponderate su intervalli che cambiano dimensione, contengono valori mancanti o richiedono filtri flessibili, come applicare più criteri contemporaneamente. Invece di aggiornare manualmente le formule o gli intervalli, automatizzare il calcolo con una macro VBA può farti risparmiare tempo e ridurre le possibilità di errori—particolarmente utile quando si ha a che fare con grandi dataset o dati aggiornati regolarmente.

Ecco come creare e utilizzare una macro VBA per le medie ponderate:

1. Clicca su Sviluppatore > Visual Basic (oppure premi Alt + F11) per aprire la finestra dell'editor Microsoft Visual Basic for Applications. Successivamente, clicca su Inserisci > Modulo, quindi incolla il codice seguente nella nuova finestra del modulo:

Sub WeightedAverageVBA()
    Dim rngCriteria As Range
    Dim rngWeight As Range
    Dim rngValue As Range
    Dim criteriaStr As String
    Dim totalWeighted As Double
    Dim totalWeight As Double
    Dim i As Long
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rngCriteria = Application.InputBox("Select the range for criteria (optional, press Cancel to skip):", xTitleId, Type:=8)
    criteriaStr = Application.InputBox("Enter criteria for filtering (leave blank for all):", xTitleId, Type:=2)
    Set rngWeight = Application.InputBox("Select the Weight (numeric) range:", xTitleId, Type:=8)
    Set rngValue = Application.InputBox("Select the Value (e.g. Price) range:", xTitleId, Type:=8)
    
    totalWeighted = 0
    totalWeight = 0
    
    If rngCriteria Is Nothing Or criteriaStr = "" Then
        For i = 1 To rngWeight.Cells.Count
            If IsNumeric(rngWeight.Cells(i).Value) And IsNumeric(rngValue.Cells(i).Value) Then
                totalWeighted = totalWeighted + rngWeight.Cells(i).Value * rngValue.Cells(i).Value
                totalWeight = totalWeight + rngWeight.Cells(i).Value
            End If
        Next i
    Else
        For i = 1 To rngWeight.Cells.Count
            If rngCriteria.Cells(i).Value = criteriaStr Then
                If IsNumeric(rngWeight.Cells(i).Value) And IsNumeric(rngValue.Cells(i).Value) Then
                    totalWeighted = totalWeighted + rngWeight.Cells(i).Value * rngValue.Cells(i).Value
                    totalWeight = totalWeight + rngWeight.Cells(i).Value
                End If
            End If
        Next i
    End If
    
    If totalWeight = 0 Then
        MsgBox "Weighted average cannot be calculated: total weight is zero.", vbExclamation, xTitleId
    Else
        MsgBox "Weighted average: " & totalWeighted / totalWeight, vbInformation, xTitleId
    End If
End Sub

2. Premi F5 (oppure clicca su Run button Pulsante Esegui) per eseguire.
Ti verrà chiesto di selezionare gli intervalli passo dopo passo (intervallo dei criteri—questo può essere saltato se non necessario, intervallo dei pesi e intervallo dei valori). Puoi anche inserire criteri specifici per filtrare il calcolo o lasciarlo vuoto per considerare tutti i dati. La macro supporta intervalli di dati dinamici, rendendola pratica se la tua tabella cresce o cambia regolarmente.

Infine, riceverai una finestra di messaggio con il risultato della media ponderata.

Consigli:

  • Questo approccio automatizza l'analisi ripetitiva della media ponderata e può essere ulteriormente espanso per gestire ulteriori filtri o opzioni di output.
  • Assicurati che gli intervalli selezionati abbiano la stessa lunghezza e che i tipi di dati siano coerenti.
  • Includi la gestione degli errori di base come mostrato (ad esempio, nei casi in cui non vengono trovati pesi validi o la somma dei pesi è zero).
  • Se vuoi applicarlo solo alle righe filtrate/visibili, puoi migliorare ulteriormente il codice con l'enumerazione delle celle speciali.

Se incontri problemi di autorizzazione o sicurezza delle macro, assicurati che le macro siano abilitate nelle impostazioni di Excel prima di eseguire il codice.


Articoli correlati:


I migliori strumenti per la produttività in Office

🤖 Kutools AI Aide: Rivoluziona l’analisi dei dati grazie a: Esecuzione intelligente | Genera codice | Crea formule personalizzate | Analizza dati e crea grafici | Attiva Funzioni avanzate
Funzionalità più usate: Trova, evidenziazione o contrassegna duplicati | Elimina righe vuote | Unisci colonne o celle senza perdere dati | Arrotonda senza formula...
Super RICERCA.VERT: Ricerca VERT per criteri multipli | Ricerca VERT per valori multipli | Ricerca su più fogli | Corrispondenza approssimativa...
Elenco a discesa avanzato: Crea rapidamente un elenco a discesa | Elenco a discesa dipendente | Elenco a discesa multi-selezione...
Gestore colonne: Aggiungi un numero specifico di colonne | Sposta colonne | Cambia stato di visibilità delle colonne nascoste | Confronta intervalli & colonne...
Funzionalità in primo piano: Attenzione della griglia | Visualizzazione di progettazione | Barra delle formule avanzata | Gestore di cartelle di lavoro & fogli | Libreria AutoText | Selettore di data | Unisci dati | Crittografa/Decrittografa celle | Invia Email per elenco | Super Filtri | Filtro speciale (filtra grassetto/corsivo/barrato...)...
Top15 strumenti:12 strumenti Testo (Aggiungi testo, Elimina Caratteri Specifici, ...) |50+ tipi di grafico (Diagramma di Gantt, ...) |40+ formule pratiche (Calcola letà in base alla data di nascita, ...) |19 strumenti di inserimento (Inserisci codice QR, Inserisci Immagine da percorso, ...) |12 strumenti di conversione (Converti in parole, Conversione valuta, ...) |7 strumenti Unione & Dividi (Unione avanzata righe, Dividi celle, ...) | ... e altro ancora
Usa Kutools nella lingua che preferisci – supporta Inglese, Spagnolo, Tedesco, Francese, Cinese e oltre40 altre lingue!

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.

Excel Word Outlook Tabs PowerPoint
  • 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