Somma dei valori assoluti (Microsoft Excel)
Joseph ha un foglio di lavoro che contiene un elenco di valori. Alcuni di questi valori sono superiori a zero e altri sono inferiori. Può usare la funzione SOMMA per calcolare una somma dei valori, ma in realtà vuole calcolare una somma del valore assoluto di ogni elemento nell’elenco. Quindi, la somma dei tre valori -33, 14, -5 sarebbe 52 invece di -24.
Non esiste una funzione intrinseca che puoi utilizzare per creare la somma desiderata, ma puoi creare una formula per eseguire l’attività. Un metodo consiste nell’usare la funzione SOMMA.SE, nel modo seguente:
=SUMIF(A1:A10,">0")-SUMIF(A1:A10,"<0")
Il primo SOMMA.SE somma tutti i valori maggiori di zero e il secondo somma tutti quelli minori di zero. Pertanto, con i quattro valori -33, 14, -5, 42, il primo SUMIF risulterebbe in una somma di 56 (14 + 42) e il secondo in una somma di -38 (-33 + -5). Quando sottrai la seconda somma dalla prima (56 – -38) ottieni un risultato finale di 94, che è la somma di tutti i valori assoluti.
Un altro approccio consiste nell’usare la funzione SUMPRODUCT. La seguente formula produrrà il risultato desiderato:
=SUMPRODUCT(ABS(A1:A10))
La funzione viene in genere utilizzata per moltiplicare tra loro diversi elementi di array e quindi sommare tali prodotti. Poiché viene fornito un solo array (A1: A10), non viene eseguita alcuna moltiplicazione, ma viene restituita una somma dei valori assoluti desiderati.
È inoltre possibile ottenere il risultato desiderato utilizzando una formula di matrice, una funzionalità comoda ma raramente utilizzata di Excel. Supponendo che i tuoi valori siano nell’intervallo A1: A10, digita questa formula:
=SUM(ABS(A1:A10))
Non premere Invio; invece premere Ctrl + Maiusc + Invio, che significa che si tratta di una formula di matrice. Se la formula è inserita correttamente, vedrai parentesi graffe attorno alla formula nella barra della formula:
{=SUM(ABS(A1:A50))}
Quello che fa la formula è creare internamente la colonna intermedia (che è una matrice di valori) che sono i singoli valori assoluti di A1: A10. Quindi somma questo array e visualizza il risultato.
Infine, se preferisci, puoi creare la tua funzione definita dall’utente (una macro) che restituirà la somma dei valori assoluti in un intervallo.
La seguente è una macro che eseguirà questa operazione:
Function SumAbs(Rng As Range) As Double Result = 0 On Error GoTo Done For Each element In Rng Result = Result + Abs(element) Next element Done: SumAbs = Result End Function
Puoi usare la funzione inserendo una semplice formula nel tuo foglio di lavoro:
=SumAbs(A1:A10)
_Nota: _
Se desideri sapere come utilizzare le macro descritte in questa pagina (o in qualsiasi altra pagina dei siti ExcelTips), ho preparato una pagina speciale che include informazioni utili.
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (12615) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 ed Excel in Office 365. Puoi trovare una versione di questo suggerimento per la vecchia interfaccia del menu di Excel qui: