Salt la conținutul principal

Cum să verificați dacă numărul este numărul prim în Excel?

După cum știm cu toții, un număr prim este un număr natural care conține doar doi divizori de numere naturali distincti: unul și el însuși. Dacă aveți o listă de numere într-o foaie de lucru, cum ați putea verifica dacă numerele sunt numere prime?

Verificați dacă un număr este numărul prim cu formula matricei

Verificați dacă un număr este numărul prim cu funcția definită de utilizator


săgeată albastru dreapta balon Verificați dacă un număr este numărul prim cu formula matricei

Următoarea formulă vă poate ajuta să identificați numărul, indiferent dacă este sau nu un număr prim, vă rugăm să procedați astfel:

1. Introduceți următoarea formulă într-o celulă goală - C2, de exemplu, lângă datele dvs.:

=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime")) (A2 este celula conține numărul pe care doriți să îl verificați), apoi apăsați Ctrl + Shift + Enter tastele împreună și veți obține rezultatul, dacă numărul este prim, acesta va afișa „Prime” în celulă, dacă nu, va fi afișat „Not Prime”, vedeți captura de ecran:

doc verifică dacă prime 1

2. Apoi selectați celula C2 și trageți mânerul de umplere în jos către celulele pe care doriți să le aplicați această formulă și toate numerele vor fi identificate dacă este sau nu numărul prim. Vedeți captura de ecran:

doc verifică dacă prime 2


săgeată albastru dreapta balon Verificați dacă un număr este numărul prim cu funcția definită de utilizator

Următoarele Funcție definită de utilizator De asemenea, vă poate ajuta să verificați numerele dacă prime sau nu, vă rugăm să faceți următoarele:

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 Fereastra modulului.

Cod VBA: verificați dacă un număr este sau nu prim:

Function CheckPrime(Numb As Single) As Boolean
'Updateby Extendoffice
    Dim X As Long
    If Numb < 2 Or (Numb <> 2 And Numb Mod 2 = 0) _
     Or Numb <> Int(Numb) Then Exit Function
    For X = 3 To Sqr(Numb) Step 2
        If Numb Mod X = 0 Then Exit Function
    Next
    CheckPrime = True
End Function

3. Apoi salvați și închideți acest cod, reveniți la foaia de lucru și introduceți această formulă: = checkprime (A2) într-o celulă goală lângă lista numerelor dvs., apoi glisați mânerul de umplere în jos până la celulele pe care doriți să le conțineți această formulă, dacă numărul este numărul prim, va afișa ADEVĂRAT, dacă nu, va afișa FALS, a se vedea captura de ecran:

doc verifică dacă prime 3

Cele mai bune instrumente de productivitate de birou

🤖 Kutools AI Aide: Revoluționați analiza datelor pe baza: Execuție inteligentă   |  Generați codul  |  Creați formule personalizate  |  Analizați datele și generați diagrame  |  Invocați funcțiile Kutools...
Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

Descriere


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!
Comments (21)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
DO NOT ENTER THE FORMULAE IN THE CELL. Select the cell then paste the formulae in the formulae bar and press ctrl+shft+Enter. it should put { around the formulae} otherwise its wrong.
This comment was minimized by the moderator on the site
Craig, Thanks - that works! Sorry, I didn't read the instructions sufficiently carefully.
This comment was minimized by the moderator on the site
There is definitely a problem with this equation. I did a direct copy/paste and checked it was a faithful copy but it still has 9, 15, 21, 25, 33, 35 and 39 as primes when they obviously are not. On quick inspection it seems as if factors of 3 and 5 are giving rise to some sort of problem. It is a very complicated formula for a single cell - so much so, I can't work out what it is trying to do. I usually break such things down into multiple cells to make debugging easier (which, I believe is Excel best practice). The function seems to work, though.
This comment was minimized by the moderator on the site
There is definitely a problem with this equation. I did a direct copy/paste and checked it was a faithful copy but it still has 9, 15, 21, 25, 33, 35 and 39 as primes when they obviously are not. On quick inspection it seems as if factors of 3 and 5 are giving rise to some sort of problem. It is a very complicated formula for a single cell - so much so, I can't work out what it is trying to do. I usually break such things down into multiple cells to make debugging easier (which, I believe is Excel best practice).
This comment was minimized by the moderator on the site
Hi.

I am using an italian version of Excel, so the formula does not work and i have an error. Can you help me?

Thanks in advance
This comment was minimized by the moderator on the site
Hi, Gian,
If the formula does not work correctly for you, you can apply the second method-User Defined Function. Please try, hope it can help you!
Thank you!
This comment was minimized by the moderator on the site
Hi skyyang.
If it can be useful for others researchers, I inform you that I have found the solution to my problem here => http://www.riolab.org/index.php?option=com_content&view=article&id=172&Itemid=68

Thank you!
This comment was minimized by the moderator on the site
Yes it worked wen I did Ctrl+Shift+Enter... !! Thank you..:D and Do u mind explaining the algorithm please.
This comment was minimized by the moderator on the site
There's a reference error when you type in numbers that have more than 12 digits.
This comment was minimized by the moderator on the site
Hello,Nathan,
As you said, when the numbers are longer than 12 digits, it will become scientific notation. The formula is not applied for this formatting.
This comment was minimized by the moderator on the site
well 4095 is not a prime. still it gives result as prime no though. its incorrect.
This comment was minimized by the moderator on the site
Hello, vaibhav,
When you pasting above formula, you should press Ctrl + Shift + Enter keys together, not just Enter key, please try it again.
This comment was minimized by the moderator on the site
Your formula is not working. Eg. 1681 is NOT a prime but by formula it is.
=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime"))
This comment was minimized by the moderator on the site
Hello, Jan,
The above formula is correct, after pastingt the formula into a cell, you should press Ctrl + Shift + Enter keys together, not just Enter key.
Please try it again, thank you!
This comment was minimized by the moderator on the site
Yes, it was that case with CSE. Thanks (it's fixed now).
https://superuser.com/questions/674566/when-to-use-ctrlshiftenter-and-when-to-use-enter-in-excel

Btw Czech variant to:
=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime"))
is:
=KDYŽ(A2=2;"Prime";KDYŽ(A(MOD(A2;ŘÁDEK(NEPŘÍMÝ.ODKAZ("2:"&ROUNDUP(ODMOCNINA(A2);0))))<>0);"Prime";"Not Prime"))

Compare: https://imgur.com/a/4MgeV
This comment was minimized by the moderator on the site
this is my fastest version Sub generateprimenumbersbetween3() starting_number = 1 'input value here last_number = 30000 '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 Sub ISPRIME3() number_to_be_checked = 2000000000 '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
This comment was minimized by the moderator on the site
The user defined function does not seem to work for numbers above ~16777213
This comment was minimized by the moderator on the site
Sub generateprimenumbersbetween() starting_number = 99990 'input value here last_number = 99999 '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
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations