=DATEDIF(B2,TODAY(),"Y") מחזירה את הגיל בשנים שלמות של מי שנולד בתאריך שב-B2. DATEDIF סופרת את השנים המלאות בין שני תאריכים, ו-TODAY() נותנת את התאריך השני, ולכן הגיל עולה באחד בכל יום הולדת.
| A | B | C | |
|---|---|---|---|
| 1 | Name | Born | Age |
| 2 | Ana | 1990-05-14 | 36 |
| 3 | Ben | 1985-11-30 | 40 |
| 4 | Chloe | 2001-02-28 | 25 |
| 5 | Dan | 1978-10-10 | 47 |
| 6 | Eva | 2010-07-04 | 16 |
הגילים בעמודה C מחושבים מהתאריך של היום, ולכן הם משתנים במהלך השנה. שנו תאריך לידה בעמודה B והגיל שלידו מתעדכן. לנוסחה יש שלושה ארגומנטים: תאריך ההתחלה (תאריך הלידה), תאריך הסיום (היום), והיחידה, "Y" לשנים שלמות.
גיל בתאריך מסוים
כדי לקבל את הגיל ביום קבוע, כמו תחילת שנת הלימודים או תאריך של חוזה, שימו את היום הזה בתא והשתמשו בתא במקום TODAY(). ה-$ ב-$F$2 משאיר את ההפניה על F2 כשהנוסחה מועתקת למטה.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Name | Born | Age | As of | ||
| 2 | Ana | 1990-05-14 | 36 | 2026-10-01 | ||
| 3 | Ben | 1985-11-30 | 40 | |||
| 4 | Chloe | 2001-02-28 | 25 | |||
| 5 | Dan | 1978-10-10 | 47 | |||
| 6 | Eva | 2010-07-04 | 16 |
ב-2026-10-01 Ana בת 36 ו-Dan בן 47: יום ההולדת שלו ב-10 באוקטובר עוד לא הגיע. שנו את F2 ל-2026-10-10 ו-Dan מגיע ל-48. הגרסה הזו גם נותנת את אותה תוצאה בכל פעם שהקובץ נפתח, וזה חשוב כשהגיל נכנס לדוח. בעמוד של DATEDIF יש את היחידות האחרות.
גיל בשנים, חודשים וימים
ל-DATEDIF יש יחידות לחלקים שנשארים אחרי השנים המלאות: "YM" סופרת את החודשים שאחרי השנה המלאה האחרונה, ו-"MD" את הימים שאחרי החודש המלא האחרון. חברו את השלושה עם & כדי לכתוב את הגיל כטקסט.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Born | Years | Months | Days | Age | As of |
| 2 | 1990-05-14 | 36 | 4 | 17 | 36 years, 4 months, 17 days | 2026-10-01 |
| 3 | 1978-10-10 | 47 | 11 | 21 | 47 years, 11 months, 21 days |
מ-1990-05-14 עד 2026-10-01 יש 36 שנים, 4 חודשים ו-17 ימים. Microsoft ממליצה לא להשתמש ביחידה "MD" כי במקרים מסוימים היא יכולה להחזיר מספר ימים שלילי או שגוי, למשל כשתאריך הלידה הוא ב-31 לחודש. בדקו את מספר הימים כשתאריך לידה חל בין ה-29 ל-31 בחודש.
חישוב גיל בלי DATEDIF
DATEDIF עובדת בכל גרסה של אקסל, אבל היא חסרה ברשימת הפונקציות ובהשלמה האוטומטית של נוסחאות, ולכן יש מי שמעדיפים את YEARFRAC. YEARFRAC(start,end,1) מחזירה את השנים בין שני תאריכים כמספר עשרוני, לפי האורך האמיתי של כל שנה (בסיס 1). INT מורידה את השבר.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Born | As of | DATEDIF | YEARFRAC |
| 2 | 1990-05-14 | 2026-10-01 | 36 | 36 |
| 3 | 1978-10-10 | 2026-10-01 | 47 | 47 |
| 4 | 2010-07-04 | 2026-10-01 | 16 | 16 |
שתי העמודות מסכימות: 36, 47 ו-16. בלי INT, YEARFRAC בשורה האחרונה מחזירה בערך 16.24, וזה שימושי כשצריך את הגיל כמספר עשרוני, למשל בגיליון סטטיסטיקה.
למה לא לחלק ב-365
קיצור נפוץ הוא =INT((F2-B2)/365): מספר הימים שחלפו חלקי מספר הימים בשנה. שנים מעוברות מוסיפות יום כל ארבע שנים, ולכן אחרי כמה עשורים הנוסחה מגיעה לגיל הבא ימים לפני יום ההולדת: 12 ימים מוקדם מדי ביום הולדת 48.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Born | As of | Days lived | Divide by 365 | DATEDIF |
| 2 | 1990-05-14 | 2026-10-01 | 13289 | 36 | 36 |
| 3 | 1978-10-10 | 2026-10-01 | 17523 | 48 | 47 |
עבור מי שנולד ב-1978-10-10, חלוקה ב-365 אומרת 48 ב-2026-10-01, תשעה ימים לפני יום ההולדת ה-48. DATEDIF אומרת 47. חלוקה ב-365.25 מתקנת את רוב השורות אבל עדיין טועה בתאריכים מסוימים, ולכן השתמשו ב-DATEDIF או ב-YEARFRAC.
תרגול: גיל ביום הראשון של הלימודים
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Name | Born | Age | As of | |
| 2 | Ana | 2012-04-17 | 2026-09-01 |
תורכם: ב-C2, חשבו את הגיל של Ana בשנים שלמות בתאריך שב-E2.
הבדיקות הנסתרות משנות את התאריך ב-E2, ולכן הנוסחה צריכה לקרוא אותו.
למה הגיל מוצג כתאריך
אם מקלידים את נוסחת הגיל בתא שכבר מכיל תאריך, או בעמודה שמעוצבת כתאריכים, אקסל שומר את תבנית התאריך ומציג את 36 כ-1900-02-05 (היום ה-36 במערכת התאריכים של אקסל; בהגדרות של ארה"ב זה נראה 2/5/1900). המספר שמתחת נכון. בחרו את התאים ובחרו בית > תבנית מספר > כללי (או הקישו Ctrl+Shift+~, ב-Mac Control+Shift+~) והגיל יופיע.
שאלות נפוצות
מה הנוסחה לחישוב גיל באקסל?
=DATEDIF(B2,TODAY(),"Y"), כשתאריך הלידה ב-B2. היא סופרת את השנים המלאות מתאריך הלידה עד היום, ולכן הגיל עולה ביום ההולדת עצמו, לא לפניו.
איך מחשבים גיל בתאריך מסוים באקסל?
שימו את התאריך בתא והשתמשו בו במקום TODAY(): =DATEDIF(B2,$F$2,"Y") נותנת את הגיל בתאריך שב-F2. סימני ה-$ משאירים את F2 קבוע כשמעתיקים את הנוסחה למטה.
איך מחשבים גיל באקסל בלי DATEDIF?
השתמשו ב-=INT(YEARFRAC(B2,TODAY(),1)). YEARFRAC מחזירה את השנים בין שני התאריכים כמספר עשרוני, ו-INT משאירה את השנים השלמות.
למה נוסחת הגיל שלי מציגה תאריך כמו 1900-01-30?
התא מעוצב כתאריך, ולכן הגיל 30 מוצג כיום ה-30 בלוח השנה של אקסל. בחרו את התא והגדירו בית > תבנית מספר > כללי.
למה חלוקה ב-365 שגויה לחישוב גיל?
שנים מעוברות מוסיפות יום כל ארבע שנים, ולכן =INT((TODAY()-B2)/365) סופרת את יום ההולדת כמה ימים מוקדם מדי: מי שנולד ב-1978-10-10 הוא בן 48 לפי הנוסחה הזו ב-2026-10-01, תשעה ימים לפני שהוא מגיע ל-48. DATEDIF סופרת שנים קלנדריות ואין לה את השגיאה הזו.