חישוב ספרת ביקורת של תעודת זהות

פורסם: 11/04/2012 ב-פתרונות אקסל, פתרונות חישוביים

היי

להלן דרך לחישוב ספרת ביקורת של תעודת זהות באקסל. בסיפא של הרשומה מופיעות כתובות של המקורות עליהם הסתמכתי לבניית האלגוריתם. נא לשים לב להגבלת אחריות.

כשלב ראשון, ייתכן שמספר זהות (ללא ספרת ביקורת) שברשותנו נמוך מ-8 ספרות. על מנת להמשיך הלאה, אנו נשלים את המספר ל-8 ספרות, על ידי הוספת אפסים מקדימים.

את ההשלמה ניתן לעשות על ידי פונקציה REPT. הפונקציה חוזרת על טקסט מוגדר מספר פעמים מוגדר. במקרה שלנו נחזור על ספרה 0 מספר פעמים השווה להפרש בין 8 לבין מספר ספרות של ת.ז. שברשותנו. מספר ספרות ניתן לחשב באמצעות פונקציה LEN. לפיכך, המספר הסופי בתא B2 הוא חיבור של האפסים המקדימים ומספר ת.ז. שברשותנו.

בתמונה להלן, בתא B1 מופיע מספר ת.ז. שברשותנו. בתא B2 נעשית ההשלמה ל-8 ספרות.

עתה, נסדר את ספרות תעודת זהות בת 8 ספרות ב-8 תאים, שכל תא יכלול ספרה אחת. לצורך סידור הספרות ועל מנת שאוכל לגרור, בניתי בשורה 4 מספר סידורי רץ של ספרות. בשורה 5 אני גוזר ספרה אחת מתוך מספר ת.ז. לפי מספר סידורי המופיע בשורה 4. הגזירה נעשית באמצעות פונקציה MID, כאשר הפרמטר השני שלה הוא המספר הסידורי שבשורה 4.

עתה כל אחד מהערכים שבשורה 5 יש להכפיל ב-1 או 2 לפי הסדר המופיע בשורה 6:

עתה בכל מכפלה שהיא מספר דו ספרתי, יש לחבר את הספרות. התוצאה מופיעה בשורה 8. ניתן לראות שהשארית של חלוקה ב-9 שווה לסכום ספרות של המספר. כמובן, למעט המקרה שבו המספר הדו ספרתי הוא כפולה של 9 בעצמו (שאז סכום הספרות הוא 9) או שהמספר הוא 0. פונקציה MOD מחשבת שארית.

עתה יש לחבר את כל סכומי הספרות. הסיכום מופיע בתא B9. ספרת הביקורת היא המשלים של הסכום שהתקבל לכפולה של 10 הקרובה ביותר אליו והגדולה ממנו. לדוגמה, אם הסכום הוא 26, כפולה של 10 הקרובה אליו והגדולה ממנו היא 30. ההפרש בין השניים הוא 4. בפועל האם זה 26 ו-30 או 16 ו-20, אינו חשוב. מה שחשוב זה הספרה 6 וההפרש בינה לבין 10. ולכן הנוסחה להלן מבוססת על רעיון זה. ההסרה של הספרה 2 היא על ידי חישוב שארית של חלוקת הסכום ב-10.

סיימנו.

תיהנו.

מקורות:

  1. http://he.wikipedia.org/wiki/%D7%A1%D7%A4%D7%A8%D7%AA_%D7%91%D7%99%D7%A7%D7%95%D7%A8%D7%AA
  2. http://www.orianit.edu-negev.gov.il/elishevapc/sites/homepage/iris%5CregFiles%5C%D7%90%D7%9C%D7%92%D7%95%D7%A8%D7%99%D7%AA%D7%9D%D7%91%D7%93%D7%99%D7%A7%D7%AA%20%D7%AA%D7%A7%D7%99%D7%A0%D7%95%D7%AA%20%D7%A9%D7%9C%20%D7%A1%D7%99%D7%A4%D7%A8%D7%AA%20%D7%94%D7%91%D7%99%D7%A7%D7%95%D7%A8%D7%AA.doc

כתיבת תגובה