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

Hur genererar jag alla primtal mellan två angivna nummer i Excel?

I Excel har du någonsin försökt att lista alla primtal mellan två angivna nummer? Denna artikel kommer jag att prata om några intressanta metoder för att hantera denna uppgift.

Generera alla primtal mellan två angivna tal med formler

Generera alla primtal mellan två angivna nummer med användardefinierad funktion


pil blå höger bubbla Generera alla primtal mellan två angivna tal med formler

Kombinera Definiera namn funktion och formler kan du lista eller generera alla primtal mellan de två specifika siffrorna. Gör så här:

1. Skapa det första intervallnamnet genom att klicka Formler > Namnhanterare, och i Namnhanterare dialogrutan, klicka Ny knapp, se skärmdump:

doc lista primtal 1

2. I Nytt namn dialogrutan, i Namn textruta, skriv in RNG som intervallnamn och ange sedan denna formel: = RAD (INDIRECT (Sheet1! $ B $ 1 & ":" & Sheet1! $ B $ 2)) (Sheet1 är ditt nuvarande kalkylblad du använde, B1 och B2 är start- och slutnumren du angav) i Refererar till textruta och klicka sedan på OK för att återgå till den tidigare dialogen. Se skärmdump:

doc lista primtal 2

3. Fortsätt klicka Ny för att skapa ett annat intervallnamn i Nytt namn dialogrutan, ange ett namn utmärkt i Namn textruta och ange sedan denna 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 är det första intervallnamnet du skapade i steg 2) i Refererar till textruta, se skärmdump:

doc lista primtal 3

4. Klicka sedan OK och stäng dialogrutorna och välj en kolumn som du vill visa alla primtal och ange denna formel: = FEL (prim, "")(utmärkt är intervallnamnet du skapade i steg 3) i formelfältet och tryck sedan på CTRL + SKIFT + RETUR tangenter tillsammans listas alla primtal mellan de angivna två siffrorna som följande skärmdump visas:

doc lista primtal 4


pil blå höger bubbla Generera alla primtal mellan två angivna nummer med användardefinierad funktion

Om den första metoden är något svår kan du här använda en Användardefinierad funktion att lösa det.

1. Håll ner ALT + F11 nycklar för att öppna Microsoft Visual Basic för applikationer fönster.

2. Klicka Insert > Modulernaoch klistra in följande kod i Modulerna Fönster.

VBA-kod: Generera alla primtal mellan två specifika nummer:

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. Spara och stäng sedan den här koden, gå tillbaka till kalkylbladet, ange denna formel: = prim (10,100 XNUMX) (10 är startnumret och 100 är det slutnummer som du vill ha primtal mellan, du kan ändra dem efter behov) och tryck sedan på ange och alla primtal visas i en cell, se skärmdump:

doc lista primtal 5


De bästa Office-produktivitetsverktygen

Kutools för Excel löser de flesta av dina problem och ökar din produktivitet med 80%

  • återanvändning: Sätt snabbt i komplexa formler, diagram och allt som du har använt tidigare; Kryptera celler med lösenord; Skapa e-postlista och skicka e-post ...
  • Super Formula Bar (enkelt redigera flera rader med text och formel); Läslayout (enkelt läsa och redigera ett stort antal celler); Klistra in i filtrerat intervall...
  • Sammanfoga celler / rader / kolumner utan att förlora data; Delat cellinnehåll; Kombinera duplicerade rader / kolumner... Förhindra duplicerade celler; Jämför intervall...
  • Välj Duplicera eller Unikt Rader; Välj tomma rader (alla celler är tomma); Super Find och Fuzzy Find i många arbetsböcker; Slumpmässigt val ...
  • Exakt kopia Flera celler utan att ändra formelreferens; Skapa referenser automatiskt till flera ark; Sätt in kulor, Kryssrutor och mer ...
  • Extrahera text, Lägg till text, ta bort efter position, Ta bort mellanslag; Skapa och skriva ut personsökningstalsatser; Konvertera mellan celler innehåll och kommentarer...
  • Superfilter (spara och tillämpa filterscheman på andra ark); Avancerad sortering efter månad / vecka / dag, frekvens och mer; Specialfilter av fet, kursiv ...
  • Kombinera arbetsböcker och arbetsblad; Sammanfoga tabeller baserat på nyckelkolumner; Dela data i flera ark; Batchkonvertera xls, xlsx och PDF...
  • Mer än 300 kraftfulla funktioner. Stöder Office / Excel 2007-2021 och 365. Stöder alla språk. Enkel implementering i ditt företag eller organisation. Fullständiga funktioner 30 dagars gratis provperiod. 60 dagars pengarna tillbaka-garanti.
