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

Cum se generează toate numerele prime între două numere date în Excel?

În Excel, ați încercat vreodată să enumerați toate numerele prime între două numere date? În acest articol, voi vorbi despre câteva metode interesante pentru a face față acestei sarcini.

Generați toate numerele prime între două numere date cu formule

Generați toate numerele prime între două numere date cu funcția definită de utilizator


săgeată albastru dreapta balon Generați toate numerele prime între două numere date cu formule

Combinarea Definiți numele funcție și formule, puteți lista sau genera toate numerele prime între cele două numere specifice. Vă rugăm să faceți următoarele:

1. Vă rugăm să creați primul nume al gamei făcând clic pe Formule > Manager nume, și în Manager nume casetă de dialog, faceți clic pe Nou buton, vezi captura de ecran:

doc doc numere prime 1

2. În Nume nou caseta de dialog, în Nume si Prenume casetă de text, vă rugăm să introduceți RNG ca nume de interval și apoi introduceți această formulă: = ROW (INDIRECT (Sheet1! $ B $ 1 & ":" & Sheet1! $ B $ 2)) (Sheet1 este foaia dvs. de lucru curentă pe care ați folosit-o, B1 și B2 sunt numerele de început și de sfârșit pe care le-ați specificat) în Se refera la caseta de text, apoi faceți clic pe OK pentru a reveni la fostul dialog. Vedeți captura de ecran:

doc doc numere prime 2

3. Continuați să faceți clic Nou pentru a crea un alt nume de gamă, în Nume nou caseta de dialog, introduceți un nume prim în Nume si Prenume caseta de text, apoi introduceți această formulă: =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 este primul nume de gamă pe care l-ați creat la pasul 2) în Se refera la casetă text, vezi captura de ecran:

doc doc numere prime 3

4. Apoi apasa OK și închideți casetele de dialog și selectați o coloană pe care doriți să o listați cu toate numerele prime și introduceți această formulă: = IFERROR (prim, "")(prim este numele intervalului pe care l-ați creat la pasul 3) în bara de formule, apoi apăsați CTRL+SHIFT+ENTER tastele împreună, toate numerele prime dintre cele două numere date sunt listate după cum urmează:

doc doc numere prime 4


săgeată albastru dreapta balon Generați toate numerele prime între două numere date cu funcția definită de utilizator

Dacă prima metodă este oarecum dificilă, aici, puteți aplica un Funcție definită de utilizator pentru ao rezolva.

1. Țineți apăsat butonul ALT + F11 tastele pentru a deschide Microsoft Visual Basic pentru aplicații fereastră.

2. Clic Insera > Moduleși lipiți următorul cod în Module Fereastră.

Cod VBA: Generați toate numerele prime între două numere specifice:

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. Apoi salvați și închideți acest cod, reveniți la foaia de lucru, vă rugăm să introduceți această formulă: = prim (10,100) (10 este numărul de început și 100 este numărul final între care doriți să obțineți numerele prime, le puteți schimba după nevoile dvs.) și apoi apăsați Intrați și toate numerele prime sunt afișate într-o singură celulă, consultați captura de ecran:

doc doc numere prime 5


Cele mai bune instrumente de productivitate Office

Kutools pentru Excel vă rezolvă majoritatea problemelor și vă crește productivitatea cu 80%

  • reutilizarea: Introduceți rapid formule complexe, diagrame și orice ai folosit anterior; Criptați celulele cu parola; Creați o listă de corespondență și trimiteți e-mailuri ...
  • Super Formula Bar (editați cu ușurință mai multe linii de text și formulă); Layout de citire (citiți și editați cu ușurință un număr mare de celule); Lipiți la interval filtrat...
  • Merge celule / rânduri / coloane fără a pierde date; Conținut de celule divizate; Combinați rânduri / coloane duplicate... Prevenirea celulelor duplicate; Comparați gamele...
  • Selectați Duplicat sau Unic Rânduri; Selectați Rânduri goale (toate celulele sunt goale); Super Find și Fuzzy Find în multe cărți de lucru; Selectare aleatorie ...
  • Copie exactă Mai multe celule fără modificarea referinței formulelor; Creați automat referințe la foi multiple; Introduceți gloanțe, Casete de selectare și multe altele ...
  • Extrageți textul, Adăugați text, eliminați după poziție, Eliminați spațiul; Creați și imprimați subtotaluri de paginare; Convertiți conținutul dintre celule și comentarii...
  • Super Filtru (salvați și aplicați scheme de filtrare altor foi); Sortare avansată după lună / săptămână / zi, frecvență și multe altele; Filtru special cu bold, italic ...
  • Combinați cărți de lucru și foi de lucru; Merge Tables pe baza coloanelor cheie; Împărțiți datele în mai multe foi; Conversia în loturi xls, xlsx și PDF...
  • Peste 300 de funcții puternice. Suportă Office / Excel 2007-2021 și 365. Acceptă toate limbile. Implementare ușoară în întreprinderea sau organizația dvs. Funcții complete Probă gratuită de 30 de zile. Garanție de returnare a banilor de 60 de zile.
