Fare la somma dei divisori di un numero
Avete bisogno di fare la somma dei divisori di un numero (di tutti i divisori) ?
Nell’articolo sul calcolo dei divisori del numero, abbiamo imparato a creare la nostra funzione personalizzata. Excel sapeviche vi propone una soluzione anche per questo.
Supponiamo che dobbiate calcolare la somma di tutti i divisori nello specifico di questa lista di numeri
Un modo potrebbe essere quello di prendere un foglio e una penna e iniziare a calcolare la fattorizzazione in numeri primi di ognuno di essi; dopodiché combinate tutti i fattori moltiplicandoli tra loro. E infine sommate.
Tuttavia, un’alternativa è la creazione di una funzione personalizzata che faccia la somma dei divisori di un numero, chiamata anche User Defined Function.
Di seguito il codice vba da inserire nel vostro file:
Function SommaDivisori(Cella)
Dim i,v, SizeD As Integer
Dim n, D(), As Variant
Dim Div As String
SizeD = 1
v = Cella.Value
ReDim D(SizeD)
D(0) = 1
Div = D(0) + v
For i = 2 To (v \ 2)
If (v Mod i) = 0 Then
ReDim Preserve D(SizeD + 1)
SizeD = SizeD + 1
D(SizeD) = i
Div = Div + i
Else
End If
Next i
SizeD = SizeD + 1
ReDim Preserve D(SizeD)
D(SizeD) = v
If v = 1 Then
Div = Div – 1
End If
SommaDivisori = Div
End Function
Pertanto, con questo codice viene creata una nuova funzione Excel SommaDivisori, per calcolare tutti i divisori di un numero. Comparirà nella lista delle funzioni disponibili:
Arrivati a questo punto, basterà trascinare la funzione lungo la colonna B in modo da eseguirla per ogni numero. La funzione ci permette così di fare in automatico un calcolo lungo ed elaborato, se ci venisse richiesto per questioni lavorative o didattiche!
Per qualsiasi dubbio, informazione, o se vi siete mai chiesti qualcosa su excel che nessuno è riuscito a spiegarvi, contattateci!