## How to check if the number is prime number in Excel?

As we all known, a prime number is a natural number which contains only two distinct natural number divisors: One and itself. If you have a list of numbers in a worksheet, how could you check if the numbers are prime numbers?

Check if a number is prime number with array formula

Check if a number is prime number with User Defined Function

#### Check if a number is prime number with array formula

The following formula can help you identify the number whether it is a prime number or not, please do as this:

1. Enter the following formula into a blank cell – C2 for example beside your data:

=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime")) (A2 is the cell contains the number that you want to check), and then press Ctrl + Shift + Enter keys together, and you will get the result, if the number is prime, it will display “Prime” in the cell, if not, “Not Prime” will be displayed, see screenshot: 2. Then select the cell C2, and drag the fill handle down to the cells which you want to apply this formula, and all the numbers will be identified if is prime number or not. See screenshot: #### Check if a number is prime number with User Defined Function

The following User Defined Function also can help you to check the numbers if prime or not, please do as follows:

1. Hold down the ALT + F11 keys to open the Microsoft Visual Basic for Applications window.

2. Click Insert > Module, and paste the following code in the Module Window.

VBA code: Check if a number is prime or not:

``````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. Then save and close this code, go back to the worksheet, and enter this formula: =checkprime(A2) into a blank cell beside your number list, and then drag the fill handle down to the cells which you want to contain this formula, if the number is prime number, it will display TRUE, if not, it will display FALSE, see screenshot: ### Best Office Productivity Tools

 Popular Features: Find, Highlight or Identify Duplicates   |  Delete Blank Rows   |  Combine Columns or Cells without Losing Data   |   Round without Formula ... Super Lookup: Multiple Criteria VLookup  |   Multiple Value VLookup  |   VLookup Across Multiple Sheets   |   Fuzzy Lookup .... Advanced Drop-down List: Quickly Create Drop Down List   |  Dependent Drop Down List   |  Multi-select Drop Down List .... Column Manager: Add a Specific Number of Columns  |  Move Columns  |  Toggle Visibility Status of Hidden Columns  |  Compare Ranges & Columns ... Featured Features: Grid Focus   |  Design View   |   Big Formula Bar   |  Workbook & Sheet Manager   |  Resource Library (Auto Text)   |  Date Picker   |  Combine Worksheets   |  Encrypt/Decrypt Cells   |  Send Emails by List   |  Super Filter   |   Special Filter (filter bold/italic/strikethrough...) ... Top 15 Toolsets:  12 Text Tools (Add Text, Remove Characters, ...)   |   50+ Chart Types (Gantt Chart, ...)   |   40+ Practical Formulas (Calculate age based on birthday, ...)   |   19 Insertion Tools (Insert QR Code, Insert Picture from Path, ...)   |   12 Conversion Tools (Numbers to Words, Currency Conversion, ...)   |   7 Merge & Split Tools (Advanced Combine Rows, Split Cells, ...)   |   ... and more

Supercharge Your Excel Skills with Kutools for Excel, and Experience Efficiency Like Never Before. Kutools for Excel Offers Over 300 Advanced Features to Boost Productivity and Save Time.  Click Here to Get The Feature You Need The Most... #### Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

• Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
• Open and create multiple documents in new tabs of the same window, rather than in new windows.
• Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day! 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?

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