تابع days360 در اکسل
تابع DAYS360 یکی از توابع مفید اکسل برای حسابداری و امور مالی است که تعداد روز بین دو تاریخ را بر مبنای سال ۳۰ روزه (30/360) برمیگرداند. این تبدیل برای محاسبه نرخ بهره، صورتحسابها و قراردادهای مالی که از مبنای 30 روز در ماه و 360 روز در سال استفاده میکنند، کاربردی و رایج است.
پارامترها و نحو استفاده
نحو تابع به صورت زیر است:
=DAYS360(start_date, end_date, [method])توضیح پارامترها:
- start_date: تاریخ شروع (قابلیت گرفتن تاریخهای سلول یا تاریخ وارد شده با کدهای تاریخ مانند “2021-01-01”).
- end_date: تاریخ پایان.
- method (اختیاری): اگر FALSE یا خالی باشد، روش آمریکایی (NASD) اعمال میشود. اگر TRUE باشد، روش اروپایی اعمال میشود.
تفاوت روش آمریکایی (NASD) و اروپایی
هر دو روش مفهوم کلی 30 روز در ماه را دنبال میکنند، اما در نحوه برخورد با روزهای سیویکم و انتهای فوریه تفاوت وجود دارد:
- روش اروپایی (method=TRUE): هر تاریخی که در روز 31 ماه قرار گیرد، به روز 30 تبدیل میشود (برای هر دو تاریخ شروع و پایان).
- روش آمریکایی / NASD (method=FALSE یا حذفشده): قواعدی برای تغییر روزهای 31 و برخی رفتارهای مربوط به انتهای فوریه وجود دارد که در مستندات رسمی توضیح داده شده است. نتیجه در موارد خاص (بهویژه وقتی یکی از تاریخها در 31 ماه یا انتهای فوریه باشد) ممکن است با روش اروپایی متفاوت باشد.
بهطور کلی اگر قرارداد شما صریحاً از استاندارد NASD پیروی میکند از روش پیشفرض (FALSE) استفاده کنید؛ در غیر این صورت برای سادگی و ثبات گاهی روش اروپایی را انتخاب میکنند.
مثالهای عملی در اکسل
مثالهای ساده و نتیجههای معمول:
| فرمول | توضیح | نتیجه (مثلاً با method=FALSE) |
|---|---|---|
=DAYS360("2021-01-01","2021-12-31") | یک سال کامل در مبنای 30/360 | 360 |
=DAYS360("2021-01-15","2021-02-15") | ۱۵ ژانویه تا ۱۵ فوریه | 30 |
=DAYS360("2021-03-31","2021-04-30") | انتهای ماه به انتهای ماه | 30 |
=DAYS360("2021-01-31","2021-03-31") | از ۳۱ ژانویه تا ۳۱ مارس | 60 |
در بسیاری از موارد معمولِ قراردادهای مالی، نتایج بالا مورد انتظار است. خاصیت اصلی: این تابع همیشه عدد صحیح (روز کامل) برمیگرداند و برای محاسبه نسبتهای زمانی بین تاریخها مناسب است.
مثال کاربردی: محاسبه بهره براساس DAYS360
فرض کنید وامی به مبلغ 100,000 با نرخ سالانه 6% دارید و میخواهید بهره برای بازهای بین A1 و B1 را محاسبه کنید. فرمول ساده:
=100000 * 0.06 * DAYS360(A1, B1) / 360این فرمول مقدار بهره بین تاریخهای A1 و B1 را براساس سال 360 روزه محاسبه میکند. اگر نرخ یا اصل در سلولهای دیگر باشند، به سادگی میتوان به آنها ارجاع داد.
نکات فنی و موارد لبه
- تابع DAYS360 با زمان (ساعت، دقیقه) کاری ندارد؛ تنها بخش تاریخ (serial date) را در نظر میگیرد.
- در صورت استفاده از متن برای تاریخها، بهتر است از فرمتهای قابل تشخیص یا تابع DATE استفاده کنید تا خطای محلی را کاهش دهید.
- دقت کنید که اختلاف روشها در مواردی که یکی از تاریخها روز 31 ماه یا انتهای فوریه باشد، میتواند موجب اختلاف یک روزی در محاسبات سود شود؛ در قراردادهای بزرگ این یک روز میتواند اثر مالی قابل توجهی داشته باشد.
- برای گزارشها و محاسبات حسابداری، همیشه روش مورد استفاده را مستند کنید (NASD یا European) تا اختلافها قابل پیگیری باشند.
پیادهسازی ساده در VBA (روش اروپایی)
Function Days360_EU(StartDate As Date, EndDate As Date) As Long
Dim d1 As Integer, d2 As Integer
Dim m1 As Integer, m2 As Integer
Dim y1 As Integer, y2 As Integer
d1 = Day(StartDate)
d2 = Day(EndDate)
m1 = Month(StartDate)
m2 = Month(EndDate)
y1 = Year(StartDate)
y2 = Year(EndDate)
If d1 = 31 Then d1 = 30
If d2 = 31 Then d2 = 30
Days360_EU = (y2 - y1) * 360 + (m2 - m1) * 30 + (d2 - d1)
End Functionکد بالا یک تابع VBA ساده برای روش اروپایی (هر روز 31 به 30 تبدیل میشود) پیادهسازی میکند. پس از اضافه کردن این تابع در محیط VBA، میتوانید در ورکشیت از آن مانند تابع اکسل استفاده کنید: =Days360_EU(A1,B1). توجه کنید که این پیادهسازی بسیار ساده است و رفتار دقیق روش آمریکایی و موارد انتهای فوریه را پوشش نمیدهد.
چه زمانی از DAYS360 استفاده نکنید؟
- وقتی نیاز به دقت تقویمی واقعی (برحسب روزهای تقویمی حقیقی، مثلاً برای ثبت مرخصی یا محاسبه زمان واقعی بین دو تاریخ) دارید، از توابعی مثل DATEDIF یا ساده =END-START استفاده کنید.
- برای گزارشهای حقوق و دستمزد یا زمانی که قرارداد مبنای واقعی/365 یا واقعی/360 مشخص شده است، باید از روش مرتبط استفاده کنید نه حتماً DAYS360.
خلاصه و توصیه کاربردی
DAYS360 ابزار مناسبی برای محاسبات مالی است که مبنای 30 روز در ماه و 360 روز در سال را میپذیرد. قبل از بهکارگیری، مشخص کنید قرارداد یا استاندارد مالی شما کدام روش (NASD یا European) را میپذیرد، و در موارد لبه مانند روز 31 هر ماه یا انتهای فوریه تستهای نمونه انجام دهید تا از نتایج آگاه باشید. مستندسازی روش مورد استفاده و نمایش آن در گزارشها میتواند از اختلافات بعدی جلوگیری کند.
آیا این مطلب برای شما مفید بود ؟




