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

วิธีตรวจสอบว่าหมายเลขนั้นเป็นจำนวนเฉพาะใน Excel หรือไม่?

อย่างที่เราทราบกันดีว่าจำนวนเฉพาะคือจำนวนธรรมชาติซึ่งมีตัวหารจำนวนธรรมชาติที่แตกต่างกันเพียงสองตัวเท่านั้น: หนึ่งและตัวมันเอง หากคุณมีรายการตัวเลขในแผ่นงานคุณจะตรวจสอบได้อย่างไรว่าตัวเลขนั้นเป็นจำนวนเฉพาะ

ตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะด้วยสูตรอาร์เรย์หรือไม่

ตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ด้วย User Defined Function


ลูกศรสีฟ้าฟองขวา ตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะด้วยสูตรอาร์เรย์หรือไม่

สูตรต่อไปนี้สามารถช่วยคุณระบุจำนวนได้ว่าเป็นจำนวนเฉพาะหรือไม่โปรดทำตามนี้:

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


ลูกศรสีฟ้าฟองขวา ตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ด้วย User Defined Function

ดังต่อไปนี้ ฟังก์ชันที่ผู้ใช้กำหนด นอกจากนี้ยังสามารถช่วยคุณตรวจสอบตัวเลขว่ามีค่าเฉพาะหรือไม่โปรดทำดังนี้:

1. กด ALT + F11 คีย์เพื่อเปิด Microsoft Visual Basic สำหรับแอปพลิเคชัน หน้าต่าง

2. คลิก สิ่งที่ใส่เข้าไป > โมดูลและวางรหัสต่อไปนี้ในไฟล์ หน้าต่างโมดูล.

รหัส 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. จากนั้นบันทึกและปิดรหัสนี้กลับไปที่แผ่นงานและป้อนสูตรนี้: = checkprime (A2) ลงในเซลล์ว่างข้างรายการหมายเลขของคุณจากนั้นลากที่จับเติมลงไปที่เซลล์ที่คุณต้องการให้มีสูตรนี้หากตัวเลขนั้นเป็นจำนวนเฉพาะก็จะแสดง TRUE หากไม่เป็นเช่นนั้นก็จะแสดง FALSE ดูภาพหน้าจอ:

doc ตรวจสอบว่าไพรม์ 3


เครื่องมือเพิ่มประสิทธิภาพการทำงานในสำนักงานที่ดีที่สุด

Kutools สำหรับ Excel ช่วยแก้ปัญหาส่วนใหญ่ของคุณและเพิ่มผลผลิตของคุณได้ถึง 80%

  • นำมาใช้ใหม่: ใส่อย่างรวดเร็ว สูตรที่ซับซ้อนแผนภูมิ และสิ่งที่คุณเคยใช้มาก่อน เข้ารหัสเซลล์ ด้วยรหัสผ่าน; สร้างรายชื่อผู้รับจดหมาย และส่งอีเมล ...
  • ซุปเปอร์ฟอร์มูล่าบาร์ (แก้ไขข้อความและสูตรหลายบรรทัดได้อย่างง่ายดาย); การอ่านเค้าโครง (อ่านและแก้ไขเซลล์จำนวนมากได้อย่างง่ายดาย); วางลงในช่วงที่กรองแล้ว...
  • ผสานเซลล์ / แถว / คอลัมน์ โดยไม่สูญเสียข้อมูล แยกเนื้อหาของเซลล์ รวมแถว / คอลัมน์ที่ซ้ำกัน... ป้องกันเซลล์ซ้ำ; เปรียบเทียบช่วง...
  • เลือกซ้ำหรือไม่ซ้ำ แถว; เลือกแถวว่าง (เซลล์ทั้งหมดว่างเปล่า); Super Find และ Fuzzy Find ในสมุดงานจำนวนมาก สุ่มเลือก ...
  • สำเนาถูกต้อง หลายเซลล์โดยไม่เปลี่ยนการอ้างอิงสูตร สร้างการอ้างอิงอัตโนมัติ ถึงหลายแผ่น ใส่สัญลักษณ์แสดงหัวข้อย่อย, กล่องกาเครื่องหมายและอื่น ๆ ...
  • แยกข้อความ, เพิ่มข้อความ, ลบตามตำแหน่ง, ลบ Space; สร้างและพิมพ์ผลรวมย่อยของเพจ แปลงระหว่างเนื้อหาของเซลล์และความคิดเห็น...
  • ซุปเปอร์ฟิลเตอร์ (บันทึกและใช้โครงร่างตัวกรองกับแผ่นงานอื่น ๆ ); การเรียงลำดับขั้นสูง ตามเดือน / สัปดาห์ / วันความถี่และอื่น ๆ ตัวกรองพิเศษ โดยตัวหนาตัวเอียง ...
  • รวมสมุดงานและแผ่นงาน; ผสานตารางตามคอลัมน์สำคัญ แยกข้อมูลออกเป็นหลายแผ่น; Batch แปลง xls, xlsx และ PDF...
  • คุณสมบัติที่ทรงพลังมากกว่า 300 รายการ. รองรับ Office / Excel 2007-2019 และ 365 รองรับทุกภาษา ใช้งานง่ายในองค์กรหรือองค์กรของคุณ ทดลองใช้ฟรี 30 วันเต็ม รับประกันคืนเงิน 60 วัน
