تابع EDATE در اکسل
تابع EDATE یکی از پرکاربردترین توابع تاریخ در اکسل است که برای جابهجایی تاریخ به اندازهٔ مشخصی از ماهها به کار میرود. با این تابع میتوانیم بهراحتی تاریخهای سررسید، بازپرداخت اقساط، تاریخهای پیگیری و تقویمهای مالی را تولید کنیم.
ساختار و پارامترها
نحو تابع:
=EDATE(start_date, months)توضیح پارامترها:
- start_date: تاریخ شروع (میتواند یک تاریخ، یک سلول حاوی تاریخ یا تابعی مانند TODAY() باشد).
- months: تعداد ماههایی که باید اضافه (عدد مثبت) یا کم (عدد منفی) شود. معمولاً باید عدد صحیح باشد؛ در صورت وارد کردن عدد اعشاری، اکسل مقدار را به سمت صفر گرد میکند.
نکات مهم دربارهٔ نحوهٔ کار
- تابع EDATE بر پایهٔ شمارهٔ سریال تاریخها کار میکند، بنابراین فرمت سلول باید تاریخ باشد تا خروجی قابلفهم شود.
- اگر روزِ ماه مقصد وجود نداشته باشد (مثل اضافه کردن یک ماه به 31 ژانویه)، اکسل تاریخ را به «آخرین روز» آن ماه تنظیم میکند (مثلاً 28 یا 29 فوریه).
- برای بهدست آوردن «آخرین روز» ماه مقصد، از تابع EOMONTH استفاده کنید؛ EDATE روز متناظر با روز شروع را تلاش میکند حفظ کند.
- تابع EDATE روز و بخش زمانی (اگر وجود داشته باشد) را حفظ میکند؛ فقط ماه و سال را تغییر میدهد.
مثالهای عملی و پرکاربرد
مثال ساده — افزودن 3 ماه به یک تاریخ مشخص:
=EDATE("2025-11-03", 3)این فرمول تاریخ 2026-02-03 را برمیگرداند. اگر سلول حاوی تاریخ باشد میتوانید بهجای متن ثابت از مرجع سلولی استفاده کنید.
مثال با مرجع سلولی و ماههای منفی (حذف ماه):
=EDATE(A2, -6)اگر A2 حاوی 2024-08-15 باشد، خروجی 2024-02-15 خواهد بود. این روش برای محاسبهٔ تاریخ شروع یک دوره (شمارش معکوس شش ماهه) مناسب است.
محاسبهٔ سررسید اشتراک یا تمدید دوره با TODAY():
=EDATE(TODAY(), 12)این فرمول تاریخ امروز را گرفته و 12 ماه اضافه میکند؛ مناسب برای تعیین زمان تمدید یکساله از تاریخ جاری.
مثال جدولبندی شده
| فرمول | توضیحات | نتیجه (نمونه) |
|---|---|---|
| =EDATE(“2024-01-31”,1) | افزودن یک ماه به 31 ژانویه | 2024-02-29 (در سال کبیسه) یا 2024-02-28 |
| =EDATE(A2,3) | بهعلاوهٔ ۳ ماه نسبت به تاریخ در سلول A2 | مثلاً از 2024-04-10 → 2024-07-10 |
| =EDATE(TODAY(),-1) | یک ماه قبل از امروز | تاریخ متناظر یک ماه قبل |
موارد استفاده واقعی (Use Cases)
- ایجاد برنامهٔ بازپرداخت اقساط: محاسبهٔ تاریخ پرداخت قسطها با افزایش ماهیانه.
- محاسبهٔ دورهٔ ضمانت یا اشتراک: تعیین تاریخ پایانِ تعهد با افزودن تعداد ماه مناسب.
- زمانبندی پروژهها: تولید نقاط زمانیِ کلیدی (milestones) چندماهه.
- گزارشهای مالی: تولید تاریخهای پیشبینی دورهای (مثلاً هر 3 یا 6 ماه).
مقایسه با توابع مرتبط
- EDATE: جابهجایی به همان روز در ماه مقصد (یا آخرین روز اگر روز متناظر نباشد).
- EOMONTH: برگرداندن آخرین روز ماهِ n ماه جلو یا عقب؛ مفید برای سررسیدهایی که همیشه آخر ماه هستند.
- DATEDIF یا ترکیب YEAR/MONTH: برای محاسبهٔ اختلاف ماهها بین دو تاریخ.
اشتباهات رایج و راهحلها
- فرمت نشدن خروجی: اگر فرمول عددی برگرداند، سلول را روی فرمت تاریخ تنظیم کنید.
- ورودی غیرمجاز برای months: استفاده از عدد غیرصحیح ممکن است باعث گرد کردن شود؛ بهتر است از تابع INT برای اطمینان استفاده کنید:
=EDATE(A2, INT(B2)). - نیاز به محاسبهٔ اختلاف ماه بین دو تاریخ: از DATEDIF(start,end,”m”) استفاده کنید؛ EDATE برای محاسبهٔ اختلاف طراحی نشده است.
نمونههای پیشرفته و ترکیبی
تولید فهرست تاریخهای دورهای (مثال با آرایه یا کپی کردن فرمول): اگر در سلول A2 تاریخ شروع باشد، در A3 بنویسید:
=EDATE(A2, 1)و فرمول را تا تعداد دورههای لازم به پایین کپی کنید تا تقویم ماهیانه تولید شود.
استفاده همراه با TEXT برای قالببندی:
=TEXT(EDATE(A2,6), "yyyy-mm-dd")این فرمول تاریخ شش ماه بعد را به رشتهٔ متنی در قالب YYYY-MM-DD برمیگرداند؛ برای گزارشگیری یا خروجی CSV مفید است.
سازگاری و نکات فنی
- تابع EDATE در اکسلهای مدرن (نسخههای فعلی Excel، Excel for Microsoft 365 و Google Sheets) موجود است. در برخی نسخههای بسیار قدیمی ممکن است نیاز به Analysis ToolPak وجود داشته باشد.
- به تفاوت سیستمهای تاریخ (1900 vs 1904) در فایلهای بین پلتفرمی دقت کنید؛ انتقال فایل بین مک و ویندوز ممکن است موجب جابجایی چند روزی شود.
خلاصه و بهترین شیوهها
- برای محاسبهٔ تاریخهای دورهای بر اساس ماه، EDATE ساده، سریع و قابلاعتماد است.
- برای خروجیهایی که همیشه باید آخر ماه باشند، EOMONTH مناسبتر است.
- همیشه ورودیها را بهصورت تاریخ و ماهها را بهصورت عدد صحیح کنترل کنید و در صورت نیاز از TEXT برای قالببندی نهایی استفاده کنید.
اگر مثال خاصی از فایل یا سناریوی کاری دارید که میخواهید با EDATE حل شود، فرمول نمونه و ساختار سلولها را ارسال کنید تا فرمول دقیقتری پیشنهاد دهم.
آیا این مطلب برای شما مفید بود ؟




