Note: The other languages of the website are Google-translated. Back to English

Hoe alle priemgetallen tussen twee gegeven getallen in Excel te genereren?

Heb je in Excel ooit geprobeerd om alle priemgetallen tussen twee gegeven getallen op te sommen? In dit artikel zal ik enkele interessante methoden bespreken om met deze taak om te gaan.

Genereer alle priemgetallen tussen twee gegeven getallen met formules

Genereer alle priemgetallen tussen twee gegeven getallen met door de gebruiker gedefinieerde functie


pijl blauw rechts bel Genereer alle priemgetallen tussen twee gegeven getallen met formules

Combinatie van de Definieer naam functie en formules, kunt u alle priemgetallen tussen de twee specifieke getallen weergeven of genereren. Ga als volgt te werk:

1. Maak de eerste bereiknaam door op te klikken Formules > Name Manager, en in de Name Manager dialoogvenster, klik Nieuw knop, zie screenshot:

doc lijst priemgetallen 1

2. In de Nieuwe naam dialoogvenster, in de Naam tekstvak, gelieve in te voeren RNG als bereiknaam en voer vervolgens deze formule in: = RIJ (INDIRECT (Blad1! $ B $ 1 & ":" & Blad1! $ B $ 2)) (Sheet1 is je huidige werkblad dat je hebt gebruikt, B1 en B2 zijn de begin- en eindnummers die u hebt opgegeven) in de Verwijst naar tekstvak en klik op OK knop om terug te keren naar het vorige dialoogvenster. Zie screenshot:

doc lijst priemgetallen 2

3. Blijf klikken Nieuw om een ​​andere bereiknaam te maken, in de Nieuwe naam dialoogvenster, voer een naam in eerste in de Naam tekstvak en voer vervolgens deze formule in: =SMALL(IF(MMULT(--(IF(rng>TRANSPOSE(rng-Sheet1!$B$1+2),MOD(rng,(rng>TRANSPOSE(rng-Sheet1!$B$1+2))*TRANSPOSE(rng-Sheet1!$B$1+2)))=0),rng-Sheet1!$B$1+2)=0,rng),ROW(INDIRECT("1:"&Sheet1!$B$2))) (RNG is de eerste bereiknaam die u in stap 2) heeft aangemaakt in de Verwijst naar tekstvak, zie screenshot:

doc lijst priemgetallen 3

4. Dan klikken OK en sluit de dialoogvensters en selecteer een kolom waarvan u alle priemgetallen wilt weergeven, en voer deze formule in: = IFERROR (prime, "")(eerste is de bereiknaam die u in stap 3) hebt gemaakt in de formulebalk en druk vervolgens op CTRL+SHIFT+ENTER toetsen bij elkaar, worden alle priemgetallen tussen de gegeven twee getallen weergegeven als het volgende screenshot:

doc lijst priemgetallen 4


pijl blauw rechts bel Genereer alle priemgetallen tussen twee gegeven getallen met door de gebruiker gedefinieerde functie

Als de eerste methode enigszins moeilijk is, kunt u hier een Door de gebruiker gedefinieerde functie om het op te lossen.

1. Houd de ALT + F11 toetsen om de te openen Microsoft Visual Basic voor toepassingen venster.

2. Klikken Invoegen > Moduleen plak de volgende code in het Module Venster.

VBA-code: genereer alle priemgetallen tussen twee specifieke nummers:

Function PRIME(St, En As Long)
'Updateby Extendoffice 20160613
Dim num As String
For n = St To En
    For m = 2 To n - 1
        If n Mod m = 0 Then GoTo 20:
    Next m
    num = num & n & ","
20:
Next n
PRIME = num
End Function

3. Sla vervolgens deze code op en sluit deze, ga terug naar het werkblad en voer deze formule in: = prime (10,100) (10 is het startnummer, en 100 is het eindnummer waartussen u de priemgetallen wilt hebben, u kunt ze naar wens wijzigen), en druk vervolgens op Enter sleutel, en alle priemgetallen worden in één cel weergegeven, zie screenshot:

doc lijst priemgetallen 5


De beste tools voor kantoorproductiviteit

Kutools voor Excel lost de meeste van uw problemen op en verhoogt uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Versleutel cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula-balk (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken in gefilterd bereik...
  • Voeg cellen / rijen / kolommen samen zonder gegevens te verliezen; Gespleten cellen inhoud; Combineer dubbele rijen / kolommen... Voorkom dubbele cellen; Vergelijk Ranges...
  • Selecteer Dupliceren of Uniek Rijen; Selecteer lege rijen (alle cellen zijn leeg); Super zoeken en fuzzy zoeken in veel werkboeken; Willekeurige selectie ...
  • Exacte kopie Meerdere cellen zonder de formuleverwijzing te wijzigen; Maak automatisch verwijzingen naar meerdere bladen; Plaats kogels, Selectievakjes en meer ...
  • Extraheer tekst, Tekst toevoegen, Verwijderen op positie, Ruimte verwijderen; Paging-subtotalen maken en afdrukken; Converteren tussen celinhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerd sorteren per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2021 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functies Gratis proefperiode van 30 dagen. 60 dagen geld-terug-garantie.
kte tabblad 201905

Office-tabblad Brengt een interface met tabbladen naar Office en maakt uw werk veel gemakkelijker

  • Schakel bewerken en lezen met tabbladen in Word, Excel, PowerPoint in, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en vermindert honderden muisklikken voor u elke dag!
officetab onderkant
Heb je vragen? Stel ze hier. (3)
Nog geen beoordelingen. Beoordeel als eerste!
Deze opmerking is gemaakt door de moderator op de site
Sub genereer priemgetallen tussen() starts_getal = 1 'voer hier waarde in last_number = 2000 'voer hier waarde in priemgetallen = "" Voor a = begin_getal Naar laatste_getal Voor b = 2 Naar a Als a - b * Int(a / b) = 0 En ab Dan Exit For Else If a = b Then priemgetallen = priemgetallen & " " & a End If End If Next b Volgende a MsgBox priemgetallen End Subfunctie priemgetallen tussen (begin_getal, laatste_getal) priemgetallen = "" Voor a = begin_getal Naar laatste_getal Voor b = 2 Naar a If a - b * Int(a / b) = 0 En ab Dan Exit For Else If a = b Dan priemgetallen = priemgetallen & " " & a End If End If Next b Volgende a priemgetallen tussen = priemgetallen End Functie 'om te controleren of a number is prime Sub ISPRIME() number_to_be_checked = 102 'invoerwaarde hier For b = 2 To number_to_be_checked If number_to_be_checked - b * Int(number_to_be_checked / b) = 0 And _ number_to_be_checked b Dan MsgBox "Niet Prime. Deelbaar door " & b Sub Else If number_to_be_checked = b Dan MsgBox "Prime" Einde Indien Einde Indien volgende b Einde S ub 'om te controleren of een getal een priemgetal is Functie ISPRIME2(getal_naar_te_gecontroleerd) For b = 2 To number_to_be_checked If number_to_be_checked - b * Int(number_to_be_checked / b) = 0 And _ number_to_be_checked b Dan ISPRIME2 = "Niet prime. Deelbaar door " & b Functie verlaten Else If number_to_be_checked = b Then ISPRIME2 = "Prime" End If End If Next b Functie beëindigen
Deze opmerking is gemaakt door de moderator op de site




End Sub

Deze opmerking is gemaakt door de moderator op de site
Sub genereer priemgetallen tussen3() starts_getal = 1 'invoerwaarde hier laatste_getal = 10000 'invoerwaarde hier priemgetallen = "" Voor a = begin_getal Naar laatste_getal c = a Voor b = 2 Naar c Als a Mod b = 0 En cb Dan Afsluiten For Else If b = c Dan priemgetallen = priemgetallen & " " & a Exit For Else If Round(a / (b + 1)) + 1 > b Then c = Round(a / (b + 1)) + 1 End If End If End Als Volgende b Volgende a MsgBox priemgetallen End Subfunctie PRIMENUMBERSBETWEEN3(beginnummer, laatste_getal) priemgetallen = "" Voor a = beginnummer Naar laatste_getal c = a Voor b = 2 Naar c Als a Mod b = 0 En cb Dan Afsluiten For Else If b = c Dan priemgetallen = priemgetallen & " " & a Exit For Else If Round(a / (b + 1)) + 1 > b Then c = Round(a / (b + 1)) + 1 End If End If End If Next b Vervolgens a PRIMENUMBERSBETWEEN3 = priemgetallen End Function Sub ISPRIME3() number_to_be_checked = 15485863 'invoerwaarde hier c = number_to_be_checked For b = 2 To c If number_to_be_checked Mod b = 0 En cb Dan MsgBox "Niet Prime. Deelbaar door " & bExit Sub Else If b = c Then MsgBox "Prime" Exit Sub Else If Round(number_to_be_checked / (b + 1)) + 1 > b Then c = Round(number_to_be_checked / (b + 1)) + 1 End If End If End Als Volgende b Einde Sub
Er zijn nog geen reacties geplaatst
Laat uw commentaar
Posten als gast
×
Beoordeel dit bericht:
0   Personages
Voorgestelde locaties

Volg ons

Copyright © 2009 - www.extendoffice.com. | Alle rechten voorbehouden. Aangedreven door ExtendOffice. | Sitemap
Microsoft en het Office-logo zijn handelsmerken of gedeponeerde handelsmerken van Microsoft Corporation in de Verenigde Staten en / of andere landen.
Beschermd door Sectigo SSL