Page 1 of 1
สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Fri Nov 25, 2016 1:18 pm
by ajsudkedt
ตามภาพ
สูตรที่ผมใช้ ทำไมเลข
0000000000001
ทำไมสูตรถึงแจ้งว่าถูกครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Fri Nov 25, 2016 1:55 pm
by DhitiBank
ลองเอาเม้าส์ลากคลุม Value(Right(A2,1)) แล้วกด F9 ดูครับ ว่าได้เท่ากับ 1 หรือไม่ หากเท่าแสดงว่าเลข 1 เป็นอัขระสุดท้ายในเซลล์ A2 จริงๆ ก็ให้ตรวจต่อ...
เอาเม้าส์ลากคลุม Mid(A2,Row(A1:A12),1) แล้วกด F9 ครับ ว่าตัดได้ {0;0;0;0;0;0;0;0;0;0;0;0} หรือไม่ หากไม่ก็ผิดครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Sun Nov 27, 2016 1:04 pm
by ajsudkedt
รูปแบบเซลล์มันเป็น text ครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Sun Nov 27, 2016 3:30 pm
by DhitiBank
จะเป็นเลขหรือเป็น text ไม่สำคัญครับ เพราะผลจากการคำนวณจะถูกแปลงเป็นเลขโดยอัตโนมัติอยู่แล้วด้วยสูตร Value และการคูณกันในสูตร Sumproduct ผมลองคีย์เป็น text แล้วทดสอบกับเลขประชาชนของผมเอง ผลก็ true เหมือนกันครับ แต่หากเปลี่ยนเลขบางตัว ผลเป็น false
มาคิดอีกที หากเลข 12 ตัวหน้าเป็น 0 หมด check digit จะต้องคำนวณได้ 1 ถูกแล้วครับ ลองทดสอบโดยคีย์ที่ A2 เป็น '0000000000002 สูตรจะแสดง False ครับ หรือลองคีย์ '1234567891003 ก็จะ true อันนี้ผมมั่วเลขขึ้นมานะครับ
สูตรนั้นเป็นการเช็คเลขสุดท้ายเฉยๆ ว่าสอดคล้องกันไหม แต่ไม่ได้ตรวจว่าเป็นเลขประชาชนจริงๆ หรือเปล่าครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Tue Nov 29, 2016 11:33 am
by ajsudkedt
แล้วสูตรตรวจเลขประชาชนจริง ๆ
ที่ต้องออกโดยกระทรวงมหาดไทยเท่านั้นถึงจะถูก มีไหมครับ
เพราะเห็นมีเลขที่ประชาชนที่มหาดไทยออกให้คนต่างด้าวขึ้นต้นด้วย 0
ตามภาพแบบนี้มีสูตรตรวจไหมครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Tue Nov 29, 2016 11:38 am
by parakorn
ajsudkedt wrote:แล้วสูตรตรวจเลขประชาชนจริง ๆ
ที่ต้องออกโดยกระทรวงมหาดไทยเท่านั้นถึงจะถูก มีไหมครับ
เพราะเห็นมีเลขที่ประชาชนที่มหาดไทยออกให้คนต่างด้าวขึ้นต้นด้วย 0
ตามภาพแบบนี้มีสูตรตรวจไหมครับ
หากต้องการตรวจสอบข้อมูลอะไร ต้องมีฐานข้อมูลครับ
แต่หากแค่ตรวจ ว่า ข้อมูลที่มีอยู่ เลขด้านหน้าสุด เป็น 0 หรือไม่ แบบนี้พอได้ครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Tue Nov 29, 2016 4:35 pm
by ajsudkedt
จากเลขบัตร ตามภาพ พอจะมีสูตรตรวจสอบไหมครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Tue Nov 29, 2016 5:08 pm
by parakorn
ajsudkedt wrote:จากเลขบัตร ตามภาพ พอจะมีสูตรตรวจสอบไหมครับ
เงื่อนไขในการตรวจสอบมีอะไรบ้างครับ
ถ้าตรวจสอบว่าเป็นเลขบัตรประจำตัวประชาชน
ก็ต้องมีฐานข้อมูล ว่ามีเลขอะไรบ้างก่อน ลองส่งตัวอย่างฐานข้อมูลมาดูครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Thu Dec 01, 2016 11:11 am
by DhitiBank
ตามที่คุณ parakorn กล่าวไว้เลยครับ หากต้องการจะตรวจว่าเลข 13 หลักนั้นๆ เป็นเลขบัตรประชาชนจริงๆ มีตัวตนอยู่จริงจะต้องมีฐานข้อมูล (แต่ผมคิดว่าฐานข้อมูลเลขบัตรประชาชนไม่ใช่สิ่งที่หามาได้ง่ายๆ ครับ เฉพาะผู้ที่ได้รับอำนาจเฉพาะ หรือมีตำแหน่งหน้าที่เฉพาะที่เข้าถึงข้อมูลพวกนี้ได้ หรือไม่ก็ไปแฮ็คมาครับ)
หากไม่มีฐานข้อมูลที่ว่า การตรวจสอบเบื้องต้นก็ทำได้แค่เช็คว่า พิมพ์รหัสถูกหรือเปล่าโดยดูจากเลขหลักที่ 1 ซึ่งเป็น check digit ที่ได้จากการคำนวณครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Fri Dec 02, 2016 6:59 pm
by ZEROV
ตั้งตัวอย่างโจทย์ผิด
0-0000-00000-00-1 =ผิดหลักการกำหนดเลขที่บัตรประชาชนแต่ถูกหลักการตรวจสอบ
หมายความว่าไม่มีบัตรประชาชนเลขที่นี้ แต่ถ้าใช้สูตรตรวจจะได้ค่า true
0-2394-89000-06-8 =ถูกหลักการกำหนดเลขที่บัตรประชาชนและถูกต้องตามหลักการตรวจสอบ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Fri Dec 02, 2016 9:17 pm
by parakorn
ZEROV wrote:ตั้งตัวอย่างโจทย์ผิด
<a href="tel:0-0000-00000-00-1">0-0000-00000-00-1</a> =ผิดหลักการกำหนดเลขที่บัตรประชาชนแต่ถูกหลักการตรวจสอบ
หมายความว่าไม่มีบัตรประชาชนเลขที่นี้ แต่ถ้าใช้สูตรตรวจจะได้ค่า true
<a href="tel:0-2394-89000-06-8">0-2394-89000-06-8</a> =ถูกหลักการกำหนดเลขที่บัตรประชาชนและถูกต้องตามหลักการตรวจสอบ
เพราะอะไรถึงผิดและถูก และมีเงื่อนไขในการชี้วัดอะไรบ้าง ลองอธิบายมาทุกๆเงื่อนไข และทุกๆเหตุผลครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Fri Dec 02, 2016 10:59 pm
by ZEROV
เพราะอะไรถึงผิดและถูก และมีเงื่อนไขในการชี้วัดอะไรบ้าง ลองอธิบายมาทุกๆเงื่อนไข และทุกๆเหตุผลครับ
ตามนี้ครับ
https://th.wikipedia.org/wiki/%E0%B9%80 ... 7%E0%B8%A2
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Sun Dec 04, 2016 4:39 am
by ajsudkedt
เลขประชาชนที่มหาดไทยออกให้คนต่างด้าวที่ขึ้นต้นด้วย 0
ตามภาพบัตรประชาชนที่ผมแนบด้านบน
มีหลักการกำหนดตัวเลขยังไงครับ
เผื่อจะได้นำมาคิดสูตรตราวจสอบน่ะครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Sun Dec 04, 2016 6:41 am
by snasui

