تابع NETWORKDAYS در اکسل
تابع NETWORKDAYS یکی از توابع کاربردی اکسل برای محاسبه تعداد روزهای کاری بین دو تاریخ است. این تابع بهطور پیشفرض شنبه و یکشنبه را بهعنوان تعطیلات پایان هفته در نظر میگیرد و میتوان فهرستی از تعطیلات رسمی را نیز از نتیجه کم کرد. در ادامه کاربرد، نحو، مثالهای عملی و نکات حرفهای مرتبط را بررسی میکنیم.
ساختار تابع NETWORKDAYS
قالب ساده تابع شبکه روزها به شکل زیر است:
=NETWORKDAYS(start_date, end_date, [holidays])توضیح پارامترها:
- start_date: تاریخ شروع (شامل).
- end_date: تاریخ پایان (شامل).
- [holidays]: آرایه یا محدودهای از تاریخهای تعطیل که میخواهیم از روزهای کاری کم شوند (اختیاری).
مثال ساده
=NETWORKDAYS(DATE(2025,1,1), DATE(2025,1,15))این فرمول تعداد روزهای کاری بین 1 ژانویه 2025 تا 15 ژانویه 2025 را برمیگرداند، با فرض اینکه شنبه و یکشنبه تعطیل هستند.
افزودن تعطیلات رسمی (محدوده)
=NETWORKDAYS(A2, B2, C2:C6)در این مثال، A2 تاریخ شروع، B2 تاریخ پایان و C2:C6 لیستی از تاریخهای تعطیل است. اکسل این تاریخها را از شمارش روزهای کاری حذف میکند.
پر کاربرد: زمانی که تعطیلات بهصورت آرایه وارد شود
=NETWORKDAYS(DATE(2025,4,1), DATE(2025,4,30), {DATE(2025,4,13), DATE(2025,4,21)})اینجا بهصورت مستقیم دو تاریخ تعطیل داخل آرایه قرار گرفتهاند؛ این روش برای فرمولهای تکباره یا نمونهسازی سریع مناسب است.
شبکهروزهای بین تاریخها با آخر هفتههای غیرمرسوم — NETWORKDAYS.INTL
در کشورها یا سازمانهایی که روزهای تعطیل هفتگی استاندارد نباشد (مثلاً جمعه تنها تعطیل یا تعطیلات ترکیبی)، باید از NETWORKDAYS.INTL استفاده کرد.
ساختار NETWORKDAYS.INTL
=NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays])پارامتر weekend میتواند شمارهای از 1 تا 17 یا یک رشته 7 حرفی متشکل از 0 و 1 باشد که هر رقم نشاندهنده روزهای هفته (از دوشنبه تا یکشنبه) است؛ 1 بهمعنای تعطیل است.
مثال برای جمعه فقط تعطیل
=NETWORKDAYS.INTL(DATE(2025,3,1), DATE(2025,3,31), "0000100", C2:C5)در رشته “0000100” موقعیت پنجم (جمعه) برابر 1 است، بنابراین فقط جمعهها تعطیل محسوب میشوند و تعطیلات رسمی موجود در محدوده C2:C5 نیز کسر میشوند.
مثال با کد عددی (جمعه تنها)
=NETWORKDAYS.INTL(A2, B2, 16, HolidaysRange)در این مثال عدد 16 نشاندهنده «جمعه تنها تعطیل» است (کدهای از پیش تعریفشده را میتوان در جدول زیر مشاهده کرد).
جدول کدهای weekend در NETWORKDAYS.INTL
| کد | معنا |
|---|---|
| 1 | شنبه و یکشنبه (پیشفرض NETWORKDAYS) |
| 2 | یکشنبه و دوشنبه |
| 3 | دوشنبه و سهشنبه |
| 4 | سهشنبه و چهارشنبه |
| 5 | چهارشنبه و پنجشنبه |
| 6 | پنجشنبه و جمعه |
| 7 | جمعه و شنبه |
| 11 | یکروز تعطیل: یکشنبه |
| 12 | یکروز تعطیل: دوشنبه |
| 13 | سهشنبه |
| 14 | چهارشنبه |
| 15 | پنجشنبه |
| 16 | جمعه |
| 17 | شنبه |
موارد کاربرد و نکات حرفهای
- پروژهریزی و محاسبه تحویل (Deadlines): بهراحتی میتوانید تاریخ پایان بر اساس تعداد روز کاری اضافه کنید (ترکیب با WORKDAY یا WORKDAY.INTL).
- محاسبه حقوق و دستمزد: تعداد روزهای کاری را برای محاسبه حقوق روزمزد یا محاسبه مرخصی استفاده کنید.
- SLA و پشتیبانی: محاسبه زمان پاسخ یا حل مسائل بر اساس روزهای کاری.
- مدیریت تعطیلات متغیر: تعطیلات را در جدول جداگانه (Table) قرار دهید و آن را بهعنوان Named Range استفاده کنید تا بهروزرسانی آسان باشد.
نکات کاربردی و اشکالزدایی
- مطمئن شوید سلولهای تاریخ واقعاً بهصورت تاریخ ذخیره شدهاند. اگر تاریخها متن باشند، تابع ممکن است خطا دهد یا نتایج نادرست نشان دهد.
- NETWORKDAYS و نسخههای INTL هر دو تاریخهای شروع و پایان را شامل میکنند؛ یعنی اگر start_date و end_date هر دو روز کاری باشند، حداقل مقدار 1 برگردانده میشود.
- اگر end_date قبل از start_date باشد، تابع مقدار منفی یا صفر برمیگرداند؛ در بعضی کاربردها باید ترتیب را بررسی یا از ABS استفاده کنید.
- زمان (ساعت) در تاریخها میتواند باعث اشتباه شود؛ برای اطمینان از حذف قسمت اعشاری زمان از توابع DATE یا INT استفاده کنید.
مثال ترکیبی پیشرفته
فرض کنید ستون A تاریخ شروع، ستون B تاریخ پایان و جدول تعطیلات با نام Holidays قرار دارد. میخواهیم روزهای کاری بین تاریخها با جمعه تنها تعطیل محاسبه شود:
=NETWORKDAYS.INTL(A2, B2, 16, Holidays)این فرمول برای هر ردیف تعداد روزهای کاری را با حذف جمعهها و تمام تاریخهای موجود در محدوده نامگذاریشده Holidays محاسبه میکند.
نتیجهگیری
تابع NETWORKDAYS و نسخه پیشرفته NETWORKDAYS.INTL ابزارهای قدرتمندی برای محاسبه روزهای کاری در اکسل هستند. با ترکیب آنها با جداول تعطیلات، Named Ranges و توابعی مانند WORKDAY میتوان محاسبات زمانبندی پروژه، حقوق و دستمزد و گزارشدهی SLA را بهصورت دقیق و قابل اتکا انجام داد. توجه به قالب تاریخ، نحوه تعریف تعطیلات و انتخاب درست پارامتر weekend باعث جلوگیری از خطاهای رایج خواهد شد.
آیا این مطلب برای شما مفید بود ؟




