Прескочи на основното съдържание

Как да генерирам всички прости числа между две дадени числа в Excel?

Автор: Xiaoyang Последна промяна: 2016-06-20

В Excel опитвали ли сте някога да изброите всички прости числа между две дадени числа? В тази статия ще говоря за някои интересни методи за справяне с тази задача.

Генерирайте всички прости числа между две дадени числа с формули

Генерирайте всички прости числа между две дадени числа с дефинирана от потребителя функция


стрелка син десен балон Генерирайте всички прости числа между две дадени числа с формули

Комбиниране на Определете име функция и формули, можете да изброите или генерирате всички прости числа между двете конкретни числа. Моля, направете следното:

1. Моля, създайте името на първия диапазон, като щракнете формули > Мениджър на имена, и в Мениджър на имена кликнете върху НОВ бутон, вижте екранната снимка:

doc списък прости числа 1

2. В Ново име диалогов прозорец, в Име текстово поле, моля, въведете ng като име на диапазон и след това въведете тази формула: =РЕД(ИНДИРЕКТНО(Лист1!$B$1&":"&Лист1!$B$2)) (Sheet1 текущият ви работен лист ли сте използвали, B1 намлява B2 са началните и крайните числа, които сте посочили )във Отнася се до текстово поле, след което щракнете OK бутон за връщане към предишния диалогов прозорец. Вижте екранна снимка:

doc списък прости числа 2

3. Продължете да щракате НОВ бутон за създаване на друго име на диапазон, в Ново име диалогов прозорец, въведете име основен в Име текстово поле и след това въведете тази формула: =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))) (ng е първото име на диапазон, който сте създали в стъпка 2) в Отнася се до текстово поле, вижте екранна снимка:

doc списък прости числа 3

4, След това кликнете OK и затворете диалоговите прозорци и изберете една колона, в която искате да изброите всички прости числа, и въведете тази формула: =АКОГРЕШКА(просто,"")(основен е името на диапазона, който сте създали в стъпка 3) в лентата с формули и след това натиснете CTRL+SHIFT+ENTER ключове заедно, всички прости числа между дадените две числа са изброени, както е показано на следната екранна снимка:

doc списък прости числа 4


стрелка син десен балон Генерирайте всички прости числа между две дадени числа с дефинирана от потребителя функция

Ако първият метод е малко труден, тук можете да приложите a Потребителска функция за да го разреши.

1. Задръжте натиснат ALT + F11 за да отворите Microsoft Visual Basic за приложения прозорец.

2. Щракнете Поставете > Модулии поставете следния код в Модули Window.

VBA код: Генерирайте всички прости числа между две конкретни числа:

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. След това запазете и затворете този код, върнете се към работния лист, моля, въведете тази формула: =просто(10,100 XNUMX) (10 е стартовият номер и 100 е крайното число, между което искате да получите простите числа, можете да ги промените според вашите нужди), след което натиснете Въведете и всички прости числа се показват в една клетка, вижте екранната снимка:

doc списък прости числа 5

Най-добрите инструменти за продуктивност в офиса

🤖 Kutools AI помощник: Революционизирайте анализа на данни въз основа на: Интелигентно изпълнение   |  Генериране на код  |  Създаване на персонализирани формули  |  Анализирайте данни и генерирайте диаграми  |  Извикване на функциите на Kutools...
Популярни функции: Намерете, маркирайте или идентифицирайте дубликати   |  Изтриване на празни редове   |  Комбинирайте колони или клетки без загуба на данни   |   Кръг без формула ...
Супер търсене: VLookup с множество критерии    VLookup с множество стойности  |   VLookup в няколко листа   |   Размито търсене ....
Разширен падащ списък: Бързо създаване на падащ списък   |  Зависим падащ списък   |  Падащ списък с множество избори ....
Мениджър на колони: Добавете конкретен брой колони  |  Преместване на колони  |  Превключване на състоянието на видимост на скритите колони  |  Сравнете диапазони и колони ...
Препоръчани функции: Мрежов фокус   |  Изглед на дизайна   |   Голям формула бар    Мениджър на работни книги и листове   |  Библиотека с ресурси (Автоматичен текст)   |  Избор на дата   |  Комбинирайте работни листове   |  Шифроване/декриптиране на клетки    Изпращайте имейли по списък   |  Супер филтър   |   Специален филтър (филтър получер/курсив/зачертано...) ...
Топ 15 комплекта инструменти12 Текст Инструменти (добавяне на текст, Премахване на символи, ...)   |   50 + Графика Видове (диаграма на Гант, ...)   |   40+ Практичен формули (Изчислете възрастта въз основа на рождения ден, ...)   |   19 вмъкване Инструменти (Въведете QR код, Вмъкване на картина от пътя, ...)   |   12 Конверсия Инструменти (Числа към думи, Валутен обмен, ...)   |   7 Обединяване и разделяне Инструменти (Разширено комбиниране на редове, Разделени клетки, ...)   |   ... и още

Усъвършенствайте уменията си за Excel с Kutools за Excel и изпитайте ефективност, както никога досега. Kutools за Excel предлага над 300 разширени функции за повишаване на производителността и спестяване на време.  Щракнете тук, за да получите функцията, от която се нуждаете най-много...

Описание


Раздел Office Внася интерфейс с раздели в Office и прави работата ви много по-лесна

  • Разрешете редактиране и четене с раздели в Word, Excel, PowerPoint, Publisher, Access, Visio и Project.
  • Отваряйте и създавайте множество документи в нови раздели на един и същ прозорец, а не в нови прозорци.
  • Увеличава вашата производителност с 50% и намалява стотици кликвания на мишката за вас всеки ден!
Comments (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
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
This comment was minimized by the moderator on the site
<p>



End Sub

</p>
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations