שלום,
אחד השאלות שאני נשאל כל הזמן, היא לגבי תאריך עברי באקסל.
יש מספר אפשרויות לבצע זאת, אני יציג פה את הדרך הכי קלה לדעתי.
עדכון 13.7.2020 לסה"נ - הוספתי למאמר נוסחה שלמה להצגת התאריך העברי (ללא מאקרו, וללא API חיצוני). וכן הוספתי קובץ דוגמה. תודה לגולש ששיתף אותי !
עדכון 4.7.2020 לסה"נ - אחד הקוראים ציין שיטה נוספת להצגת תאריך עברי בקובץ אקסל. השיטה שלו עובדת באמצעות עיצוב מותאם אישית. עידכנתי את המאמר, כך שהשיטה הזו תופיע ראשונה כיוון שהיא לא דורשת שימוש בכלים חיצוניים בכלל. אחריה מופיעה השיטה השניה, שמצריכה שימוש ב-API חיצוני (הסבר למטה).
המון תודה לקורא !!!
עדכון 22.1.2020 לסה"נ - קורא שלח לי שיפור לנוסחה בשיטה השניה, עידכנתי את המאמר. המון תודה לקורא!
שיטה א - הצגת תאריך עברי באקסל - באמצעות עיצוב מותאם אישית
בשיטה הזו, אפשר באמצעות עיצוב מותנה להציג תאריך עברי בקלות.
יש לה יתרון עצום - היא קלה מאוד למימוש, אחרי שמגדירים פעם את העיצוב מותאם אישית, זה פשוט עובד.
החיסרון (הקטן לדעתי) הוא שהימים בחודש, לא מוצגים בתור אותיות, אלא בתור מספרים, כלומר למשל במקום לראות י"ז בתמוז, יוצג התאריך 11 בתמוז.
למי שזה מפריע - מוזמן לפנות לשיטה השנייה בהמשך המאמר.
על מנת לבצע את השיטה הזו :
-– בחרו בתא שבו מוצג תאריך לועזי רגיל באקסל
-– מקש ימני > עיצוב תאים » ואז הקלידו את העיצוב הבא ( מופיע גם למטה בצורה שניתן להעתיק ולהדביק)

זה העיצוב המותנה בצורה שניתן להעתיק ולהדביק :
[$-he-IL,8\]dddd dd mmmm yyyy;@
הצגת תאריך עברי מלא - באמצעות נוסחה (ללא שימוש ב- API חיצוני)
הנוסחה הבאה, מציגה את כל התאריך העברי, ללא שימוש ב- API חיצוני.
יש בהמשך המאמר קובץ אקסל להורדה, למי שמעדיף.
אומנם מדובר בנוסחה ארוכה, אך היא עובדת. (כל הכבוד לגולש ששיתף אותי !!! )
=CONCAT(CHOOSE(LEFT(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"),2),"א","ב","ג","ד","ה","ו","ז","ח","ט","י","יא","יב","יג","יד","טו","טז","יז","יח","יט","כ","כא","כב","כג","כד","כה","כו","כז","כח","כט","ל"),MID(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"),3,LEN(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"))-6),IFERROR(CHOOSE(MID(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"),LEN(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"))-2,1),"ק","ר","ש","ת","תק","תר","תש","תת","תתר"),""),IFERROR(CHOOSE(MID(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"),LEN(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"))-1,1),"י","כ","ל","מ","נ","ס","ע","פ","צ"),""),IFERROR(CHOOSE(MID(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"),LEN(TEXT(TODAY(),"[$-he-IL,8]dd mmmm yyyy;@"))-0,1),"א","ב","ג","ד","ה","ו","ז","ח","ט","י"),""))
קובץ אקסל להורדה - תאריך עברי באקסל
להלן 2 קבצים להורדה עם הנוסחה.
שימו לב שבקובץ השני - הנוסחה מתבססת על תאריך בתא אחר.
תאריך-עברי-באקסל-קובץ אקסל להורדה - דוגמא על הנוסחה המלאה, כאשר התאריך מוצג בלי תלות בתא אחר
ובנוסף - קובץ 2 - תאריך עברי באמצעות נוסחה - כאשר התאריך מתבסס על תאריך מתא אחר
שיטה ב - תאריך עברי בקובץ אקסל - באמצעות API
בשיטה בזו , בניגוד לרגיל, אני לא אסביר יותר מדי, ומי שירצה, פשוט יקרא את ההסבר למטה, ויתעמק בזה.
העתיקו את הנוסחה הבאה אל הגיליון - והחליפו את שם התא G12 , בתא בגיליון שלכם שמכיל את התאריך.
לדוגמא, אם אצלכם התאריך נמצא בתא A1 , אז בכל 3 המקומות בנוסחה שבהן כתוב G12, עליכם לכתוב במקום זאת a1.
צירפתי גם גיליון לדוגמא, עם מספר דוגמאות שימושיות, וניתן להוריד אותו ופשוט להעתיק את הנוסחאות משם.
הערות:
-– השיטה שאני מציג מתבססת על שימוש ב-API חיצוני של HebCal , ה-Api מופץ ברישיון חינמי
Creative Commons Attribution 3.0 License
-–כיוון שכך, השיטה מחייבת חיבור לאינטרנט .
נוסחת תאריך עברי באקסל
=FILTERXML(WEBSERVICE("https://www.hebcal.com/converter/?cfg=xml&gy=" & YEAR(G12) & "&gm=" & MONTH(G12) & "&gd=" & DAY(G12) & "&g2h=1"),"//@str")
קישור לקובץ - תאריך עברי באקסל
שים לב !
אם החלטת להוריד את הקובץ, במקום להעתיק את הנוסחה
נא תשומת ליבך להנחיות : לאחר הורדת הקובץ יש לאשר 2 פעמים את ההתראות בסרגל הצהוב העליון ולאחר מכן, לעמוד בשורת הנוסחאות וללחוץ Enter על הנוסחה ( ניתן לראות כיצד בסרטון הסבר )
סרטון - תאריך עברי באקסל
הסבר הנוסחה - למתקדמים (נוסחת תאריך עברי באקסל)
הנוסחה מתבססת על 2 דברים :
-- שימוש בקריאת GET אל שרת אינטרנט של פרוייקט HebCal, שהוא פרוייקט קוד פתוח עבור הלוח העברי.
-- על התוצאה המתקבלת ב-xml, ביצעתי שאילתא מסוג xpath שמחזירה את ה-attribute שנקרא str, וכיוון שיש רק אחד כזה ב-xml, אזי מתקבל התאריך העברי (שהוא תוכן ה-str).
היתרונות של שימוש בשיטה הזו עבור תאריך עברי באקסל לעומת שיטות אחרות
קיימים כבר שנים רבות תוספי אקסל, ששותלים תאריך עברי בתור טקסט בתוך אקסל.
החיסרון במקרה כזה הוא : ראשית, חובה להפעיל מאקרו ולהתקין את התוסף, ושנית, כיוון שהתאריך הוא טקסט, לא ניתן לבצע עליו חישובים וכדומה, והוא לא יכול להתרענן אוטומטית.
לעומת זאת, בשימוש ב-Api, התא עם התאריך, נשאר תא מסוג תאריך, שעליו ניתן לבצע חישובים באקסל, כמו כל חישוב אחר ב- Excel, והתאריך העברי - מתעדכן אוטומטית לחלוטין באמצעות ה-Api.
בהצלחה.