Consell: altres idiomes es tradueixen en Google. Pots visitar el English versió d'aquest enllaç.
Iniciar Sessió
x
or
x
x
Registre
x

or

Com es generen tots els nombres primers entre dos números donats en Excel?

En Excel, heu intentat enumerar tots els nombres primers entre dos números donats? En aquest article, parlaré d'alguns mètodes interessants per fer front a aquesta tasca.

Genera tots els nombres primers entre dos nombres amb fórmules

Genereu tots els nombres primers entre dos nombres donats amb la funció definida per l'usuari


fletxa blau dreta bombolla Genera tots els nombres primers entre dos nombres amb fórmules


Combinant el Defineix el nom funció i fórmules, podeu llistar o generar tots els nombres primers entre els dos nombres específics. Feu el següent:

1. Creeu el nom del primer rang fent clic Fórmules > Gestor de noms, i al Gestor de noms quadre de diàleg, feu clic a nou botó, veure captura de pantalla:

llista doc nombres primers 1

2. Al Nou nom quadre de diàleg, al Nom quadre de text, si us plau introduïu rng com el nom del rang i, a continuació, introduïu aquesta fórmula: = ROW (INDIRECTE (full1! $ B $ 1 & ":" & Sheet1! $ B $ 2)) (Sheet1 és el vostre full de càlcul actual que heu utilitzat, B1 i B2 són els números d'inici i final que heu especificat) a la Es refereix a quadre de text, feu clic a OK botó per tornar al diàleg anterior. Mostra la captura de pantalla:

llista doc nombres primers 2

3. Continua fent clic nou botó per crear un altre nom de rang, al Nou nom quadre de diàleg, introduïu un nom principal a la Nom quadre de text i, a continuació, introduïu aquesta fórmula: =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 és el nom del primer rang que heu creat al pas2) al Es refereix a quadre de text, veure captura de pantalla:

llista doc nombres primers 3

4. A continuació, feu clic a OK i tanqueu els diàlegs i seleccioneu una columna que vulgueu enumerar tots els nombres primers i introduïu aquesta fórmula: = IFERROR (bonus, "")(principal és el nom de rang que heu creat al pas 3) a la barra de fórmules i, a continuació, premeu CTRL + MAYÚS + ENTRAR Les tecles juntes, tots els nombres primers entre els dos números donats es mostren a la següent captura de pantalla que es mostra:

llista doc nombres primers 4


fletxa blau dreta bombolla Genereu tots els nombres primers entre dos nombres donats amb la funció definida per l'usuari

Si el primer mètode és una mica difícil, aquí podeu aplicar un Funció definida per l'usuari per resoldre'l.

1. Mantingueu premut el botó ALT + F11 claus per obrir el Microsoft Visual Basic per a aplicacions finestra.

2. Clic Insereix > Mòduls, i enganxeu el següent codi al Mòduls Finestra.

Codi VBA: genera tots els nombres primers entre dos números específics:

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. A continuació, deseu i tanqueu aquest codi, torneu al full de treball, introduïu aquesta fórmula: = Premium (10,100) (10 és el número d'inici, i 100 és el número final que voleu obtenir entre els nombres primers, podeu canviar-los a la vostra necessitat) i, a continuació, premeu Enter clau i tots els nombres principals es mostren en una sola cel·la, vegeu captura de pantalla:

llista doc nombres primers 5



Eines de productivitat recomanades

Pestanya d'Office

estrella d'or1 Porteu les pestanyes pràctiques a l'Excel i a un altre programari d'Office, igual que Chrome, Firefox i el nou Internet Explorer.

Kutools for Excel

estrella d'or1 Increïble! Incrementeu la productivitat en 5 minuts. No necessites cap habilitat especial, estalvieu dues hores cada dia.

estrella d'or1 300 Noves característiques per a Excel, Excel molt fàcil i potent:

  • Combina cel·les / files / columnes sense perdre dades.
  • Combina i consolida diverses fulles i llibres.
  • Comparar intervals, copiar diversos rangs, convertir text a data, unitat i conversió de divises.
  • Compte per colors, subtotals de paginació, classificació avançada i filtre súper,
  • Més Seleccioneu / Insereix / Suprimeix / Text / Format / Enllaç / Comentari / Llibres / Eines de full de càlcul ...

Tret de pantalla de Kutools per a Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    John Kennedy Aquino · 1 years ago
    Sub generateprimenumbersbetween3()
    starting_number = 1 'input value here
    last_number = 10000 'input value here
    primenumbers = ""
    For a = starting_number To last_number
    c = a
    For b = 2 To c
    If a Mod b = 0 And c b Then
    Exit For
    Else
    If b = c Then
    primenumbers = primenumbers & " " & 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
    Next a
    MsgBox primenumbers
    End Sub

    Function PRIMENUMBERSBETWEEN3(starting_number, last_number)
    primenumbers = ""
    For a = starting_number To last_number
    c = a
    For b = 2 To c
    If a Mod b = 0 And c b Then
    Exit For
    Else
    If b = c Then
    primenumbers = primenumbers & " " & 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
    Next a
    PRIMENUMBERSBETWEEN3 = primenumbers
    End Function

    Sub ISPRIME3()
    number_to_be_checked = 15485863 'input value here
    c = number_to_be_checked
    For b = 2 To c
    If number_to_be_checked Mod b = 0 And c b Then
    MsgBox "Not Prime. Divisible by " & 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
  • To post as a guest, your comment is unpublished.
    John Kennedy Aquino · 1 years ago
    Sub generateprimenumbersbetween()
    starting_number = 1 'input value here
    last_number = 2000 'input value here
    primenumbers = ""
    For a = starting_number To last_number
    For b = 2 To a
    If a - b * Int(a / b) = 0 And a b Then
    Exit For
    Else
    If a = b Then
    primenumbers = primenumbers & " " & a
    End If
    End If
    Next b
    Next a
    MsgBox primenumbers
    End Sub

    Function primenumbersbetween(starting_number, last_number)
    primenumbers = ""
    For a = starting_number To last_number
    For b = 2 To a
    If a - b * Int(a / b) = 0 And a b Then
    Exit For
    Else
    If a = b Then
    primenumbers = primenumbers & " " & a
    End If
    End If
    Next b
    Next a
    primenumbersbetween = primenumbers
    End Function

    'to check if a number is prime
    Sub ISPRIME()
    number_to_be_checked = 102 'input value here
    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
    MsgBox "Not Prime. Divisible by " & b
    Exit Sub
    Else
    If number_to_be_checked = b Then
    MsgBox "Prime"
    End If
    End If
    Next b
    End Sub

    'to check if a number is prime
    Function 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. Divisible by " & b
    Exit Function
    Else
    If number_to_be_checked = b Then
    ISPRIME2 = "Prime"
    End If
    End If
    Next b
    End Function