הפיכת אותיות למספרים באקסל
-
שלום לכולם
אני צריך להכין רשימה רצה של אותיות כדי להכין ממנה רשימה של סימנים של השוע, כלומר : א,ב,ג...יא,יב,...קכא,קכב וכו'. מישהו יודע אם יש אפשרות לבצע זאת באקסל בדרך חכמה ע"י פונקציה כלשהי? כמעט התייאשתי...
תודהתגובה: עזרה באקסל
-
@NETZ תלחץ Alt + F11 תוסיף מודול ותדביק בתוכו את הקוד הבא:
Function GIMATRIA(X) G = "" TV = Int(X / 400) For I = 1 To TV G = G & "ת" Next I X = X - (TV * 400) TV = Int(X / 300) For I = 1 To TV G = G & "ש" Next I X = X - (TV * 300) TV = Int(X / 200) For I = 1 To TV G = G & "ר" Next I X = X - (TV * 200) TV = Int(X / 100) For I = 1 To TV G = G & "ק" Next I X = X - (TV * 100) TV = Int(X / 90) For I = 1 To TV G = G & "צ" Next I X = X - (TV * 90) TV = Int(X / 80) For I = 1 To TV G = G & "פ" Next I X = X - (TV * 80) TV = Int(X / 70) For I = 1 To TV G = G & "ע" Next I X = X - (TV * 70) TV = Int(X / 60) For I = 1 To TV G = G & "ס" Next I X = X - (TV * 60) TV = Int(X / 50) For I = 1 To TV G = G & "נ" Next I X = X - (TV * 50) TV = Int(X / 40) For I = 1 To TV G = G & "מ" Next I X = X - (TV * 40) TV = Int(X / 30) For I = 1 To TV G = G & "ל" Next I X = X - (TV * 30) TV = Int(X / 20) For I = 1 To TV G = G & "כ" Next I X = X - (TV * 20) TV = Int(X / 10) For I = 1 To TV G = G & "י" Next I X = X - (TV * 10) TV = Int(X / 9) For I = 1 To TV G = G & "ט" Next I X = X - (TV * 9) TV = Int(X / 8) For I = 1 To TV G = G & "ח" Next I X = X - (TV * 8) TV = Int(X / 7) For I = 1 To TV G = G & "ז" Next I X = X - (TV * 7) TV = Int(X / 6) For I = 1 To TV G = G & "ו" Next I X = X - (TV * 6) TV = Int(X / 5) For I = 1 To TV G = G & "ה" Next I X = X - (TV * 5) TV = Int(X / 4) For I = 1 To TV G = G & "ד" Next I X = X - (TV * 4) TV = Int(X / 3) For I = 1 To TV G = G & "ג" Next I X = X - (TV * 3) TV = Int(X / 2) For I = 1 To TV G = G & "ב" Next I X = X - (TV * 2) TV = Int(X / 1) For I = 1 To TV G = G & "א" Next I X = X - (TV * 1) GIMATRIA = G End Function
שמור ויש לך פונקצית GIMATRIA הפונקציה מקבלת מספר ומחזירה אותיות
אפשר להוריד גם קובץ מוכן:גימטריה.xlsx -
@NETZ אמר בהפיכת אותיות למספרים באקסל:
ניסיתי להתחיל סדרה נוספת מ-שצג ולא מצליח...
אכן באג ידוע
https://www.prog.co.il/threads/החלפת-מספרים-לאותיות-בוורד.10607/ -
@NETZ אמר בהפיכת אותיות למספרים באקסל:
הבעיה היא שוורד מוגדר עד 392 שורות לטבלא, ואני צריך לפחות עד ספרור 679 (תרצז)
אויש, שכחתי את הבעייה של שצ"ג (ידועה לשמצה בשם באג השייגצ).
כיון שזה צורך חד פעמי, אני הייתי סוגר את הסיפור על ידי יצירת תבנית מספור נוספת מהאותא
עדרצז
, ומוסיף לה את הקידומתת
, כך אוכל לקבל את הערכים מ-תא
- עדתשצב
:ואז באקסל משלים ידנית את הערכים החסרים מ-
שצג
עדת
.
עם עיקש תתפתל. -
@אוריי זה עובד לי
האם עקבת אחרי ההוראות?
@פייתוניסט כתב בהפיכת אותיות למספרים באקסל:
תלחץ Alt + F11 תוסיף מודול ותדביק בתוכו את הקוד הבא
-
יש בעיה קטנה בקוד ש @פייתוניסט עשה, שהוא לא מטפל באותיות "טו" וב "טז"
אני עשיתי לעצמי תיקון לקוד
אז הנה השיתוף של הקוד לטבת המשתתפיםFunction GIMATRIA(x) G = "" TV = Int(x / 400) For i = 1 To TV G = G & "ת" Next i x = x - (TV * 400) TV = Int(x / 300) For i = 1 To TV G = G & "ש" Next i x = x - (TV * 300) TV = Int(x / 200) For i = 1 To TV G = G & "ר" Next i x = x - (TV * 200) TV = Int(x / 100) For i = 1 To TV G = G & "ק" Next i x = x - (TV * 100) TV = Int(x / 90) For i = 1 To TV G = G & "צ" Next i x = x - (TV * 90) TV = Int(x / 80) For i = 1 To TV G = G & "פ" Next i x = x - (TV * 80) TV = Int(x / 70) For i = 1 To TV G = G & "ע" Next i x = x - (TV * 70) TV = Int(x / 60) For i = 1 To TV G = G & "ס" Next i x = x - (TV * 60) TV = Int(x / 50) For i = 1 To TV G = G & "נ" Next i x = x - (TV * 50) TV = Int(x / 40) For i = 1 To TV G = G & "מ" Next i x = x - (TV * 40) TV = Int(x / 30) For i = 1 To TV G = G & "ל" Next i x = x - (TV * 30) TV = Int(x / 20) For i = 1 To TV G = G & "כ" Next i If x = 15 Then G = G & "טו" Else If x = 16 Then G = G & "טז" Else x = x - (TV * 20) TV = Int(x / 10) For i = 1 To TV G = G & "י" Next i x = x - (TV * 10) TV = Int(x / 9) For i = 1 To TV G = G & "ט" Next i x = x - (TV * 9) TV = Int(x / 8) For i = 1 To TV G = G & "ח" Next i x = x - (TV * 8) TV = Int(x / 7) For i = 1 To TV G = G & "ז" Next i x = x - (TV * 7) TV = Int(x / 6) For i = 1 To TV G = G & "ו" Next i x = x - (TV * 6) TV = Int(x / 5) For i = 1 To TV G = G & "ה" Next i x = x - (TV * 5) TV = Int(x / 4) For i = 1 To TV G = G & "ד" Next i x = x - (TV * 4) TV = Int(x / 3) For i = 1 To TV G = G & "ג" Next i x = x - (TV * 3) TV = Int(x / 2) For i = 1 To TV G = G & "ב" Next i x = x - (TV * 2) TV = Int(x / 1) For i = 1 To TV G = G & "א" Next i x = x - (TV * 1) End If End If GIMATRIA = G End Function