دسته ها
جمعه ۱۰ فروردین ۱۴۰۳

ساخت تقویم در اکسل به کمک فرمول نویسی و توابع اکسل

  • حکیمه فهیمی
  • ۲۰ آبان ۱۴۰۱
  • ۰

تقویم شمسی یکی از دقیق ترین تقویم ها در جهان محسوب می شود. خوشبختانه در نسخه های ۲۰۱۶ به بعد اکسل این تاریخ گنجانده شده است. در این مطلب با نحوه ساخت تقویم در اکسل آشنا می شوید.

در این مطلب نحوه ساخت تقویم در اکسل را به کمک فرمول نویسی می آموزید. این تقویم شمسی در کشور ما و برخی کشورهای جهان مورد استفاده واقع می شود.

نحوه ساخت تقویم در اکسل

همانطور که می دانید تقویم شمسی یکی از دقیق ترین تقویم ها در جهان محسوب می شود. این گاه شمار در کشور ما و افغانستان و برخی کشورهای دنیا مورد استفاده واقع می شود. خوشبختانه تاریخ شمسی در نسخه های ۲۰۱۶ به بعد اکسل گنجانده شده و دیگر به استفاده از افزونه های تجاری جهت استفاده از تاریخ شمسی نیست. در این مطلب نحوه ساخت تقویم در اکسل به کمک فرمول نویسی ارائه می شود تا بتوانید یک تقویم رومیزی بسازید.

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

توجه داشته باشید که قصد داریم ساخت تقویم شمسی در اکسل را طوری انجام دهید که با تغییر تاریخ اولین روز سال، اعداد و ارقام داخل جداول بسته به موقعیت تاریخ در روزهای هفته جابجا گردد و تقویم رومیزی اکسل بر مبنای سال مدنظر ایجاد شود. به طور مثال تاریخ اولین روز سال با توجه به قالب اکسل برای ثبت و نمایش تاریخ شمسی در سلول R1 نوشته شده است.

برای ساخت تقویم شمی اول باید به سوالات ذیل پاسخ دهید:

  •  مبل و میز
  •  آرون گروپس
  • نخستین روز سال، چه روزی است؟
  • تاریخ روزهای بعد در هفته اول چطور مشخص شود؟
  • نخستین روز از هفته بعد از روز اول سال چه تاریخی می باشد؟
  • ماه کنونی چند روز دارد؟
  • نخستین روز ماه بعدی، چند شنبه می باشد؟

پاسخ به این سوالات می تواند مراحل فعالیت های ساخت تقویم شمسی را مشخص نماید. بعد از ساخت این تقویم رومیزی با رنگ آمیزی و کادر کشی سبب زیبایی نتیجه کار می شود.

مرحله اول: تعیین اولین روز سال

برای این کار از تابع WEEKDAY استفاده می شود. از آنجا که تاریخ شمسی و میلادی از نظر روز هفته شبیه هم هستند، کافی است به این تابع، نخستین روز سال به عنوان پارامتر داده و شماره روز در هفته را دریافت کنید. به این طریق از فرمول (R1)WEEKDAY= استفاده شود. دقت کنید که تاریخ نخستین روز سال در سلول R1 نوشته شده است. فرض نمایید که مقدار سلول مذکور هم به صورت ۰۱/۰۱/۱۳۹۹ درج شده باشد.

در تصور زیر پارامترهای تابع تعیین شده اند. آشکار است که پارامتر اول، تاریخی است که به دنبال روز هفته آن هستیم. پارامتر دوم نیز الگوی شمارش روزهای هفته می باشد. از آنجا که اگر این تابع بدون پارامتر دوم به کار برده شود، نخستین روز هفته یعنی یکشنبه با مقدار ۱ و آخرین روز هفته یعنی شنبه با مقدار ۷ درج می شود. ما نیز از این الگو استفاده نمودیم.

پاسخ این تابع برای تاریخ نخستین روز سال ۱۳۹۹؛ مساوی ۶ است. یعنی نخستین روز این سال جمعه به حساب می آید. برای مقایسه این مقدار با روزهای هفته و قرار دادن عدد ۱ در نخستین روز سال در تقویم از یک ترفند ساده کمک بگیرید. کافی است روزهای هفته را بر اساس نیاز خود، شماره گذاری یا کدگذاری کنید. از آنجا که آخرین روز هفته جمع است، اما در تابع مقدار آن ۶ است، جدول زیر ایجاد می شود.

مرحله دوم: مشخص کردن تاریخ روزهای بعدی در هفته ابتدایی

