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

Hvordan genereres alle primtal mellem to givne tal i Excel?

I Excel har du nogensinde prøvet at liste alle primtal mellem to givne tal? Denne artikel vil jeg tale om nogle interessante metoder til at håndtere denne opgave.

Generer alle primtal mellem to givne tal med formler

Generer alle primtal mellem to givne tal med brugerdefineret funktion


pil blå højre boble Generer alle primtal mellem to givne tal med formler

Kombinerer Definer navn funktion og formler, kan du liste eller generere alle primtal mellem de to specifikke tal. Gør som følger:

1. Opret venligst det første rækkevidde ved at klikke på formler > Navn Manager, og i Navn Manager dialogboksen, klik Ny knap, se skærmbillede:

doc liste primtal 1

2. I Nyt navn dialogboksen i Navn tekstfelt, indtast venligst RNG som områdets navn, og indtast derefter denne formel: = Række (INDIREKTE (Ark1! $ B $ 1 & ":" & Ark1! $ B $ 2)) (Sheet1 er dit nuværende regneark, du brugte, B1 og B2 er start- og slutnumrene, du har angivet) i Hentyder til tekstfelt, og klik derefter på OK for at vende tilbage til den tidligere dialog. Se skærmbillede:

doc liste primtal 2

3. Fortsæt med at klikke Ny -knappen for at oprette et andet områdenavn i Nyt navn dialogboks, skal du indtaste et navn Prime ind i Navn tekstfelt, og indtast derefter denne formel: =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 er det første rækkevidde, du oprettede i trin 2) i Hentyder til tekstboks, se skærmbillede:

doc liste primtal 3

4. Klik derefter på OK og luk dialogerne, og vælg en kolonne, som du vil liste alle primtal, og indtast denne formel: = FEJL (prime, "")(Prime er det intervalnavn, du oprettede i trin 3) i formellinjen, og tryk derefter på CTRL + SKIFT + ENTER nøgler sammen, vises alle primtal mellem de givne to tal som vist på følgende skærmbillede:

doc liste primtal 4


pil blå højre boble Generer alle primtal mellem to givne tal med brugerdefineret funktion

Hvis den første metode er noget vanskelig, kan du her anvende en Brugerdefineret funktion at løse det.

1. Hold nede ALT + F11 nøgler til at åbne Microsoft Visual Basic til applikationer vindue.

2. Klik indsatte > Moduler, og indsæt følgende kode i Moduler Vindue.

VBA-kode: Generer alle primtal mellem to specifikke tal:

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. Gem og luk derefter denne kode, gå tilbage til regnearket, indtast venligst denne formel: = prime (10,100) (10 er startnummeret, og 100 er det slutnummer, som du vil have primtalene imellem, kan du ændre dem til dit behov), og tryk derefter på Indtast nøgle, og alle primtal vises i en celle, se skærmbillede:

doc liste primtal 5


De bedste Office-produktivitetsværktøjer

Kutools til Excel løser de fleste af dine problemer og øger din produktivitet med 80%

  • Genbruge: Indsæt hurtigt komplekse formler, diagrammer og alt, hvad du har brugt før; Krypter celler med adgangskode Opret postliste og send e-mails ...
  • Super formel bar (let redigere flere linjer med tekst og formel); Læsning Layout (let at læse og redigere et stort antal celler); Indsæt til filtreret rækkevidde...
  • Flet celler / rækker / kolonner uden at miste data; Split celler indhold; Kombiner duplikerede rækker / kolonner... Forhindre duplikerede celler; Sammenlign områder...
  • Vælg Duplicate eller Unique Rækker; Vælg tomme rækker (alle celler er tomme); Super Find og Fuzzy Find i mange arbejdsbøger; Tilfældig valg ...
  • Præcis kopi Flere celler uden at ændre formelreference; Auto Opret referencer til flere ark; Indsæt kugler, Afkrydsningsfelter og mere ...
  • Uddrag tekst, Tilføj tekst, Fjern efter position, Fjern mellemrum; Opret og udskriv personsøgningssubtotaler; Konverter mellem celler indhold og kommentarer...
  • Superfilter (gem og anvend filterskemaer på andre ark); Avanceret sortering efter måned / uge / dag, hyppighed og mere; Specielt filter af fed, kursiv ...
  • Kombiner arbejdsbøger og arbejdsark; Fletabeller baseret på nøglekolonner; Opdel data i flere ark; Batch Konverter xls, xlsx og PDF...
  • Mere end 300 kraftfulde funktioner. Understøtter Office / Excel 2007-2021 og 365. Understøtter alle sprog. Nem implementering i din virksomhed eller organisation. Fuld funktioner 30-dages gratis prøveperiode. 60 dages pengene tilbage garanti.
kte-fane 201905

Fanen Office bringer en grænseflade til et kontor med Office, og gør dit arbejde meget lettere

  • Aktiver redigering og læsning af faner i Word, Excel, PowerPoint, Publisher, Access, Visio og Project.
  • Åbn og opret flere dokumenter i nye faner i det samme vindue snarere end i nye vinduer.
  • Øger din produktivitet med 50 % og reducerer hundredvis af museklik for dig hver dag!
officetab bund
Sorter kommentarer efter
Kommentarer (3)
Ingen vurderinger endnu. Vær den første til at bedømme!
Denne kommentar blev minimeret af moderatoren på webstedet
Sub genererprimenumremellem() starttal = 1 'input værdi her sidste_tal = 2000 'input værdi her primenummer = "" For a = starttal Til sidste_tal For b = 2 Til a Hvis a - b * Int(a / b) = 0 Og ab Så Afslut For Andet Hvis a = b Så primenumbers = primenumbers & " " & a End If End If Next b Next a MsgBox primenumbers End Sub Funktion primenumbersbetween(starting_number, last_number) primenumbers = "" For a = start_number To last_number For b = 2 To a Hvis a - b * Int(a / b) = 0 Og ab Så Afslut For Andet Hvis a = b Så primenumbers = primenumbers & " " & a End If End If Next b Next a primenumbersbetween = primenumbers End Funktion 'for at kontrollere, om et tal er primtal Sub ISPRIME() antal_skal_kontrolleres = 102 'input værdi her For b = 2 Til antal_skal_kontrolleres Hvis tal_skal_kontrolleres - b * Int(tal_skal_kontrolleres / b) = 0 Og _antal_skal_kontrolleres b Derefter MsgBox "Ikke primtal. Udstilles af "Ikke primtal. Sub Else If number_to_be_checked = b Then MsgBox "Prime" End If End If Next b End S ub 'for at kontrollere, om et tal er prime Funktion ISPRIME2(tal_skal_tjekkes) For b = 2 Til antal_skal_kontrolleres Hvis tal_skal_kontrolleres - b * Int(tal_skal_kontrolleres / b) = 0 Og _tal_skal_kontrolleres b Så ISPRIME2 = "Ikke primetal. Delelig med " & b Afslut funktion Else If number_to_be_checked = b Then ISPRIME2 = "Prime" End If End If Next b End Function
Denne kommentar blev minimeret af moderatoren på webstedet




End Sub

Denne kommentar blev minimeret af moderatoren på webstedet
Sub genererprimenumremellem3() starttal = 1 'input værdi her sidste_tal = 10000 'input værdi her primenummer = "" For a = starttal Til sidste_tal c = a For b = 2 Til c Hvis a Mod b = 0 Og cb Afslut derefter For Andet Hvis b = c Så primenumbers = primenumbers & " " & a Exit For Else If Runde(a / (b + 1)) + 1 > b Så c = Runde(a / (b + 1)) + 1 End If End If End If Next b Next a MsgBox primenumber End Sub Funktion PRIMENUMBERSBETWEEN3(startnummer, sidste_tal) primenumbers = "" For a = startnummer Til sidste_tal c = a For b = 2 Til c Hvis a Mod b = 0 Og cb Afslut derefter For Andet Hvis b = c Så primenumbers = primenumbers & " " & a Exit For Else If Runde(a / (b + 1)) + 1 > b Så c = Runde(a / (b + 1)) + 1 End If End If End If Next b Næste a PRIMENUMBERSBETWEEN3 = primenumber End Funktion Sub ISPRIME3() number_to_be_checked = 15485863 'input værdi her c = number_to_be_checked For b = 2 To c If number_to_be_checked Mod b = 0 Og cb Så MsgBox "Not Prime & b Divisible.Exit 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 If Next b End Sub
Der er endnu ingen kommentarer her
Efterlad dine kommentarer
Sender som gæst
×
Bedøm dette indlæg:
0   Tegn
Foreslåede steder

Følg os

Copyright © 2009 - www.extendoffice.com. | Alle rettigheder forbeholdes. Drevet af ExtendOffice. | | Sitemap
Microsoft og Office-logoet er varemærker eller registrerede varemærker tilhørende Microsoft Corporation i USA og / eller andre lande.
Beskyttet af Sectigo SSL