kte แท็บ 201905

แท็บ Office นำอินเทอร์เฟซแบบแท็บมาที่ Office และทำให้งานของคุณง่ายขึ้นมาก

  • เปิดใช้งานการแก้ไขและอ่านแบบแท็บใน Word, Excel, PowerPoint, ผู้จัดพิมพ์, Access, Visio และโครงการ
  • เปิดและสร้างเอกสารหลายรายการในแท็บใหม่ของหน้าต่างเดียวกันแทนที่จะเป็นในหน้าต่างใหม่
  • เพิ่มผลผลิตของคุณ 50% และลดการคลิกเมาส์หลายร้อยครั้งให้คุณทุกวัน!
ด้านล่าง officetab
จัดเรียงความคิดเห็นโดย
ความคิดเห็น (21)
ยังไม่มีการให้คะแนน เป็นคนแรกที่ให้คะแนน!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี ฉันชอบบทความของคุณ ขอบคุณมาก. การทดสอบอย่างง่ายของฉันพบว่า 99 เป็นจำนวนเฉพาะในขณะที่ 99 ไม่ใช่ 99 หารด้วย 3 และ 33 เช่นเดียวกับ 1 และ 99 คุณช่วยบอกฉันได้ไหมว่าการผ่าตัดของฉันผิดปกติ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สูตรอาร์เรย์ด้านบนใช้งานไม่ได้ แต่ฟังก์ชัน User Defined ใช้งานได้และมีประโยชน์มาก ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สูตรอาร์เรย์ใช้งานไม่ได้ แต่ฟังก์ชันที่ผู้ใช้กำหนดทำได้และมีประโยชน์มาก ขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
ดูเหมือนว่าฟังก์ชันที่ผู้ใช้กำหนดจะไม่ทำงานสำหรับตัวเลขที่สูงกว่า ~16777213
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
Sub generateprimenumbersbetween() beginning_number = 99990 'ค่าอินพุตที่นี่ last_number = 99999' ค่าอินพุตที่นี่ primenumbers = "" For a = beginning_number To last_number For b = 2 ถึง a If a - b * Int(a / b) = 0 และ ab แล้ว ออกสำหรับอย่างอื่น ถ้า a = b จากนั้น หมายเลขไพรม์ = หมายเลขไพรม์ & " " & a สิ้นสุดถ้าสิ้นสุด ถ้า ถัดไป b ถัดไป a หมายเลขไพรเมอร์ของ MsgBox สิ้นสุดฟังก์ชันย่อย primenumbersbetween (starting_number, last_number) primenumbers = "" สำหรับ a = beginning_number ถึง last_number สำหรับ b = 2 ถึง a ถ้า a - b * Int(a / b) = 0 และ ab แล้ว ออกสำหรับอย่างอื่น ถ้า a = b แล้วก็ primenumbers = primenumbers & " " & a End If End If Next b Next a primenumbersbetween = primenumbers End Function 'เพื่อตรวจสอบว่า ตัวเลขเป็นจำนวนเฉพาะ Sub ISPRIME() number_to_be_checked = 102 'ป้อนค่าที่นี่ สำหรับ b = 2 ถึง number_to_be_checked ถ้า number_to_be_checked - b * Int(number_to_be_checked / b) = 0 และ _ number_to_be_checked b จากนั้น MsgBox "ไม่เฉพาะ b ออกโดย " & ย่อยอื่น ถ้า number_to_be_checked = b แล้ว MsgBox "นายก" สิ้นสุด ถ้าสิ้นสุด ถ้าถัดไป b สิ้นสุด S ub 'เพื่อตรวจสอบว่าตัวเลขเป็นจำนวนเฉพาะหรือไม่ ฟังก์ชั่น 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 ออกจากฟังก์ชัน Else If number_to_be_checked = b แล้ว ISPRIME2 = "Prime" สิ้นสุด If End If Next b สิ้นสุดฟังก์ชัน
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
นี่คือเวอร์ชันที่เร็วที่สุดของฉัน Sub generateprimenumbersbetween3() beginning_number = 1 'ป้อนค่าที่นี่ last_number = 30000 'ป้อนค่าที่นี่ primenumbers = "" For a = beginning_number To last_number c = a For b = 2 To c หาก Mod b = 0 และ cb แล้วออกจากที่อื่น ถ้า b = c จากนั้นไพรนัมเบอร์ = ไพรนัมเบอร์ & " " & a ออกสำหรับอย่างอื่น ถ้ารอบ(a / (b + 1)) + 1 > b แล้ว c = รอบ(a / (b + 1)) + 1 สิ้นสุด ถ้าสิ้นสุด ถ้าสิ้นสุด ถ้าถัดไป b ถัดไป a MsgBox primenumbers End Sub Sub ISPRIME3() number_to_be_checked = 2000000000 'ใส่ค่าที่นี่ c = number_to_be_checked สำหรับ b = 2 ถึง c ถ้า number_to_be_checked Mod b = 0 และ cb จากนั้น MsgBox "ไม่ใช่ Prime หารด้วย " & b Exit Sub อื่น ถ้า b = c จากนั้น MsgBox "Prime" ออกจาก Sub Else ถ้า 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 จบซับ
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สูตรของคุณไม่ทำงาน เช่น. 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

