در نرمافزار اکسل میتوانید فاصلهی زمانی بین دو تاریخ را محاسبه کنید، درست مثل اختلاف اعداد و درصدها. در واقع اگر در سلولها تاریخ سالگردها و رویدادهای سالانه را وارد کرده باشید، میتوانید تعداد روز باقیمانده تا رویدادهای بعدی را با فرمولنویسی محاسبه کنید. حتی نیازی به تایپ کردن دستی تاریخ سالگرد بعدی نیست بلکه این مورد نیز به صورت خودکار با فرمول محاسبه میشود.
در ادامه به روش محاسبه اختلاف تاریخها بر حسب روز و ماه و سال در نرمافزار Excel مجموعهی آفیس مایکروسافت میپردازیم.
فرمت تاریخ و توابع مرتبط با روز و تاریخ در Excel
توجه کنید که در اکسل نوع سلولها بسیار مهم است. تاریخها در حقیقت به عنوان عدد Integer در محاسبات استفاده میشوند و در عدد معادل یک تاریخ خاص است. به عنوان مثال اگر در سلولی عدد 1 را تایپ کنید و نوع سلول را تاریخ انتخاب کنید، این عدد به 01/01/1900 تبدیل میشود. در واقع اولین روز سال ۱۹۰۰ میلادی، روزی یکم است. بنابراین اولین روز سال ۲۰۰۰ نیز معادل عدد 36526 است.
نکتهی دیگر این است که اگر بخواهید هر زمان که فایل اکسل را باز میکنید، در یک سلول تاریخ امروز نمایش داده شود و در واقع این عدد در روزهای بعدی نیز آپدیت شود، میبایست از یک تابع بسیار ساده به اسم TODAY که به معنی امروز است، استفاده کنید. این تابع آرگومانی ندارد. فرمول زیر را در سلول امروز تایپ کنید:
=TODAY()
تابع TODAY در برنامهریزی و مدیریت پروژه به کمک اکسل بسیار مفید و کاربردی است. قبلاً به نمونهای از کاربردهای آن اشاره کردیم:
در اکسل چند تابع دیگر مرتبط با تاریخ وجود دارد. تابع DATE برای درج کردن تاریخ در سلولها به کار میرود. سه آرگومان اول و دوم و سوم این تابع، سال و ماه و روز را مشخص میکند. لذا فرمول کلی استفاده از این تابع به صورت زیر است:
=DATE(year,month,day)
تابع بعدی YEAR است. اگر تاریخی را به عنوان آرگومان به این تابع بدهید، سال را از آن استخراج کرده و نمایش میدهد. البته میتوانید سلولی حاوی تاریخ را به آن بدهید.
=YEAR(date)
تابع بعدی MONTH است که درست مثل تابع YEAR عمل میکند با این تفاوت که ماه را برمیگرداند:
=MONTH(date)
تابع DAY برای استخراج کردن شمارهی روز در ماهها به کار میرود. به عبارت دیگر اگر به آن تاریخی را به عنوان ورودی بدهید، مشخص میکند که تاریخ موردنظر به چندمین روز از ماه مربوط میشود:
=DAY(date)
محاسبه تاریخ سالگردها در اکسل و تعداد روزهای باقیمانده
اما به موضوع اصلی میرسیم که محاسبه کردن تعداد روزهای باقیمانده تا یک رویداد سالانه است. برای این مهم میبایست اختلاف بین امروز تا تاریخ رویداد محاسبه شود.
فرض کنید در ستون اول نام چند رویداد یا Event ذکر شده است و در ستون دوم تاریخ هر رویداد روبروی آن درج شده است. در دو ستون بعدی میخواهیم سالگرد بعدی و تعداد روزهای باقیمانده تا سالگرد بعدی را محاسبه کنیم و در واقع هر زمان که این فایل را باز میکنیم، ببینیم که رویدادهای سالی که پیش رو داریم، در چه تاریخهایی است و چند روز تا سالگردها باقیمانده است.
در ستون تاریخ رویداد بعدی میتوانید با روش دستی تاریخها را تایپ کنید. به عنوان مثال محاسبه کنید که سالگرد تولد بعدی در چه روزی است. اگر سالگرد تولد در سال فعلی سپری شده، طبعاً باید روز سالگرد تولد در سال آتی را تایپ کنید.
اما روش دوم که روشی خودکار است: میتوانید فرمولی ساده بنویسید و با دستوری شرطی یعنی تابع IF، بررسی کنید که رویداد موردنظر در سال فعلی سپری شده است یا خیر و در صورت سپری شدن، تاریخ رویداد در سال آتی چاپ شود و در غیر اینصورت تاریخ رویداد مربوط به سال فعلی چاپ شود.
با توجه به توضیحاتی که در مورد تابع ماه و روز یا به زبان دیگر MONTH و DAY دادیم، روشن است که شمارهی ماه رویدادی که در سلول F3 ذکر شده، از فرمول زیر به دست میآید:
=MONTH(F3)
و شمارهی روز نیز از فرمول زیر:
=DAY(F3)
حال برای محاسبه کردن سال فعلی، دو تابع را ترکیب میکنیم: با تابع TODAY تاریخ امروز را محاسبه میکنیم و این تاریخ را به تابع YEAR میدهیم تا بخش سال را از آن استخراج کند:
=YEAR(TODAY())
و در نهایت محاسبهی تاریخ تولد در سال فعلی است. دقت کنید که تاریخ تولد در سلول F3 ذکر شده است، لذا روبروی این سلول در ستون بعدی، از تابع DATE استفاده میکنیم. اولین آرگومان که سال است، دومین آرگومان و سومین آرگومان که ماه و روز است را با فرمولهای فوق محاسبه کردهایم. لذا همه را در یک فرمول ظاهراً پیچیده و طولانی جای میدهیم:
=DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))
اما به دستور شرطی میرسیم که فرمول را طولانیتر خواهد کرد!
اگر روز تولد که از فرمول فوق محاسبه شده، بزرگتر یا مساوی روز فعلی یعنی TODAY() است، میبایست تاریخ تولد در سال فعلی چاپ شود اما در غیر این صورت میبایست روزی در سال آتی ذکر شود. به عبارت دیگر باید آرگومان اول فرمول فوق که سال است را با یک دستور شرطی جایگزین کنیم:
=IF(DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))>=TODAY(),YEAR(TODAY()),YEAR(TODAY())+1)
در دستور فوق شرط بخش اول است:
DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))>=TODAY()
در صورت صحیح بودن، سال فعلی محاسبه شده که دومین بخش است:
YEAR(TODAY())
و در صورت برقرار نبودن شرط، سال ۱ واحد افزایش پیدا میکند که بخش سوم است:
YEAR(TODAY())+1
و در نهایت در فرمول زیر به جای اولین آرگومان که YEAR است، دستور شرطی را جایگزین میکنیم:
=DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))
و به یک فرمول ظاهراً پیچیده و طولانی میرسیم که در حقیقت بسیار ساده است:
=DATE(IF(DATE(YEAR(TODAY()),MONTH(F3),DAY(F3))>=TODAY(),YEAR(TODAY()),YEAR(TODAY())+1),MONTH(F3),DAY(F3))
فرمول فوق در مثال ما به سلول G3 مربوط میشود. پس از نوشتن فرمول، Enter را فشار دهید و نتیجه را بررسی کنید.
برای سلولهای بعدی میتوانید از روش درگ و دراپ مربع کوچک پایین سلول استفاده کنید و فرمول را در سلولهای بعدی ستون G کپی کنید.
روش دیگر این است که سلولهای ستون G را انتخاب کنید و با استفاده از Ctrl + D برای پر کردن خودکار سلولهای بعدی اقدام کنید.
اما به بحث آخر میرسیم: محاسبه اختلاف تاریخها در ستون بعدی: برای این مهم از یک فرمول ساده استفاده کنید و تاریخ ذکر شده در سلولهای ستون G را منهای تاریخ امروز کنید:
=G3-TODAY()
با فشار دادن کلید Enter ، اختلاف روزها محاسبه میشود.
و با انتخاب سلول اول حاوی فرمول و سلولهای بعدی که خالی هستند و سپس فشار دادن Ctrl + D ، سلولهای بعدی به صورت خودکار پر میشود.
به این ترتیب جدولی ساده ساختهاید که هر زمان آن را باز کنید، تعداد روزهای باقیمانده تا رویدادهای مهم سالانه محاسبه و نمایش داده میشود.
howtogeekسیارهی آیتی