Somma delle cifre in un valore (Microsoft Excel)
Se hai una cella che contiene un valore, potresti voler escogitare un modo per sommare tutte le cifre del valore. Ad esempio, se una cella contiene il valore 554, potresti voler determinare la somma di 5 + 5 + 4, che è 14.
Esistono diversi modi per affrontare questa attività. (Non sembra sempre così in Excel?) Il primo è usare una formula che si basa su diverse funzioni:
=SUMPRODUCT(--MID(A1,ROW(INDIRECT("1:" & LEN(A1))),1))
Questa formula regolare sommerà le cifre in qualsiasi valore intero (nella cella A1) in modo semplice ed elegante. Tuttavia, questa non è l’unica formula possibile. Quella che segue è una versione della formula matrice (terminata premendo Ctrl + Maiusc + Invio) della stessa formula:
=SUM(1*MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))
Entrambe queste formule funzionano bene se il valore in A1 è un numero intero positivo. Se nel numero sono presenti caratteri non numerici (come un segno negativo o un punto decimale), le formule restituiscono un #VALORE! errore.
Queste non sono le uniche formule possibili per questo tipo di calcolo.
Puoi trovare altri esempi di formule nella Microsoft Knowledge Base:
http://support.microsoft.com/?kbid=214053
È inoltre possibile utilizzare una funzione definita dall’utente per restituire la somma desiderata. La seguente macro passa attraverso ogni cifra nella cella di riferimento e calcola un totale. Questo valore viene quindi restituito all’utente:
Function AddDigits(Number As Long) As Integer Dim i As Integer Dim Sum As Integer Dim sNumber As String sNumber = CStr(Number) For i = 1 To Len(sNumber) Sum = Sum + Mid(sNumber, i, 1) Next AddDigits = Sum End Function
Per utilizzare questa funzione, usa una formula come = AddDigits (A1) in una cella. Una funzione definita dall’utente ancora più compatta (invocata nello stesso modo) è la seguente:
Function AddDigits(ByVal N As Long) As Integer Do While N >= 1 AddDigits = AddDigits + N Mod 10 N = Int(N / 10) Loop End Function
A differenza della macro precedente, questa versione non converte il contenuto della cella in una stringa per elaborarla. Invece, scorre ogni cifra del valore, rimuovendo l’ultima cifra e aggiungendola al totale.
_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 (12002) si applica a Microsoft Excel 2007, 2010, 2013 e 2016.
È possibile trovare una versione di questo suggerimento per la vecchia interfaccia di menu di Excel qui: Summing Digits in a Value.