Calcolare i divisori di un numero
Avete bisogno di calcolare i divisori di un numero o di un insieme di numeri naturali?
La soluzione la offre Excelsapeviche, con il supporto di VBA (se sei neofita di VBA e non sai come attivarlo sulla tua cartella di lavoro, clicca qui.)
Per esempio, supponiamo che dobbiate calcolare i divisori di un numero, o meglio di un range: dei primi 100 numeri naturali.
Prendete un foglio e una penna e iniziate a calcolare la fattorizzazione in numeri primi di ognuno di essi; dopodiché combinate tutti i fattori moltiplicandoli tra loro. Un po’ laborioso vero?
L’alternativa meno noiosa è la creazione di una funzione personalizzata chiamata anche User Defined Function di Excel. Proviamo a inserire il seguente codice, attivato VBA con un semplice ALT+F11.
Function Divisori(Cella)
Dim i, v, SizeD As Integer
Dim n, D() As Variant
SizeD = 1
v = Cella.Value
ReDim D(SizeD)
For i = 1 To (v \ 2)
If (v Mod i) = 0 Then
ReDim Preserve D(SizeD + 1)
SizeD = SizeD + 1
D(SizeD) = i
Else
End If
Next i
SizeD = SizeD + 1
ReDim Preserve D(SizeD)
D(SizeD) = v
Divisori = Join(D)
End Function
In tal modo, si viene a creare una nuova funzione customizzata di Excel chiamata Divisori, 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:
Excel ci permette così di fare in automatico un calcolo lungo ed elaborato, se ci venisse richiesto per questioni lavorative o didattiche! Se invece sei interessato invece a fare la somma dei divisori di un numero, questo articolo ti verrà in aiuto e si basa sempre sulle tecniche VBA.
Per qualsiasi dubbio, informazione, o se vi siete mai chiesti qualcosa su excel che nessuno è riuscito a spiegarvi, contattateci!