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

1,483
2 دیدگاه
پیدا کردن سال کبیسه در اکسل

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

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

روش کلی برای تعیین سال کبیسه وجود ندارد اما طبق راهنمای تقویم فارسی در سایت مایکروسافت اگر باقیمانده تقسیم عدد سال بر 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

'=========== 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

Sheet1.ir

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

=LeapYear(1395) // TRUE

=LeapYear(1396) // FALSE

=LeapYear(C1) // TRUE

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

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

مطالب مرتبط :

2 دیدگاه. پیغام بگذارید

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

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

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

حداکثر حجم مجاز فایل : 5 مگابایت فرمت های مجاز : jpeg - jpg - png - pdf- xls - xlsx - xlsb - xlsm - txt - csv - zip - rar فایل ها را اینجا بکشید

keyboard_arrow_up