ویژگی تصویر

تابع NETWORKDAYS در اکسل — شمارش روزهای کاری به‌صورت دقیق

  /  اکسل   /  تابع 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 باعث جلوگیری از خطاهای رایج خواهد شد.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: