انتقل إلى المحتوى الرئيسي

كيفية التحقق مما إذا كان الرقم عددًا أوليًا في Excel؟

كما نعلم جميعًا ، الرقم الأولي هو عدد طبيعي يحتوي فقط على مقسومين طبيعيين مختلفين: واحد ونفسه. إذا كانت لديك قائمة أرقام في ورقة عمل ، فكيف يمكنك التحقق مما إذا كانت الأرقام أعدادًا أولية؟

تحقق مما إذا كان الرقم عددًا أوليًا باستخدام صيغة صفيف

تحقق مما إذا كان الرقم عددًا أوليًا باستخدام وظيفة محددة بواسطة المستخدم


السهم الأزرق الحق فقاعة تحقق مما إذا كان الرقم عددًا أوليًا باستخدام صيغة صفيف

يمكن أن تساعدك الصيغة التالية في تحديد الرقم سواء كان عددًا أوليًا أم لا ، يرجى القيام بذلك على النحو التالي:

1. أدخل الصيغة التالية في خلية فارغة - C2 على سبيل المثال بجانب البيانات الخاصة بك:

=IF(A2=2,"Prime",IF(AND(MOD(A2,ROW(INDIRECT("2:"&ROUNDUP(SQRT(A2),0))))<>0),"Prime","Not Prime")) (A2 هي الخلية التي تحتوي على الرقم الذي تريد التحقق منه) ، ثم اضغط على كترل + شيفت + إنتر معًا ، وستحصل على النتيجة ، إذا كان الرقم أوليًا ، فسيتم عرض "Prime" في الخلية ، وإذا لم يكن الأمر كذلك ، فسيتم عرض "Not Prime" ، انظر لقطة الشاشة:

تحقق من المستند إذا كان العدد الأولي 1

2. ثم حدد الخلية C2 ، واسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد تطبيق هذه الصيغة ، وسيتم تحديد جميع الأرقام إذا كان عددًا أوليًا أم لا. انظر لقطة الشاشة:

تحقق من المستند إذا كان العدد الأولي 2


السهم الأزرق الحق فقاعة تحقق مما إذا كان الرقم عددًا أوليًا باستخدام وظيفة محددة بواسطة المستخدم

ما يلي وظيفة تعريف المستخدم يمكن أن يساعدك أيضًا في التحقق من الأرقام إذا كانت أولية أم لا ، يرجى القيام بما يلي:

1. اضغط باستمرار على ALT + F11 مفاتيح لفتح ميكروسوفت فيسوال باسيك للتطبيقات نافذة.

2. انقر إدراج > وحدة، والصق الكود التالي في ملف نافذة الوحدة.

كود فبا: تحقق مما إذا كان الرقم أوليًا أم لا:

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. ثم احفظ وأغلق هذا الرمز ، عد إلى ورقة العمل ، وأدخل هذه الصيغة: = checkprime (A2) في خلية فارغة بجانب قائمة الأرقام الخاصة بك ، ثم اسحب مقبض التعبئة لأسفل إلى الخلايا التي تريد أن تحتوي على هذه الصيغة ، إذا كان الرقم عددًا أوليًا ، فسيظهر صحيحًا ، وإذا لم يكن كذلك ، فسيتم عرض FALSE ، انظر لقطة الشاشة:

تحقق من المستند إذا كان العدد الأولي 3

أفضل أدوات إنتاجية المكتب

🤖 مساعد Kutools AI: إحداث ثورة في تحليل البيانات على أساس: التنفيذ الذكي   |  إنشاء التعليمات البرمجية  |  إنشاء صيغ مخصصة  |  تحليل البيانات وإنشاء الرسوم البيانية  |  استدعاء وظائف Kutools...
الميزات الشعبية: البحث عن التكرارات أو تمييزها أو تحديدها   |  حذف الصفوف الفارغة   |  دمج الأعمدة أو الخلايا دون فقدان البيانات   |   جولة بدون صيغة 
سوبر بحث: معايير متعددة VLookup    VLookup ذات القيمة المتعددة  |   VLookup عبر أوراق متعددة   |   بحث غامض ....
قائمة منسدلة متقدمة: إنشاء القائمة المنسدلة بسرعة   |  القائمة المنسدلة التابعة   |  قائمة منسدلة متعددة التحديد ....
مدير العمود: إضافة عدد محدد من الأعمدة  |  نقل الأعمدة  |  تبديل حالة رؤية الأعمدة المخفية  |  مقارنة النطاقات والأعمدة 
الميزات المميزة: التركيز على الشبكة   |  عرض تصميم   |   شريط الفورمولا الكبير    مدير المصنفات والأوراق   |  مكتبة الموارد (النص السيارات)   |  منتقي التاريخ   |  اجمع أوراق العمل   |  تشفير/فك تشفير الخلايا    إرسال رسائل البريد الإلكتروني عن طريق القائمة   |  سوبر تصفية   |   مرشح خاص (تصفية غامق / مائل / يتوسطه خط ...) ...
أفضل 15 مجموعة أدوات12 نص الأدوات (إضافة نص, إزالة الأحرف، ...)   |   +50 رسم الأنواع (مخطط جانت، ...)   |   40+ عملي الصيغ (احسب العمر على أساس تاريخ الميلاد، ...)   |   19 إدخال الأدوات (أدخل رمز الاستجابة السريعة, إدراج صورة من المسار، ...)   |   12 تحويل الأدوات (أرقام إلى كلمات, نتيجة تحويل عملة، ...)   |   7 دمج وتقسيم الأدوات (الجمع بين الصفوف المتقدمة, تقسيم الخلايا، ...)   |   ... و اكثر

عزز مهاراتك في Excel باستخدام Kutools for Excel، واختبر كفاءة لم يسبق لها مثيل. يقدم Kutools for Excel أكثر من 300 ميزة متقدمة لتعزيز الإنتاجية وتوفير الوقت.  انقر هنا للحصول على الميزة التي تحتاجها أكثر...

الوصف


يجلب Office Tab الواجهة المبوبة إلى Office ، ويجعل عملك أسهل بكثير

  • تمكين التحرير والقراءة المبوبة في Word و Excel و PowerPointوالناشر والوصول و Visio والمشروع.
  • فتح وإنشاء مستندات متعددة في علامات تبويب جديدة من نفس النافذة ، بدلاً من النوافذ الجديدة.
  • يزيد من إنتاجيتك بنسبة 50٪ ، ويقلل مئات النقرات بالماوس كل يوم!
Comments (21)
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?

Thanks in advance
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
Sub generateprimenumbersbetween() starting_number = 99990 'input value here last_number = 99999 '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
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations