شما شاید فکر نکنید که محاسبهٔ پایان ماه کاری دردسرساز باشد، مگر اینکه بهطور منظم با تمدید صورتحسابها، جدولهای سرمایهگذاری و پیشبینیها یا تجزیه و تحلیلهای مالی در اکسل سر و کار داشته باشید. وقتی بر روی تقویم موس را نگه میدارید یا سعی میکنید روزها را بهصورت ذهنی بشمارید، بهویژه در ماه فوریه، متوجه خواهید شد که این گام کوچک چقدر میتواند مزاحم باشد.
شاید فکر نکنید که مشخص کردن انتهای ماه دردسرساز باشد، مگر اینکه به طور منظم با تمدید صورتحسابها، زمانبندی سرمایهگذاریها و پروژههای مالی یا تحلیلها در اکسل سر و کار داشته باشید. وقتی روی تقویم موس را میگذارید یا سعی میکنید روزها را بهصورت ذهنی بشمارید، به خصوص در فوریه، متوجه میشوید که این گام کوچک چقدر میتواند مخدوشکننده باشد.
خوشبختانه، اکسل از قبل راهحلی داخلی برای این مزاحمت مکرر ارائه میدهد. وقتی این تابع را به سند کاریام اضافه میکنم، دیگر نیازی به شمردن روزها یا دو بار بررسی تقویمها برای یافتن دقیق انتهای ماه ندارم.
EOMONTH روش هوشمندانهتری برای محاسبه تاریخهای انتهای ماه در اکسل است
یک فرمول برای مدیریت تمام انتهای ماهها

EOMONTH، کوتاه برای «End of Month»، یک تابع داخلی اکسل است که آخرین روز یک ماه را نسبت به هر تاریخی که به آن میدهید برمیگرداند. از آنجا که اکسل تاریخها را بهصورت اعداد سریالی ترتیبی ذخیره میکند، EOMONTH در واقع یک مقدار عددی برمیگرداند که به یک روز خاص تقویم مربوط است. اگرچه این بهنظر فنی میآید، به سادگی به این معنی است که نتیجه یک تاریخ قابل استفاده است که میتوانم آن را قالببندی کنم، در فرمولهای دیگر ارجاع دهم یا مستقیماً در یک گزارش قرار دهم. این تابع در تقریباً تمام نسخههای اکسل که افراد استفاده میکنند قابل دسترس است، از جمله Microsoft 365، اکسل وب و نسخههای دسکتاپ مانند Microsoft Excel 2016 و Microsoft Excel 2019.
دستورالعمل ساده است:
=EOMONTH(start_date, months)
آرگومان اول، start_date، تاریخی است که میخواهید از آن بهعقب یا جلو بشمارید. من ترجیح میدهم آن را با استفاده از هر یک از توابع تاریخ در اکسل وارد کنم، مانند DATE(2024,1,1)، یا از سلول دیگری ارجاع دهم تا از خطاهای تجزیه جلوگیری شود. آرگومان دوم، months، به اکسل میگوید چند ماه به جلو یا عقب برود. عدد مثبت بهجهت جلو حرکت میکند، در حالی که عدد منفی بهجهت عقب.
بهعنوان مثال، فرمول اول زیر عدد سریالی را که به 30 آوریل 2024 (45412) معادل است برمیگرداند، در حالی که دوم عدد سریالی برای 29 فوریه 2024 (45351) را برمیگرداند و بهصورت خودکار سال کبیسه را در نظر میگیرد:
=EOMONTH(DATE(2024,3,15), 1)
=EOMONTH(DATE(2024,3,15), -1)
از آنجا که اکسل بهطور پیشفرض این نتایج را بهصورت اعداد سریالی در قالب General نمایش میدهد، لازم است قالب عددی سلول را به قالب تاریخ تغییر دهید تا مقدار تقویمی را که همه میشناسیم ببینید. میتوانید قالب را قبل یا بعد از وارد کردن فرمول تنظیم کنید.
اگر عدد اعشاری مانند 1.5 وارد کنید، اکسل آن را به 1 برش میدهد و گرد نمیکند. برای جلوگیری از سردرگمی، همیشه در آرگومان months از اعداد صحیح استفاده کنید.
روزی که به عنوان نقطه شروع انتخاب میکنید بر نتیجه تأثیری ندارد. چه start_date در روز 3، 17 یا 29 ماه باشد، این تابع بهطور ثابت آخرین روز ماه هدف را برمیگرداند. این قابلیت اطمینان دلیل این است که من هنگام ساخت جدولهای محاسباتی که نیاز به مدیریت پیشبینیها، دورههای صورتحساب و برنامهریزی مالی بلندمدت بدون خطا دارند، به این تابع اعتماد میکنم.
راههای بهبود جدولهای اکسل من با EOMONTH
تابعی کوچک، ارتقاء بزرگ کیفیت زندگی