แนบไฟล์มาด้วยจะได้ช่วยตรวจสอบให้ได้ครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Sun Dec 04, 2016 7:14 am
by ajsudkedt
ตามภาพและไฟล์แนบ
แสดงว่าการจัดรูปแบบ Cell
มีผลต่อการตรวจสอบใช่ไหมครับ
เราจะมีสูตรที่ตรวจได้ในรูปแบบ Cell แบบ Custom ไหมครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Sun Dec 04, 2016 7:16 am
by ajsudkedt
ไฟล์ "ask-2" ครับ
Re: สูตรตรวจเลขประชาชน สงสัยครับ
Posted: Sun Dec 04, 2016 7:32 am
by snasui

เมื่อทราบอยู่แล้วว่าเซลล์นั้นต้องจัดรูปแบบให้เป็น Text ก็ควรจัดรูปแบบให้เป็น Text ตั้งแต่ต้น จะได้ไม่ต้องเสียเวลาตรวจสอบครับ
หรือหากจะตรวจสอบด้วยสูตรให้แก้ไขสูตรเพิ่มเติมเป็นด้านล่าง
=If(Len(A2)<>13,"Incorrect value",OldFormula)
สูตรตรวจสอบบัตรประชาชนเคยถามมานานแล้วตามที่ผมยกมาด้านล่าง
ajsudkedt wrote:ได้แล้วครับ Search เจอใน
http://www.bloggang.com/viewblog.php?id ... 3&gblog=15
ตรวจได้เฉพาะ ถูก/ผิด แต่ยังแก้สูตรให้บอกว่า "ซ้ำ" ไม่ได้ครับ
สูตรตามนี้ครับ
=VALUE(RIGHT(A1,1))=MOD(11-MOD(SUMPRODUCT(MID(A1,ROW($A$1:$A$12),1)*{13;12;11;10;9;8;7;6;5;4;3;2}),11),10)
snasui wrote: 
จาก Link ที่ให้มา
ลองเลื่อนไปอ่านชื่อผู้โพสต์ในความเห็นที่ 3 ครับ
...
Link กระทู้ด้านบน:
http://www.snasui.com/viewtopic.php?f=3&t=6968
สามารถนำสูตรในความเห็นที่ 3 ของบทความนั้นมาใช้หรือปรับใช้ได้เช่นกัน สูตรจะสั้นลงกว่าสูตรที่ใช้อยู่นี้ครับ