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

Як перевірити, чи є число простим числом в Excel?

Як ми всі знаємо, просте число - це натуральне число, яке містить лише два різних дільника натурального числа: Один і сам. Якщо на аркуші є список чисел, як можна перевірити, чи є числа простими?

Перевірте, чи число є простим числом за формулою масиву

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


стрілка синя права міхур Перевірте, чи число є простим числом за формулою масиву

Наступна формула може допомогти вам визначити число, чи є воно простим чи ні, будь-ласка, зробіть так:

1. Введіть таку формулу в порожню комірку - C2, наприклад, поряд із вашими даними:

=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime")) (A2 є клітинка містить номер, який потрібно перевірити), а потім натисніть Ctrl + Shift + Enter клавіші разом, і ви отримаєте результат, якщо число є простим, воно відображатиме “Prime” у комірці, якщо ні, то буде відображатися “Not Prime”, див. знімок екрана:

doc перевірити, чи простий 1

2. Потім виділіть клітинку C2 і перетягніть маркер заповнення вниз до комірок, до яких ви хочете застосувати цю формулу, і всі числа будуть ідентифіковані, якщо це просте число чи ні. Дивіться знімок екрана:

doc перевірити, чи простий 2


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

Наступні Визначена користувачем функція також може допомогти вам перевірити цифри, чи є вони простими чи ні, зробіть наступне:

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

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

Код VBA: Перевірте, чи є число простим чи ні:

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. Потім збережіть і закрийте цей код, поверніться до робочого аркуша та введіть цю формулу: = контрольний строк (A2) в порожню комірку поруч зі списком номерів, а потім перетягніть маркер заповнення до комірок, які ви хочете містити у цій формулі; якщо число є простим числом, воно відобразить TRUE, якщо ні, то відобразить FALSE, див. знімок екрана:

doc перевірити, чи простий 3


Найкращі інструменти для підвищення продуктивності офісу

Kutools для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

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

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (21)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Привіт, мені подобається ваша стаття. Дуже дякую. Мої прості тести показали, що 99 було простим числом, а 99 — це не так, як 99 ділиться на 3 і 33, а також на 1 і 99. Чи можете ви сказати мені, що не так з моєю операцією?
Цей коментар був мінімізований модератором на сайті
Формула масиву вище не працює, але функція, визначена користувачем, працює і була дуже корисною. Дякую!
Цей коментар був мінімізований модератором на сайті
Формула масиву не працює, але визначена користувачем функція працює і була дуже корисною. Спасибі!
Цей коментар був мінімізований модератором на сайті
Визначена користувачем функція, схоже, не працює для чисел вище ~16777213
Цей коментар був мінімізований модератором на сайті
Sub generateprimenumbersbetween() starting_number = 99990 'введіть значення тут last_number = 99999 'введіть значення тут 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 Завершити функцію
Цей коментар був мінімізований модератором на сайті
це моя найшвидша версія Subgenerationprimenumbersbetween3() starting_number = 1 'введіть значення тут last_number = 30000 'введіть значення тут 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 Sub ISPRIME3() number_to_be_checked = 2000000000 'введіть значення тут c = number_to_be_checked Для b = 2 To c Якщо number_to_be_checked Mod b = 0 І cb Тоді MsgBox Розділене "Not" & Інакше Якщо b = c Тоді MsgBox "Prime" Вийти з підпорядкування Інакше Якщо Round(number_to_be_checked / (b + 1)) + 1 > b Тоді c = Round(number_to_be_checked / (b + 1)) + 1 End If End If End If Next b End Sub
Цей коментар був мінімізований модератором на сайті
Ваша формула не працює. напр. 1681 НЕ є простим, але за формулою це так.
=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime"))
Цей коментар був мінімізований модератором на сайті
Привіт, Ян,
Наведена вище формула правильна, після вставлення формули в комірку ви повинні натиснути разом клавіші Ctrl + Shift + Enter, а не тільки клавішу Enter.
Будь ласка, спробуйте ще раз, дякую!
Цей коментар був мінімізований модератором на сайті
Так, це було з CSE. Дякую (зараз це виправлено).
https://superuser.com/questions/674566/when-to-use-ctrlshiftenter-and-when-to-use-enter-in-excel