به این ترتیب بر اساس مقدار ۶ برای این تابع، باید تاریخ اولین روز سال برای جمعه در نظر گرفته شود. اما برای اتومات شدن آن و استفاده از این موضوع برای ماه های دیگر سال، از فرمول زیر استفاده می شود.

بدین طریق با توجه به آدرس ترکیبی برای سلول های پیش نیاز و قرار گرفتن تابع WEEKDAY در سلول B5، اگر فرمول بالا را در سلول E5 بنویسید و برای سلول های دیگر این سطر کپی نمایید، روز جمعه نخستین روز سال در تقویم شمسی تعیین می گردد.

همانطور که مشاهده می کنید ار نتیجه تابع WEEKDAY مساوی یکی از ایام هفته باشد، مقدار ۱ در آن سلول نوشته می شود و در صورتی که مقدار تابع WEEKDAY کمتر از کد روز هفته باشد، یعنی باید مقدار تاریخ مربوط به روز پیش، یک واحد افزوده شده و در محل جاری قرار بگیرد. به این ترتیب مجبور هستیم از دو تابع IF به صورت تو در تو استفاده نمایید.

به یاد داشته باشید برای این که فرمول یکپارچه باشد، مقدار سلول D5 را صفر در نظر گرفته شده و در فرمول برای سلول اول درج شده است. به این ترتیب با درگ و دراب نمودن، فرمول را برای سایر سلول های بعدی در همین هفته کپی نمایید. با این روش، تاریخ روز قبل با یک جمع شده و تاریخ روز جاری را نمایش می دهد.

مرحله سوم: مشخص کردن تاریخ نخستین روز هفته بعد

برای نخستین روز هفته دوم، مقدار تاریخ حداکثر هفته اول را بدست آورده و با هم جمع نمایید. روزهای بعدی هم با افزایش یک واحدی به ترتیب با تاریخ قبلی ایجاد می شوند. از این رو تنها کافی است یک فرمول برای یافتن حداکثر تاریخ روز هفته قبل بیابید. فرمول MAX($E5:$K5)+E$3+1 را بنویسید. به این طریق به تاریخ آخرین روز هفته پیش یک واحد افزوده و به عنوان تاریخ نخستین روز هفته بعد به کار ببرید.

مرحله چهارم: تعداد روزهای ماه کنونی

بعد از نوشتن فرمول قبلی تقریبا کار برای ماه فروردین به اتمام می رسد. تنها باید به این موضوع دقت کنید که نباید تاریخ روزهای این ماه، از ۳۱ روز بیشتر باشد. برای کنترل آن، مجبور به استفاده از یک تابع IF هستیم تا نتیجه افزایش روزانه تاریخ با مقدار ۳۱ گزارش داده و برای چنین وضعیتی مقدار خالی درج شود.  بدین ترتیب رابطه بالا به صورت فرمول ذیل در می آید.

اکنون به راحتی این فرمول را برای سطر و ستون های دیگر روزهای مرتبط با ماه فروردین کپی نمایید تا تقویم مربوط به این ماه ساخته شود. آشکار است که میزان افزایش بر حسب شماره های موجود در ردیف سه جدول ایجاد شده است.

همانطور که مشاهده می کنید یک واحد به هر یک از مقادیر این سلول ها افزوده شده و با مقدار حداکثر تاریخ در هفته پیش جمع شده اند. به این طریق تاریخ روز مربوط به روزهای هفته دوم مشخص می شود.

مرحله پنجم: مشخص کردن تاریخ نخستین روز ماه بعد

همانگونه که برای ماه فروردین، تاریخ و روز اول ماه مشخص شد. برای ماه اردیبهشت و سایر ماه ها نیز احتیاج است که این عمل صورت گیرد. باقی مراحل همانند تعیین تاریخ روز اول هفته دوم به بعد ماه، به طوری که در مرحله های دو و سه گفته شد، قابل تکرار بوده تا ساخت تقویم شمسی در اکسل کامل شود.

با توجه به این که اکسل، تاریخ شمسی را شناسایی می کند، برای مشخص کردن تاریخ اولین روز ماه اردیبهشت، کافی است به تاریخ اولین روز سال ۳۱ واحد اضافه شود. فقط دقت کنید که برای ماه های پاییز و زمستان مقدار افزایش باید ۳۰ روز باشد.

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

همچنین برای آشنایی با طریقه رسم نمودار گانت در اکسل و قفل کردن سلول ها در اکسل روی لینک ها کلیک کنید.

منبع : آرگا


مطالب مرتبط
مطالب داغ
همچنین ببینید
مشاهده دیدگاه های این مطلب
دیدگاه های مطلب
۰ دیدگاه برای این نوشته

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *