Excel heeft geen enkele functie om direct alle factoren van een getal op te sommen. U kunt dit echter bereiken door een combinatie van formules en eventueel VBA (Visual Basic for Applications) voor grotere aantallen te gebruiken.
Methode 1:formules gebruiken (het beste voor kleinere getallen)
Deze methode is praktisch voor het vinden van factoren met relatief kleine getallen. Het werkt door elk getal van 1 tot aan de wortel van het doelgetal te controleren. Als een getal een factor is, worden zowel het getal als de bijbehorende factor (het doelgetal gedeeld door het getal) aan de lijst toegevoegd.
1. Stel uw spreadsheet in:
* Voer in cel A1 het getal in waarvan u de factoren wilt vinden (bijvoorbeeld 12).
* Voer in cel B1 de formule `=SQRT(A1)` in om de vierkantswortel te berekenen.
* Voer in cel C1 de kop "Factoren" in.
* Voer in cel C2 de formule `=IF(MOD(A$1,ROW()-1)=0,ROW()-1,"")` in. Hiermee wordt gecontroleerd of `ROW()-1` (beginnend bij 1) een factor is van het getal in A1. Als dit het geval is, wordt het nummer weergegeven; anders wordt er een lege string weergegeven.
* Sleep de formule in C2 naar beneden naar een rijnummer dat ongeveer gelijk is aan de waarde in B1 (de vierkantswortel).
2. Vul de factorenlijst in:
* Voer in een aparte kolom (bijvoorbeeld D1) de kop "Factoren (vervolg)" in.
* Voer in cel D2 de formule `=IF(C2<>"",A$1/C2,"")` in. Hiermee wordt de overeenkomstige factor berekend voor elke factor in kolom C.
* Sleep deze formule naar beneden zodat deze overeenkomt met de lengte van kolom C.
3. Combineer en verwijder duplicaten (optioneel):
* U kunt vervolgens de functie `CONCATENATE` of andere tekstmanipulatiefuncties gebruiken om de factoren uit de kolommen C en D in één enkele kolom te combineren, waarbij u indien nodig duplicaten verwijdert. Dit is geavanceerder en het sorteren en gebruiken van de functie `UNIQUE` (beschikbaar in nieuwere Excel-versies) kan een schonere oplossing zijn.
Methode 2:VBA gebruiken (voor grotere aantallen)
Voor zeer grote aantallen is een VBA-macro efficiënter. Deze macro vindt alle factoren en voert deze uit in een kolom.
1. Open de VBA-editor: Druk op Alt+F11.
2. Een module invoegen: Ga naar Invoegen> Module.
3. Plak de volgende code:
```vba
Sub ZoekFactoren()
Dim num Zo lang, ik zo lang
Dimfactoren als variant
num =Range("A1").Value ' Haal het getal op uit cel A1
ReDim-factoren(1 tot 1)
Voor i =1 tot Int(Sqr(num))
Als num Mod i =0 Dan
factoren(UBound(factoren)) =i
ReDim Behoud factoren(1 tot UBound(factoren) + 1)
Als ik * ik <> num Dan
factoren(UBound(factoren)) =aantal / i
ReDim Behoud factoren(1 tot UBound(factoren) + 1)
Einde Als
Einde Als
Volgende ik
' Verwijder het laatste lege element
ReDim Behoud factoren(1 tot UBound(factoren) - 1)
' Voer de factoren uit naar kolom B, beginnend bij B1
Bereik("B1").Resize(UBound(factoren)).Waarde =Toepassing.Transponeren(factoren)
Einde sub
```
4. Voer de macro uit: Druk op F5 of klik op de knop "Uitvoeren" in de VBA-editor. Zorg ervoor dat u het getal in cel A1 hebt ingevoerd voordat u de macro uitvoert.
Vergeet niet om de celverwijzingen zo nodig aan te passen zodat ze overeenkomen met de lay-out van uw spreadsheet. De VBA-methode is aanzienlijk sneller voor grotere aantallen waarbij de op formules gebaseerde aanpak onpraktisch zou worden. Kies de methode die het beste past bij uw behoeften en de grootte van de getallen waarmee u werkt. |