Note: The other languages of the website are Google-translated. Back to English

Як сформувати всі прості числа між двома заданими числами в Excel?

Чи намагалися ви в Excel коли-небудь перераховувати всі прості числа між двома заданими числами? У цій статті я розповім про кілька цікавих методів вирішення цього завдання.

Сформуйте всі прості числа між двома заданими числами за допомогою формул

Створіть усі прості числа між двома заданими числами за допомогою функції, визначеної користувачем


стрілка синя права міхур Сформуйте всі прості числа між двома заданими числами за допомогою формул

Поєднання Визначте ім’я функцію та формули, ви можете перерахувати або сформувати всі прості числа між двома конкретними числами. Будь ласка, виконайте наступне:

1. Будь ласка, створіть назву першого діапазону, натиснувши Формули > Менеджер імен, і в Менеджер імен діалогове вікно натисніть кнопку новий , див. знімок екрана:

doc список простих чисел 1

2, в Нове ім'я у діалоговому вікні Назва текстове поле, введіть дальність як назву діапазону, а потім введіть цю формулу: = РЯД (НЕПРЯМИЙ (Аркуш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))) (дальність - це перша назва діапазону, яку ви створили на кроці 2) у Відноситься до текстове поле, див. знімок екрана:

doc список простих чисел 3

4. Потім натисніть OK і закрийте діалогові вікна та виберіть один стовпець, у якому ви хочете перерахувати всі прості числа, і введіть цю формулу: = IFERROR (прем'єр, "")(просте число - це назва діапазону, яку ви створили на кроці 3) у рядку формул, а потім натисніть CTRL + SHIFT + ENTER клавіші разом, всі найпростіші числа між цими двома числами перераховані, як показано на наступному скріншоті:

doc список простих чисел 4


стрілка синя права міхур Створіть усі прості числа між двома заданими числами за допомогою функції, визначеної користувачем

Якщо перший спосіб є дещо складним, тут ви можете застосувати a Визначена користувачем функція щоб її вирішити.

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у Модулі Вікно

Код 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 для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

  • Повторне використання: Швидко вставте складні формули, діаграми і все, що ви використовували раніше; Шифрувати комірки з паролем; Створити список розсилки та надсилати електронні листи ...
  • Супер формула бар (легко редагувати кілька рядків тексту та формули); Макет читання (легко читати та редагувати велику кількість комірок); Вставте у відфільтрований діапазон...
  • Об’єднати клітинки / рядки / стовпці без втрати даних; Вміст розділених комірок; Об'єднати повторювані рядки / стовпці... Запобігання дублюючим клітинам; Порівняйте діапазони...
  • Виберіть Повторюваний або Унікальний Рядки; Виберіть Пусті рядки (усі клітинки порожні); Супер знахідка та нечітка знахідка у багатьох робочих зошитах; Випадковий вибір ...
  • Точна копія Кілька клітинок без зміни посилання на формулу; Автоматичне створення посилань на кілька аркушів; Вставте кулі, Прапорці та інше ...
  • Витяг тексту, Додати текст, Видалити за позицією, Видаліть пробіл; Створення та друк проміжних підсумків підкачки; Перетворення вмісту комірок та коментарів...
  • Супер фільтр (зберегти та застосувати схеми фільтрів до інших аркушів); Розширене сортування за місяцем / тижнем / днем, частотою та іншим; Спеціальний фільтр жирним, курсивом ...
  • Поєднайте робочі зошити та робочі аркуші; Об’єднати таблиці на основі ключових стовпців; Розділіть дані на кілька аркушів; Пакетне перетворення xls, xlsx та PDF...
  • Понад 300 потужних функцій. Підтримує Office / Excel 2007-2021 і 365. Підтримує всі мови. Легке розгортання на вашому підприємстві чи в організації. 30-денна безкоштовна пробна версія повних функцій. 60-денна гарантія повернення грошей.
вкладка kte 201905

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (3)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Sub generateprimenumbersbetween() starting_number = 1 'введіть значення тут last_number = 2000 'введіть значення тут primenumbers = "" Для a = starting_number До останнього_number Для b = 2 До a Якщо a - b * Int(a / b) = 0 І ab Тоді Exit For Else Якщо a = b Тоді primenumbers = primenumbers & " " & a End If End If Next b Next a MsgBox primenumbers End Sub Function primenumbersbetween(starting_number, last_number) primenumbers = "" Для a = starting_number До останнього_number Для b = 2 To a Якщо a - b * Int(a / b) = 0 І ab Тоді вийти інакше Якщо a = b Тоді primenumbers = primenumbers & " " & a End If End If Next b Далі a primenumbersbetween = primenumbers End Функція 'щоб перевірити, чи число є простим Sub ISPRIME() number_to_be_checked = 102 'введіть значення тут For b = 2 To number_to_be_checked Якщо number_to_be_checked - b * Int(number_to_be_checked / b) = 0 І _ number_to_be_checked b Тоді MsgBox "No" Prime & b Exit. Sub Else Якщо number_to_be_checked = b Тоді MsgBox "Prime" End If End If Next b End Sub ', щоб перевірити, чи число є простим Функція ISPRIME2(number_to_be_checked) Для b = 2 До number_to_be_checked Якщо number_to_be_checked - b * Int(number_to_be_checked / b) = 0 І _ number_to_be_checked b Тоді ISPRIME2 немає. Ділиться на " & b Функція виходу Інакше Якщо number_to_be_checked = b Тоді ISPRIME2 = "Правильний" Кінець Якщо Кінець Якщо Далі b Завершити функцію
Цей коментар був мінімізований модератором на сайті




End Sub

Цей коментар був мінімізований модератором на сайті
Sub generateprimenumbersbetween3() starting_number = 1 'введіть значення тут last_number = 10000 'введіть значення тут primenumbers = "" Для a = starting_number До останнього_number c = a Для b = 2 To c Якщо a Mod b = 0 І cb Потім Вийдіть інакше, якщо b = c Тоді primenumbers = primenumbers & " " & a Exit For Else If Round(a / (b + 1)) + 1 > b Тоді c = Round(a / (b + 1)) + 1 End If End If End Якщо Next b Next a MsgBox primenumbers End Sub Function PRIMENUMBERSBETWEEN3(starting_number, last_number) primenumbers = "" Для a = starting_number До останнього_number c = a Для b = 2 To c Якщо a Mod b = 0 І cb Тоді Вийдіть інакше, якщо b = c Тоді primenumbers = primenumbers & " " & a Exit For Else If Round(a / (b + 1)) + 1 > b Тоді c = Round(a / (b + 1)) + 1 End If End If End If Next b Далі a PRIMENUMBERSBETWEEN3 = primenumbers End Function Sub ISPRIME3() number_to_be_checked = 15485863 'введіть значення тут c = number_to_be_checked Для b = 2 To c Якщо number_to_be_checked Mod b = 0 І cb Тоді MsgBox «Ні» b «Ні».Exit Sub Else If b = c Then MsgBox "Prime" Exit Sub Else If Round(number_to_be_checked / (b + 1)) + 1 > b Тоді c = Round(number_to_be_checked / (b + 1)) + 1 End If End If End Якщо Next b End Sub
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL