How to generate all prime numbers between two given numbers in Excel?
In Excel, have you ever tried to list all prime numbers between two given numbers? This article, I will talk about some interesting methods to deal with this task.
Generate all prime numbers between two given numbers with formulas
Generate all prime numbers between two given numbers with User Defined Function
Generate all prime numbers between two given numbers with formulas
Combining the Define Name function and formulas, you can list or generate all of the prime numbers between the two specific numbers. Please do as follows:
1. Please create the first range name by clicking Formulas > Name Manager, and in the Name Manager dialog box, click New button, see screenshot:
2. In the New Name dialog box, in the Name text box, please enter rng as the range name, and then enter this formula: =ROW(INDIRECT(Sheet1!$B$1&":"&Sheet1!$B$2)) (Sheet1 is your current worksheet you used, B1 and B2 are the start and end numbers you specified )into the Refers to text box, then click OK button to return to the former dialog. See screenshot:
3. Go on clicking New button to create another range name, in the New Name dialog box, enter a name prime into the Name text box, and then enter this formula: =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 is the first range name you have created in step2) into the Refers to text box, see screenshot:
4. Then click OK and close the dialogs, and select one column that you want to list all the prime numbers, and enter this formula: =IFERROR(prime,"")(prime is the range name you created in step 3) into the formula bar, and then press CTRL + SHIFT + ENTER keys together, all the prime numbers between the given two numbers are listed as following screenshot shown:
Generate all prime numbers between two given numbers with User Defined Function
If the first method is somewhat difficult, here, you can apply a User Defined Function to solve it.
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: Generate all prime numbers between two specific numbers:
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. Then save and close this code, go back to the worksheet, please enter this formula: =prime(10,100) (10 is the start number, and 100 is the end number that you want to get the prime numbers between, you can change them to your need), and then press Enter key, and all the prime numbers are displayed into one cell, see screenshot:
Recommended Productivity Tools
Would you like to complete your daily work quickly and perfectly? Kutools For Excel brings
300+ cool and powerful advanced features (Combine workbooks, sum by color, split cell contents, convert date, and so on...) for
1500+ work scenarios, helps you solve
82% Excel problems.
- Deal with all complicated tasks in seconds, help to enhance your work ability, get success from the fierce competition, and never worry about being fired.
- Save a lot of work time, leave much time for you to love and care the family and enjoy a comfortable life now.
- Reduce thousands of keyboard and mouse clicks every day, relieve your tired eyes and hands, and give you a healthy body.
- Become an Excel expert in 3 minutes, and get admiring glance from your colleagues or friends.
- No longer need to remember any painful formulas and VBA codes, have a relaxing and pleasant mind, give you a thrill you've never had before.
- Spend only $39, but worth than $4000 training of others. Being used by 110,000 elites and 300+ well-known companies.
- 60-day unlimited free trial. 60-day money back guarantee. Free upgrade and support for 2 years. Buy once, use forever.
- Change the way you work now, and give you a better life immediately!
- Increases your productivity by
50% when viewing and editing multiple documents.
- Reduce hundreds of mouse clicks for you every day, say goodbye to mouse hand.
- Open and create documents in new tabs of same window, rather than in new windows.
- Help you work faster and easily stand out from the crowd! One second to switch between dozens of open documents!