kte-flik 201905

Fliken Office ger ett flikgränssnitt till Office och gör ditt arbete mycket enklare

  • Aktivera flikredigering och läsning i Word, Excel, PowerPoint, Publisher, Access, Visio och Project.
  • Öppna och skapa flera dokument i nya flikar i samma fönster, snarare än i nya fönster.
  • Ökar din produktivitet med 50 % och minskar hundratals musklick för dig varje dag!
officetab botten
Sortera kommentarer efter
Kommentarer (3)
Inga betyg än. Bli först med att betygsätta!
Denna kommentar minimerades av moderatoren på webbplatsen
Sub genereraprimtal mellan() startnummer = 1 'inmatningsvärde här sista_tal = 2000 'inmatningsvärde här primtal = "" För a = startnummer Till sista_tal För b = 2 Till a Om a - b * Int(a / b) = 0 Och ab Då Exit For Else If a = b Then primenumbers = primenumbers & " " & a End If End If Next b Next a MsgBox primenumbers End Sub Funktion primenumbersbetween(starting_number, last_number) primenumbers = "" För a = start_number To last_number För b = 2 Till a Om a - b * Int(a / b) = 0 Och ab Sedan Avsluta För Annat Om a = b Då primerna = primenrum & " " & a Sluta Om Sluta Om Nästa b Nästa a primenumrarmellan = primerna Slut Funktion 'för att kontrollera om ett tal är primtal Sub ISPRIME() nummer_att_be_kontrolleras = 102 'inmatningsvärde här För b = 2 Till siffra_att_kontrolleras Om siffra_ska_kontrolleras - b * Int(antal_att_kontrolleras /b) = 0 Och _tal_att_kontrolleras b Sedan MsgBox "Inte primtalsruta. Delas av "Inte primtal". Sub Else If number_to_be_checked = b Then MsgBox "Prime" End If End If Next b End Sub 'för att kontrollera om ett tal är primtal Funktion ISPRIME2(number_to_be_checked) 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 Then ISPRIME2 = "Not Prime. Delbar med " & b Avsluta funktion Else If number_to_be_checked = b Then ISPRIME2 = "Prime" End If End If Next b End Function
Denna kommentar minimerades av moderatoren på webbplatsen




End Sub

Denna kommentar minimerades av moderatoren på webbplatsen
Sub genereraprimtal mellan3() startnummer = 1 'inmatningsvärde här sista_tal = 10000 2 'inmatningsvärde här primtal = "" För a = startnummer Till sista_tal c = a För b = 0 Till c Om a Mod b = 1 Och cb Avsluta för annat Om b = c Då primer = primer & " " & a Exit For Else If Round(a / (b + 1)) + 1 > b Då c = Round(a / (b + 1)) + 3 End If End If End If Next b Next a MsgBox primenumbers End Sub Function PRIMENUMBERSBETWEEN2(starting_number, last_number) primenumbers = "" För a = startnummer Till sista_number c = a För b = 0 Till c Om a Mod b = 1 Och cb Sedan Avsluta För Annat Om b = c Då primenumbers = primenumbers & " " & a Exit For Else If Round(a / (b + 1)) + 1 > b Då c = Round(a / (b + 1)) + 3 End If End If End If Next b Nästa a PRIMENUMBERSBETWEEN3 = primenumber Slutfunktion Sub ISPRIME15485863() number_to_be_checked = 2 'inmatningsvärde här c = number_to_be_checked For b = 0 To c If number_to_be_checked Mod b = 1 Och cb Sedan MsgBox "Not Prime & b Divisible by "Not Prime & b.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)) + XNUMX End If End If End If Next b End Sub
Det finns inga kommentarer här ännu
Lämna dina kommentarer
Postar som gäst
×
Betygsätt detta inlägg:
0   Tecken
Föreslagna platser

Följ oss

Copyright © 2009 - www.extendoffice.com. | Alla rättigheter förbehållna. Drivs av ExtendOffice. | | Sitemap
Microsoft och Office-logotypen är varumärken eller registrerade varumärken som tillhör Microsoft Corporation i USA och / eller andra länder.
Skyddad av Sectigo SSL