До речі, чеський варіант:
=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime"))
це:
=KDYŽ(A2=2;"Prime";KDYŽ(A(MOD(A2;ŘÁDEK(NEPŘÍMÝ.ODKAZ("2:"&ROUNDUP(ODMOCNINA(A2);0))))<>0);"Prime";"Not Prime"))

Порівняйте: https://imgur.com/a/4MgeV
Цей коментар був мінімізований модератором на сайті
ну 4095 не є простим числом. все одно це дає результат як головне ні. це невірно.
Цей коментар був мінімізований модератором на сайті
Привіт, вайбхав,
Коли ви вставляєте формулу вище, ви повинні натискати разом клавіші Ctrl + Shift + Enter, а не просто клавішу Enter, будь ласка, спробуйте ще раз.
Цей коментар був мінімізований модератором на сайті
Під час введення чисел, які містять більше 12 цифр, виникає помилка посилання.
Цей коментар був мінімізований модератором на сайті
Привіт, Натан,
Як ви сказали, коли числа довші за 12 цифр, це стане науковим позначенням. Формула не застосовується для цього форматування.
Цей коментар був мінімізований модератором на сайті
Так, це спрацювало, коли я натиснув Ctrl+Shift+Enter... !! Дякую..:D і не заперечуєте, будь ласка, алгоритм.
Цей коментар був мінімізований модератором на сайті
Привіт.

Я використовую італійську версію Excel, тому формула не працює, і я маю помилку. Можеш мені допомогти?

Спасибо заранее
Цей коментар був мінімізований модератором на сайті
Привіт, Джан,
Якщо формула не працює правильно для вас, ви можете застосувати другий метод — функція, що визначає користувач. Будь ласка, спробуйте, сподіваюся, це допоможе вам!
Дякую!
Цей коментар був мінімізований модератором на сайті
Привіт Скайян.
Якщо це може бути корисним для інших дослідників, я повідомляю вам, що я знайшов рішення своєї проблеми тут => http://www.riolab.org/index.php?option=com_content&view=article&id=172&Itemid=68

Дякую!
Цей коментар був мінімізований модератором на сайті
З цим рівнянням, безперечно, є проблема. Я зробив пряме копіювання/вставлення і перевірив, що це вірна копія, але в ньому все ще є 9, 15, 21, 25, 33, 35 і 39 як прості числа, хоча вони, очевидно, не є. При швидкому огляді здається, ніби фактори 3 і 5 викликають якусь проблему. Це дуже складна формула для однієї клітини – настільки, що я не можу зрозуміти, що вона намагається зробити. Зазвичай я розбиваю такі речі на кілька осередків, щоб полегшити налагодження (я вважаю, що це найкраща практика в Excel).
Цей коментар був мінімізований модератором на сайті
З цим рівнянням, безперечно, є проблема. Я зробив пряме копіювання/вставлення і перевірив, що це вірна копія, але в ній все ще є 9, 15, 21, 25, 33, 35 і 39 як прості числа, хоча вони, очевидно, не є. При швидкому огляді здається, ніби фактори 3 і 5 викликають якусь проблему. Це дуже складна формула для однієї клітини – настільки, що я не можу зрозуміти, що вона намагається зробити. Зазвичай я розбиваю такі речі на кілька осередків, щоб полегшити налагодження (я вважаю, що це найкраща практика в Excel). Проте функція, здається, працює.
Цей коментар був мінімізований модератором на сайті
НЕ ВВОДИТЬ ФОРМУЛИ В КОМІРІКУ. Виділіть клітинку, а потім вставте формули в рядок формул і натисніть ctrl+shft+Enter. він повинен поставити { навколо формул}, інакше це неправильно.
Цей коментар був мінімізований модератором на сайті
Крейг, дякую - це працює! Вибачте, я недостатньо уважно прочитав інструкцію.
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця