-
@y0527643446 אפשר להתמודד עם המגבלה הזו, בתנאי שתדאגו מראש לקיים את התנאים הבאים:
- הנתונים יוצגו כמחרוזת
- הנתונים ירופדו עם אפסים מובילים כדי להשלים ל-9 תוים (כלומר כל מספר ת.ז. יכיל בדיוק 9 ספרות)
ואז אפשר לקצר את הנוסחא משמעותית ולרשום כך:
=MOD(MID(A1,1,1)+MID("0246813579",MID(A1,2,1)+1,1)+MID(A1,3,1)+MID("0246813579",MID(A1,4,1)+1,1)+MID(A1,5,1)+MID("0246813579",MID(A1,6,1)+1,1)+MID(A1,7,1)+MID("0246813579",MID(A1,8,1)+1,1)+MID(A1,9,1),10)=0
- הערה: הנוסחא לעיל היא להגדרה של אימות נתונים על תא
A1
, אח"כ ניתן לגרור לתאים אחרים.
מצ"ב צילום מסך לדוגמא:
קובץ להורדה: בדיקת תקינות תעודת זהות.xlsx
-
@OdedDvir
תודה על התשובה המפורטת והברורה.
השדה שלי באמת מסוג טקסט
אבל בגלל שמשתמש מכניס את הת"ז
אני לא יכולה להגביל אותו להכניס כולל 0
בהתחלה ..
ז"א שאני לא אוכל לקצר את הנוסחה? -
טוב חבר'ה, בזכות האתגר הזה התחדש לי חידוש נהדר באקסל:
אפשר להגדיר משתנים בתוך נוסחא, על ידיLET
, ולקצר עוד יותר את הנוסחא, כך שיהיה מקום לרפד באפסים.
הנוסחא דלהלן תעבוד על ידי אימות נתונים גם עם תאי מספר רגילים:=LET(N,REPT(0,9-LEN(A1))&A1,LET(P,"0246813579",MOD(MID(N,1,1)+MID(P,MID(N,2,1)+1,1)+MID(N,3,1)+MID(P,MID(N,4,1)+1,1)+MID(N,5,1)+MID(P,MID(N,6,1)+1,1)+MID(N,7,1)+MID(P,MID(N,8,1)+1,1)+MID(N,9,1),10)=0))
מצורף קובץ משופר: בדיקת תקינות תעודת זהות.xlsx
-
@y0527643446 @אף-אחד-3 התנאי מוגדר באימות נתונים.
כדי להציג אותו, יש לבחור את התאA1
ומהתפריט "אימות נתונים":
הנוסחא תופיע בחלון שיפתח:
-
@y0527643446 יתכן וגירסת האקסל שלכם אינה תומכת ב-
LET
.
דרישת המינימום היא גירסת אקסל 365 או 2021. -
@OdedDvir
נכון באמת ראיתי שהאקסל שלי בגירסה ישנה יותר
חבל..
בכל אופן ממש תודה -
@OdedDvir כתב בבדיקת תקינות של תעודת זהות באקסל:
טוב חבר'ה, בזכות האתגר הזה התחדש לי חידוש נהדר באקסל:
אפשר להגדיר משתנים בתוך נוסחא, על ידי LET, ולקצר עוד יותר את הנוסחא, כך שיהיה מקום לרפד באפסים.באמת חידוש!
וכבר ניסיתי ליצור את זה פעם... (https://tchumim.com/topic/13565/איך-ליצור-משתנה-גלובלי-ב-google-sheets/5)
לצערי אין את זה בSHEETS. (לפחות הם כן הוסיפו את זה מאקסל ואולי יש למה לחכות... אבל זה לא הנושא של הפוסט כרגע, אולי אפתח חדש). -
@Y-Excel-Access כתב בבדיקת תקינות של תעודת זהות באקסל:
וכבר ניסיתי ליצור את זה פעם... (https://tchumim.com/topic/13565/איך-ליצור-משתנה-גלובלי-ב-google-sheets/5)
ובמה נתקעת? הרי @dovid הביא לך פתרון מצוין - PropertiesService
עם מערכים וכדו' ניתן להתמודד בקלות ע"יJSON.stringify
&JSON.parse
(לפני השמירה ממירים לסטרינג ע"י stringify, ובשליפה מפרסרים חזרה ע"י parse) -
@צדיק-תמים באקסל זה היה מצוין,
אבל בשיטס ראיתי שלעבוד עם UDF זה פחות מעשי.
בכל פונקציית UDF את ה LOADING שגורם לחכות עד שזה כבר לא רווחי. וזה די משמעותי כי בכל פתיחה של המשתמש זה משהה מחדש, וגם זה משהה את הפונקציות המפנות אליה ובפרט אם יש עוד פונקצית UDF שמפנה אליה שאז זמן ההשהייה מוכפל...
ספציפית אני זוכר גם שיש לאחת השיטות שם מגבלה של כמות תווים לא גדולה במשתנה, כך שלשרשר מערך במשתנה אחד זה לא תמיד יהיה אפשרי.פונקציית למבדה החדשה שהבאתי בקישור היא מצויינת, ומשרתת את אותה המטרה (רק התחביר שלה קצת מגושם).
בכלל יש הרבה חידושים שם (הצלחתי סוף סוף אפי' ליצור CROSSJOIN בלי UDF) אבל זה נראה לי יותר עניין לפוסט בפני עצמו.