Fare la somma dei divisori di un numero

Fare la somma dei divisori di un numero

Settembre 29, 2019 Off Di excelsapeviche

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:somma divisori

 

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!