پیدا کردن سال کبیسه در اکسل

93
بدون دیدگاه
پیدا کردن سال کبیسه در اکسل

طول هر سال خورشیدی حدود ۳۶۵ روز و ۶ ساعت است که معمولا هر چهار سال یک بار این ۶ ساعت‌ها با هم جمع و ۲۴ ساعت یا یک شبانه‌روز به سال اضافه شده و به آن سال کبیسه گفته می شود. طول سال‌های کبیسه ۳۶۶ روز و ماه اسفند در این سال‌ها ۳۰ روزه است. در برخی محاسبات همانند محاسبه سود سپرده ها و تسهیلات بانکی یا ساخت تقویم و یا هر موضوع دیگری که تعداد روزهای سال در محاسبات آن تاثیر داشته باشد، دانستن اینکه سال موردنظر کبیسه باشد یا خیر ضروری است. در این مطلب می خواهیم با نحوه پیدا کردن سال کبیسه در اکسل به دو روش آشنا شویم.

نحوه تعیین سال کبیسه

روش کلی برای تعیین سال کبیسه وجود ندارد اما طبق راهنمای تقویم فارسی در سایت مایکروسافت اگر باقیمانده تقسیم عدد سال بر 33 برابر یکی از اعداد 1،5،9،13،17،22،26،30 باشد. سال مورد نظر سال کبیسه است. برای مثال باقیمانده تقسیم سال 1399 بر عدد 33 برابر 13 بوده بنابراین سال کبیسه است. در ادامه نحوه پیدا کردن سال کبیسه در اکسل با استفاده از توابع و کدنویسی در VBA بیان می شود.

پیدا کردن سال کبیسه با استفاده از توابع اکسل

برای تشخیص سال کبیسه از ترکیب توابع SUMPRODUCT و MOD به صورت ذیل استفاده می شود:

=SUMPRODUCT(– –({1,5,9,13,17,22,26,30}=MOD(Year,33)))

در این فرمول بجای Year، سال مورد نظر یا آدرس سلول حاوی سال مورد نظر را وارد نمایید. در صورتی که سال کبیسه باشد خروجی تابع برابر 1 و در غیر این صورت برابر 0 خواهد بود.

پیدا کردن سال کبیسه با کمک VBA

با استفاده از کلیدهای ترکیبی Alt + F11 وارد محیط VBA شده و از منوی Insert یک ماژول (Module) جدید ایجاد کنید. روی ماژول ایجاد شده دوبار کلیک کرده و در کادر باز شده کدهای ذیل را کپی نمایید:

'=========== Sheet1.ir ===================
Option Explicit
Function LeapYear(ByVal Year As Integer) As Boolean
            Select Case Year Mod 33
                '
                Case 1, 5, 9, 13, 17, 22, 26, 30
                   LeapYear = True
                Case Else
                    LeapYear = False
            End Select
End Function

این کد یک تابع جدید به نام LeapYear به توابع اکسل اضافه می کند که دارای یک آرگومان (Year: سال موردنظر یا آدرس سلول حاوی سال) است. در صورتی که سال کبیسه باشد خروجی تابع TRUE و در غیر این صورت FALSE خواهد بود (برای آشنایی بیشتر با نحوه اضافه کردن تابع جدید به اکسل اینجا را ببینید). در ذیل مثال هایی از نحوه استفاده از تابع ارائه شده است. فرض کنید که مقدار سلول C1 برابر 1403 باشد:

=LeapYear(1395) // TRUE

=LeapYear(1396) // FALSE

=LeapYear(C1) // TRUE

در پایان حتما فایل اکسل را به فرمت xlsm.* ذخیره کنید. فایل مثال مورد استفاده در این مطلب را از لینک ذیل می توانید دریافت نمایید.

تعداد دانلود : 13

مطالب مرتبط :

0 0 رای ها
امتیاز
guest

0 نظر / سوال
بازخورد (Feedback) های اینلاین
مشاهده تمامی نظرات
سوالی داری بپرس!
×
سوالی داری بپرس!
از طریق واتساپ پاسخگوی شما هستیم

0
خوشحال می شویم نظر شما را در مورد این مطلب بدانیمx