اگر به دنبال مکانهایی برای استفاده از EOMONTH باشید، تقریباً در همهجا آنها را پیدا میکنید. اکثر صورتحسابها، پرداختهای خدماتی و تمدید اشتراکها در آخرین روز ماه رخ میدهند و بهجای کدگذاری ثابت این تاریخها و بهروزرسانی دستی آنها در هر دوره، میتوانید با EOMONTH بهصورتی دینامیک محاسبه کنید.
بهعنوان مثال، اگر بخواهم تاریخ سررسید پرداخت همیشه آخرین روز ماه جاری باشد، از این فرمول استفاده میکنم:
=EOMONTH(TODAY(), 0)
نیازی به وارد کردن تاریخ خاص ندارم. چون فرمول به TODAY() ارجاع میدهد، نتیجه بهصورت خودکار هر بار که فایل را باز میکنم بهروزرسانی میشود و سوابق من بدون هیچ زحمتی بهروز میمانند.
همچنین میتوانید EOMONTH را با تابع IF ترکیب کنید تا جدولهایتان واکنشپذیرتر شوند. تصور کنید وضعیت اشتراکها در ستون C و تاریخ ثبتنام در ستون D دارید. میتوانید اینرا بنویسید:
=IF(C3="Active", EOMONTH(D3, 1), "N/A")
با این فرمول، اکسل تنها تاریخ صورتحساب بعدی را اگر اشتراک فعال باشد محاسبه میکند. اگر C3 شامل «Active» باشد، EOMONTH تاریخ موجود در D3 را یک ماه جلو میبرد و آخرین روز آن ماه را برمیگرداند. اگر اشتراک فعال نباشد، فرمول بهجای آن «N/A» را برمیگرداند.
در گزارشگیری مالی، EOMONTH به من کمک میکند تا مرزهای واضحی برای دورهها تعریف کنم. چه تاریخهای قطع گزارش را تنظیم کنم، چه مایلستونهای انقضا را پیگیری کنم یا انتهای یک فصل مالی را تعیین کنم، این تابع اطمینان میدهد که تاریخها دقیقاً با انتهای ماه صحیح همراستا باشند. این بهویژه زمانی مفید است که با دورههای گزارشگیری ماهیانه متغیر کار میکنم، زیرا دیگر نیازی به تنظیم دستی تاریخها ندارم.
برای مهارت در تاریخهای اکسل و نکات، در خبرنامه مشترک شوید
یک مثال که به آن وابستهام، سرعنوانهای دینامیک برای گزارشهای مالی است:
="Reporting Period Ends: " & TEXT(EOMONTH(A3, 0), "mmmm dd, yyyy")
این فرمول بهصورت خودکار یک سرعنوان تولید میکند که میگوید «پایان دوره گزارش: [آخرین روز ماه]»، بر پایه تاریخ موجود در سلول A3. میتوانم ماه گزارش را از سلول دیگری مانند E2 ارجاع دهم و این فرمول را در بالای صفحهام قرار دهم تا دوره گزارش بهوضوح قابل مشاهده و همیشه دقیق باشد.

یک فرمول، خودکارسازی بیپایان.
EOMONTH همچنین برای پیشبینی یا محاسبه تاریخ سررسید وامها و سرمایهگذاریها مفید است. اگر وامی در 10 مارس بسته شود و سررسید آن در 18 ماه باشد، میخواهم تاریخ سررسید در آخرین روز همان ماه 18ام قرار گیرد. بهجای بررسی دستی هر تقویم، میتوانم به EOMONTH برای انجام محاسبه اعتماد کنم. همین منطق هنگام مدیریت زمانبندیهای طولانیمدت پروژهها نیز صادق است. دیگر نیازی به دوبار بررسی اینکه آیا سال کبیسه است یا نه قبل از نهایی کردن مهلت فوریه ندارم، زیرا EOMONTH بهصورت خودکار وقتی فوریه 29 روز دارد به جای 28 تنظیم میشود.
بگذارید جدولتان شمارش را انجام دهد
در نگاه اول، EOMONTH تقریباً بیش از حد ساده بهنظر میرسد. حداقل، این همان چیزی بود که فکر میکردم تا زمانی که متوجه شدم چقدر انرژی ذهنی را با عدم استفاده از آن هدر میدادم. چه بهدنبال سه ماه گذشته با آرگومان -3 باشم و چه با 12 یک سال پیشبینی کنم، این تابع جدولام را دینامیک و دقیق نگه میدارد بدون اینکه کار اضافی ایجاد کند.
بهمحذ اینکه با اصول اولیه راحت شوید، کاملاً آمادهاید که EOMONTH را داخل فرمولهای دیگر تو در تو کنید و منطق تاریخایی ایجاد کنید که عملاً بهصورت خودکار فکر میکند.