Btw เช็กตัวแปรไป:
=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 เวอร์ชันภาษาอิตาลี สูตรนี้ใช้ไม่ได้และเกิดข้อผิดพลาด คุณสามารถช่วยฉันได้ไหม?

ขอบคุณล่วงหน้า
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดีเกียน
ถ้าสูตรทำงานไม่ถูกต้องสำหรับคุณ คุณสามารถใช้วิธีที่สอง - User Defined Function โปรดลอง หวังว่าจะช่วยคุณได้!
ขอขอบคุณ!
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
สวัสดี skyyang
หากจะเป็นประโยชน์สำหรับนักวิจัยคนอื่นๆ ฉันขอแจ้งให้คุณทราบว่าฉันพบวิธีแก้ไขปัญหาของฉันแล้วที่นี่ => 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 ควรใส่ { รอบสูตร} ไม่เช่นนั้นจะผิด
ความคิดเห็นนี้ถูกย่อให้เล็กสุดโดยผู้ดำเนินรายการบนเว็บไซต์
เครก ขอบคุณ - ใช้งานได้! ขออภัย ฉันไม่ได้อ่านคำแนะนำอย่างละเอียดเพียงพอ
มีความคิดเห็นยังไม่มีการโพสต์ที่นี่
แสดงความคิดเห็นของคุณ
โพสต์ในฐานะแขก
×
ให้คะแนนโพสต์นี้:
0   ตัวอักษร
สถานที่แนะนำ