=DATEDIF(A2,B2,"M") סופרת את החודשים המלאים בין תאריך ההתחלה ב-A2 לתאריך הסיום ב-B2. הארגומנט השלישי, היחידה, קובע מה נספר: "Y" שנים, "M" חודשים, "D" ימים, ועוד שלוש יחידות שמתעלמות מחלק מהתאריכים.
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Start | End | Unit | Result | |
| 2 | 2024-04-15 | 2026-09-10 | Y | 2 | |
| 3 | M | 28 | |||
| 4 | D | 878 | |||
| 5 | YM | 4 | |||
| 6 | MD | 26 | |||
| 7 | YD | 148 |
מ-2024-04-15 עד 2026-09-10 יש 2 שנים מלאות, 28 חודשים מלאים ו-878 ימים. שנו את תאריך הסיום ב-B2 וראו כל יחידה זזה. אפשר להקליד את היחידה בנוסחה ("M") או, כמו כאן, לקרוא אותה מתא.
התחביר והיחידות של DATEDIF
=DATEDIF(start_date, end_date, unit)
| יחידה | סופרת | 2024-04-15 עד 2026-09-10 |
|---|---|---|
"Y" | שנים מלאות | 2 |
"M" | חודשים מלאים | 28 |
"D" | ימים | 878 |
"YM" | חודשים אחרי השנה המלאה האחרונה | 4 |
"MD" | ימים אחרי החודש המלא האחרון | 26 |
"YD" | ימים אחרי השנה המלאה האחרונה | 148 |
"מלאים" פירושו ש-DATEDIF אף פעם לא מעגלת כלפי מעלה. מ-31 בינואר עד 28 בפברואר יש 0 חודשים, כי 28 בפברואר בא לפני נקודת החודש האחד. היחידה לא רגישה לגודל אותיות (גם "m" עובדת), אבל היא חייבת להיות במירכאות או בתא.
למה DATEDIF לא נמצאת ברשימת הפונקציות
DATEDIF הגיעה לאקסל מ-Lotus 1-2-3, ו-Microsoft שומרת אותה רק לצורך תאימות. היא לא נמצאת בתיבת הדו-שיח של הוספת פונקציה, ההשלמה האוטומטית של נוסחאות לא מציעה אותה, ואין תיאור צץ שמציג את הארגומנטים שלה. היא עדיין מחשבת בכל גרסה של אקסל ב-Windows וב-Mac, וב-Google Sheets. הקלידו את השם המלא ואת הסוגר הפותח, =DATEDIF(, והוסיפו את הארגומנטים בעצמכם.
חודשים בין שני תאריכים
חודשים מלאים הם מה שרוב החוזים, המינויים ודוחות הוותק צריכים. לתוצאה עשרונית, YEARFRAC(A2,B2)*12 מחזירה את החודשים כשהשבר נשמר (בסיס ברירת המחדל שלה סופר כל חודש כ-30 ימים).
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | Full months | Decimal months |
| 2 | 2025-03-10 | 2026-01-05 | 9 | 9.8 |
| 3 | 2024-04-15 | 2026-09-10 | 28 | 28.8 |
| 4 | 2026-01-31 | 2026-02-28 | 0 | 0.9 |
| 5 | 2025-11-01 | 2026-05-01 | 6 | 6.0 |
המינוי הראשון נמשך 9 חודשים מלאים: 5 בינואר בא לפני ה-10 בחודש, ולכן החודש העשירי לא נספר. השורה השלישית מראה את המקרה של 31 בינואר, 0 חודשים.
שנים, חודשים וימים יחד
"Y", "YM" ו-"MD" נועדו לשימוש יחד. כל אחת ממשיכה מהמקום שבו הקודמת עצרה, ולכן השלוש עונות על "כמה זמן, בדיוק": 2 שנים, 4 חודשים ו-26 ימים לתאריכים שלמעלה. חישוב גיל משתמש באותן שלוש יחידות על תאריכי לידה.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Hired | Years | Months | Days | Service | As of |
| 2 | 2019-06-03 | 7 | 3 | 27 | 7y 3m 27d | 2026-09-30 |
| 3 | 2023-11-20 | 2 | 10 | 10 | 2y 10m 10d |
לעובד הראשון יש 7 שנים, 3 חודשים ו-27 ימים של ותק ב-2026-09-30.
למה DATEDIF מחזירה #NUM!
DATEDIF מסרבת לספור לאחור. כשתאריך ההתחלה מאוחר מתאריך הסיום, התוצאה היא #NUM!. אם הסדר יכול להשתנות, תנו ל-DATEDIF את התאריך המוקדם עם MIN ואת המאוחר עם MAX.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | DATEDIF | With MIN and MAX |
| 2 | 2026-03-10 | 2026-01-05 | #NUM! | 64 |
#NUM! מספר חורג מהטווח שהפונקציה מקבלת.C2 מציג #NUM!; D2 מחזיר 64. לימים בלבד, =ABS(B2-A2) נותנת את אותו 64 בלי DATEDIF. DATEDIF מחזירה #NUM! גם ליחידה לא מוכרת כמו "W", ו-#VALUE! כשתאריך הוא טקסט שאקסל לא יכול לקרוא כתאריך.
היחידה MD יכולה לטעות
התיעוד של Microsoft עצמה ממליץ לא להשתמש ב-"MD": כשיום ההתחלה לא קיים בחודש שלפני תאריך הסיום, היא יכולה להחזיר מספר שלילי.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Start | End | MD | D |
| 2 | 2026-01-31 | 2026-03-01 | -2 | 29 |
מ-31 בינואר עד 1 במרץ התוצאה של "MD" היא -2: DATEDIF סופרת מ"31 בפברואר", שמתגלגל ל-3 במרץ, יומיים אחרי תאריך הסיום. ספירת הימים, 29, נכונה. כשתאריכי התחלה יכולים ליפול בין ה-29 ל-31 בחודש, הציגו את משך הזמן בימים, או בדקו את תוצאת ה-MD ידנית.
תרגול: ספירת החודשים
| A | B | C | |
|---|---|---|---|
| 1 | Start | End | Months |
| 2 | 2025-03-10 | 2026-01-05 |
תורכם: ב-C2, ספרו את החודשים המלאים בין תאריך ההתחלה ב-A2 לתאריך הסיום ב-B2.
| A | B | C | |
|---|---|---|---|
| 1 | Date 1 | Date 2 | Days |
| 2 | 2026-04-18 | 2026-02-01 |
תורכם: ב-C2, ספרו את הימים בין שני התאריכים, לא משנה איזה מהם בא קודם.
שאלות נפוצות
מה DATEDIF עושה באקסל?
היא סופרת את השנים, החודשים או הימים המלאים בין שני תאריכים: =DATEDIF(A2,B2,"Y") לשנים, "M" לחודשים, "D" לימים. תאריך ההתחלה חייב לבוא ראשון.
למה אני לא מוצא את DATEDIF באקסל?
DATEDIF נשמרה לצורך תאימות עם Lotus 1-2-3, ולכן אקסל לא כולל אותה בתיבת הדו-שיח של הוספת פונקציה ובהשלמה האוטומטית של נוסחאות. היא עדיין עובדת בכל גרסה: הקלידו =DATEDIF( במלואו והוסיפו את הארגומנטים בעצמכם.
למה DATEDIF מחזירה #NUM!?
תאריך ההתחלה מאוחר מתאריך הסיום. החליפו בין הארגומנטים, או השתמשו ב-=DATEDIF(MIN(A2,B2),MAX(A2,B2),"D") כשאתם לא יודעים איזה תאריך בא קודם.
מה ההבדל בין YM, MD ו-YD ב-DATEDIF?
הן מתעלמות מחלק מהתאריכים: "YM" נותנת את החודשים שנשארים אחרי השנים המלאות, "MD" את הימים שנשארים אחרי החודשים המלאים, ו-"YD" את הימים שנשארים אחרי השנים המלאות. יחד, "Y", "YM" ו-"MD" נותנות גיל בשנים, חודשים וימים.
האם DATEDIF עובדת ב-Google Sheets?
כן, עם אותם ארגומנטים ואותן יחידות. Google Sheets גם מציגה אותה בעזרה של הפונקציות, בניגוד לאקסל.