fila kte 201905

Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
fundul officetab
Comentarii (3)
Încă nu există evaluări. Fii primul care evaluează!
Acest comentariu a fost redus la minimum de moderatorul de pe site
Sub generatenumbersbetween() starting_number = 1 'valoare de intrare aici last_number = 2000 'valoare de intrare aici primenumbers = "" Pentru a = starting_number La ultimul_număr Pentru b = 2 La a Dacă a - b * Int(a / b) = 0 Și ab Atunci Ieșire pentru Else Dacă a = b Atunci numere prime = numere prime & " " & a Sfârșit dacă Sfârșit Dacă Următorul b Următorul a MsgBox numere prime Sfârșit Sub Funcție numere prime între(număr_început, ultimul număr) numere prime = "" Pentru a = număr_început Până la ultimul_număr Pentru b = 2 Până a Dacă a - b * Int(a / b) = 0 Și ab Atunci Ieșire pentru Else Dacă a = b Atunci numere prime = numere prime & " " & a Sfârșit dacă Sfârșit Dacă Următorul b Următorul a numere prime între = numere prime Sfârșit Funcția 'pentru a verifica dacă un număr este prim Sub ISPRIME() number_to_be_checked = 102 'valoare introdusă aici Pentru b = 2 To number_to_be_checked Dacă number_to_be_checked - b * Int(number_to_be_checked / b) = 0 And _ number_to_be_checked b Apoi MsgBox "Nu se poate vedea prin Prime" & b. Sub Else If number_to_be_checked = b Atunci MsgBox „Prime” End If End If Next b End Sub 'pentru a verifica dacă un număr este prim Funcție ISPRIME2(număr_de_verificat) Pentru b = 2 Pentru a număr_de_verificat Dacă numărul_de_verificat - b * Int(număr_de_verificat / b) = 0 Și _număr_de_verificat b Apoi ISPRIME2 = "Nu prim. Divizibil cu " & b Funcția de ieșire Altfel Dacă number_to_be_checked = b Atunci ISPRIME2 = "Prime" End If End If Next b End Function
Acest comentariu a fost redus la minimum de moderatorul de pe site




End Sub

Acest comentariu a fost redus la minimum de moderatorul de pe site
Subgenerareprimenumbersbetween3() starting_number = 1 'valoare de intrare aici last_number = 10000 'valoare de intrare aici primenumbers = "" Pentru a = starting_number La ultimul_număr c = a Pentru b = 2 La c Dacă un Mod b = 0 și cb Apoi Ieșire pentru Else Dacă b = c Atunci numere prime = numere prime & " " & a Ieșire pentru Else If Round(a / (b + 1)) + 1 > b Then c = Round(a / (b + 1)) + 1 End If End If End Dacă Urmează b Urmează a MsgBox numere prime End Sub Funcție PRIMENUMBERSBETWEEN3(număr_început, ultimul_număr) numere prime = "" Pentru a = număr_început Până la ultimul_număr c = a Pentru b = 2 La c Dacă a Mod b = 0 și cb Apoi Ieșire pentru Alt Dacă b = c Atunci numere prime = numere prime & " " & a Ieșire pentru Else If Round(a / (b + 1)) + 1 > b Then c = Round(a / (b + 1)) + 1 End If End If End If Next b În continuare a PRIMENUMBERSBETWEEN3 = numere prime End Function Sub ISPRIME3() number_to_be_checked = 15485863 'valoare introdusă aici c = number_to_be_checked For b = 2 To c If number_to_be_checked Mod b = 0 And cb Then MsgBox "Not by 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)) + 1 End If End If End If Next b End Sub
Nu există comentarii postate aici încă

Urmărește-ne

Copyright © 2009 - www.extendoffice.com. | Toate drepturile rezervate. Cu sprijinul ExtendOffice. | Harta site-ului
Microsoft și sigla Office sunt mărci comerciale sau mărci comerciale înregistrate ale Microsoft Corporation în Statele Unite și / sau în alte țări.
Protejat de Sectigo SSL