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
:D แนบไฟล์มาด้วยจะได้ช่วยตรวจสอบให้ได้ครับ

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
:D เมื่อทราบอยู่แล้วว่าเซลล์นั้นต้องจัดรูปแบบให้เป็น 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: :D จาก Link ที่ให้มา ลองเลื่อนไปอ่านชื่อผู้โพสต์ในความเห็นที่ 3 ครับ

...
Link กระทู้ด้านบน: http://www.snasui.com/viewtopic.php?f=3&t=6968

สามารถนำสูตรในความเห็นที่ 3 ของบทความนั้นมาใช้หรือปรับใช้ได้เช่นกัน สูตรจะสั้นลงกว่าสูตรที่ใช้อยู่นี้ครับ