جدول المحتويات
يشرح هذا البرنامج التعليمي القصير استخدام وظائف Excel NETWORKDAYS و WORKDAY لحساب أيام العمل باستخدام معلمات نهاية الأسبوع والعطلات المخصصة.
يوفر Microsoft Excel وظيفتين مصممتين خصيصًا لحساب أيام الأسبوع - WORKDAY و NETWORKDAYS.
ترجع الدالة WORKDAY التاريخ N أيام عمل في المستقبل أو في الماضي ويمكنك استخدامها لإضافة أو طرح أيام العمل إلى تاريخ معين.
باستخدام وظيفة NETWORKDAYS ، يمكنك حساب عدد أيام العمل بين تاريخين تحددهما.
في Excel 2010 والإصدارات الأحدث ، تتوفر تعديلات أكثر قوة للوظائف المذكورة أعلاه ، WORKDAY.INTL و NETWORKDAYS.INTL ، اللذان يتيحان لك تحديد أيام نهاية الأسبوع وعددها.
والآن ، دعنا نلقي نظرة فاحصة على كل وظيفة ونرى كيف يمكنك استخدامها لحساب أيام العمل في أوراق عمل Excel الخاصة بك.
وظيفة Excel WORKDAY
ترجع الدالة Excel WORKDAY تاريخًا يمثل عددًا معينًا من أيام العمل قبل أو قبل تاريخ البدء. وهو يستثني عطلات نهاية الأسبوع وأي أيام عطلات تحددها.
الغرض من وظيفة WORKDAY هو حساب أيام العمل والمعالم وتواريخ الاستحقاق استنادًا إلى تقويم العمل القياسي ، مع اعتبار يومي السبت والأحد أيام نهاية الأسبوع.
WORKDAY هي وظيفة مضمنة في Excel 2007 - 365. في الإصدارات السابقة ، تحتاج إلى تمكين التحليلمجموعة صغيرة من الأشياء الأساسية واشتقاق الباقي. أشكركم على القراءة وآمل أن أطلعكم على مدونتنا الأسبوع المقبل!
ToolPak.عند استخدام WORKDAY في Excel ، يجب عليك إدخال الوسيطات التالية:
WORKDAY (تاريخ البدء ، الأيام ، [العطل])الوسيطتان الأولى والثانية اختيارية :
- Start_date - التاريخ الذي يبدأ من خلاله حساب أيام الأسبوع.
- أيام - عدد أيام العمل المراد إضافتها / طرحها من تاريخ البدء. يُرجع الرقم الموجب تاريخًا في المستقبل ، بينما يُرجع الرقم السالب تاريخًا في الماضي.
- الإجازات - قائمة اختيارية بالتواريخ التي لا يجب احتسابها كأيام عمل. يمكن أن يكون هذا إما نطاقًا من الخلايا يحتوي على التواريخ التي تريد استبعادها من العمليات الحسابية ، أو ثابت مصفوفة للأرقام التسلسلية التي تمثل التواريخ.
الآن بعد أن تعرفت على الأساسيات ، دعنا نرى كيف يمكنك يمكن استخدام دالة WORKDAY في أوراق عمل Excel.
كيفية استخدام WORKDAY لإضافة / طرح أيام عمل حتى تاريخه
لحساب أيام العمل في Excel ، اتبع هذه القواعد البسيطة:
- لإضافة أيام عمل ، أدخل رقمًا موجبًا باعتباره الوسيطة أيام في صيغة WORKDAY.
- إلى طرح أيام عمل ، استخدم رقم سالب في الوسيطة أيام .
بافتراض أن لديك تاريخ بدء في الخلية A2 ، وقائمة بالعطلات في الخلايا B2: B5 ، وتريد معرفة التواريخ 30 يوم عمل في المستقبل والماضي. يمكنك القيام بذلك باستخدام الصيغ التالية:
لإضافة 30 يوم عمل إلى تاريخ البدء ، باستثناء أيام العطل فيB2: B5:
=WORKDAY(A2, 30, B2:B5)
لطرح 30 يوم عمل من تاريخ البدء ، باستثناء أيام العطل في B2: B5:
=WORKDAY(A2, -30, B2:B5)
لحساب أيام الأسبوع على أساس في التاريخ الحالي ، استخدم الدالة TODAY () كتاريخ البدء:
لإضافة 30 يوم عمل إلى تاريخ اليوم:
=WORKDAY(TODAY(), 30)
إلى اطرح 30 يوم عمل من تاريخ اليوم:
=WORKDAY(TODAY(), -30)
لتوفير تاريخ البدء مباشرة إلى الصيغة ، استخدم الدالة DATE:
=WORKDAY(DATE(2015,5,6), 30)
توضح لقطة الشاشة التالية نتائج كل هذه وغيرها من معادلات WORKDAY:
وبطبيعة الحال ، يمكنك إدخال عدد أيام العمل التي تريد إضافتها / طرحها من تاريخ البدء في بعض الخلايا ، ثم قم بالإشارة إلى تلك الخلية في الصيغة الخاصة بك. على سبيل المثال:
=WORKDAY(A2, C2)
حيث A2 هو تاريخ البدء و C2 هو عدد الأيام غير نهاية الأسبوع المتأخرة (الأرقام السالبة) أو التي تسبق (الأرقام الموجبة) تاريخ البدء ، لا أيام العطل لاستبعاد.
نصيحة. في Excel 365 و 2021 ، يمكنك استخدام WORKDAY جنبًا إلى جنب مع SEQUENCE لإنشاء سلسلة من أيام العمل.
وظيفة Excel WORKDAY.INTL
WORKDAY.INTL هي تعديل أكثر قوة لـ WORKDAY وظيفة تعمل مع معلمات نهاية الأسبوع المخصصة . بالإضافة إلى WORKDAY ، فإنه يُرجع تاريخًا يمثل عددًا محددًا من أيام العمل في المستقبل أو في الماضي ، ولكنه يتيح لك تحديد أيام الأسبوع التي يجب اعتبارها أيام نهاية الأسبوع.
الدالة WORKDAY.INTL تم تقديمه فيلا يتوفر Excel 2010 وما إلى ذلك في إصدارات Excel السابقة.
يكون بناء جملة الدالة Excel WORKDAY.INTL كما يلي:
WORKDAY.INTL (تاريخ البدء ، الأيام ، [عطلة نهاية الأسبوع] ، [العطل])الوسيطتان الأوليان مطلوبتان وهما شبيهتان بـ WORKDAY's:
تاريخ_البدء - التاريخ الأولي.
أيام - عدد أيام عمل قبل (قيمة سالبة) أو بعد (قيمة موجبة) تاريخ البدء. إذا تم توفير الوسيطة days
كرقم عشري ، فسيتم اقتطاعها إلى عدد صحيح.
الوسيطتان الأخيرتان اختياريتان:
عطلة نهاية الأسبوع - تحدد أيام الأسبوع التي يجب أن تكون تحسب أيام عطلة نهاية الأسبوع. يمكن أن يكون هذا رقمًا أو سلسلة ، كما هو موضح أدناه.
الرقم | أيام عطلة نهاية الأسبوع |
1 أو محذوف | السبت ، الأحد |
2 | الأحد ، الاثنين |
3 | الاثنين ، الثلاثاء |
4 | الثلاثاء ، الأربعاء |
5 | الأربعاء ، الخميس |
6 | الخميس ، الجمعة |
7 | الجمعة ، السبت |
11 | الأحد فقط |
12 | الاثنين فقط |
13 | الثلاثاء فقط |
14 | الأربعاء فقط |
15 | الخميس فقط |
16 | الجمعة فقط |
17 | السبت فقط |
سلسلة نهاية الأسبوع - سلسلة من سبعة 0 و 1 تمثل سبعة أيام من الأسبوع ،ابتداء من يوم الاثنين. 1 يمثل يوم عطلة ويمثل 0 يوم عمل. على سبيل المثال:
- "0000011" - السبت والأحد عطلات نهاية الأسبوع.
- "1000001" - الاثنين والأحد هما عطلة نهاية الأسبوع.
للوهلة الأولى ، قد تبدو سلاسل عطلة نهاية الأسبوع زائدة عن الحاجة ، لكنني شخصياً أحب هذه الطريقة بشكل أفضل لأنه يمكنك إنشاء سلسلة نهاية الأسبوع بسرعة دون الحاجة إلى تذكر أي أرقام.
الأعياد - قائمة اختيارية بالتواريخ تريد استبعاده من تقويم يوم العمل. يمكن أن يكون هذا نطاقًا من الخلايا يحتوي على التواريخ ، أو ثابت صفيف للقيم التسلسلية التي تمثل تلك التواريخ.
استخدام WORKDAY.INTL في Excel - أمثلة الصيغة
حسنًا ، الحجم الكبير جدًا النظرية التي ناقشناها للتو قد تبدو معقدة ومربكة للغاية ، لكن تجربة الصيغ ستجعل الأمور سهلة حقًا.
في مجموعة البيانات الخاصة بنا ، مع تاريخ البدء في الخلية A2 وقائمة العطلات في A5 : A8 ، دعنا نحسب أيام العمل بعطلات نهاية الأسبوع المخصصة.
إلى أضف 30 يوم عمل إلى تاريخ البدء ، يتم حساب الجمعة والسبت كعطلات نهاية الأسبوع والعطلات في A5: A8 مستبعد:
=WORKDAY.INTL(A2, 30, 7, A5:A8)
أو
=WORKDAY.INTL(A2, 30, "0000110", A5:A8)
إلى طرح 30 يوم عمل من تاريخ البدء ، يتم حساب الأحد والاثنين كعطلات نهاية الأسبوع والعطلات في A5: A8 مستبعد :
=WORKDAY.INTL(A2, -30, 2, A5:A8)
أو
=WORKDAY.INTL(A2, -30, "1000001", A5:A8)
لإضافة 10 أيام عمل إلى التاريخ الحالي ، يوم الأحد هو يوم عطلة نهاية الأسبوع الوحيد ، رقمأيام العطل:
=WORKDAY.INTL(TODAY(), 10, 11)
أو
=WORKDAY.INTL(A2, 10, "0000001")
في ورقة Excel ، قد تبدو الصيغ مشابهة لما يلي:
ملاحظة. تقوم كل من الدالتين Excel WORKDAY و WORKDAY.INTL بإرجاع الأرقام التسلسلية التي تمثل التواريخ. لعرض هذه الأرقام كتواريخ ، حدد الخلايا التي تحتوي على الأرقام واضغط على Ctrl + 1 لفتح مربع الحوار تنسيق الخلايا . في علامة التبويب رقم ، حدد التاريخ في قائمة الفئة ، واختر تنسيق التاريخ الذي تريده. للحصول على الخطوات التفصيلية ، يرجى الاطلاع على كيفية تغيير تنسيق التاريخ في Excel.
أخطاء Excel WORKDAY و WORKDAY.INTL
إذا أرجعت صيغة Excel WORKDAY أو WORKDAY.INTL خطأً ، فمن المحتمل أن يكون السبب أحد الأسباب التالية:
# NUM! يحدث خطأ إذا:
- ينتج عن مجموعة من الوسيطتين
start_date
وdays
تاريخ غير صالح ، أو -
weekend
الوسيطة في دالة WORKDAY.INTL غير صالحة .
#VALUE! يحدث خطأ إذا كان:
-
start_date
أو أي قيمة فيholidays
ليست تاريخًا صالحًا ، أو -
days
الوسيطة غير رقمية.
دالة Excel NETWORKDAYS
ترجع الدالة NETWORKDAYS في Excel عدد أيام العمل بين تاريخين ، باستثناء عطلات نهاية الأسبوع ، واختيارياً ، أيام العطل حدد.
بناء جملة Excel NETWORKDAYS بديهي وسهل التذكر:
NETWORKDAYS (start_date ، end_date ، [العطلات])الوسيطتان الأوليان إلزاميتان والثالثة هياختياري:
- Start_date - التاريخ الأولي الذي يبدأ من خلاله حساب أيام العمل.
- End_date - نهاية الفترة التي أنت تحسب أيام العمل.
يتم حساب تاريخ البدء وتاريخ الانتهاء في عدد أيام العمل التي تم إرجاعها.
- الإجازات - قائمة اختيارية من أيام العطل التي لا يجب احتسابها كأيام عمل.
كيفية استخدام NETWORKDAYS في Excel - مثال على الصيغة
لنفترض أن لديك قائمة بالعطلات في الخلايا A2: A5 ، تواريخ البدء في العمود B وتواريخ الانتهاء في العمود C وتريد معرفة عدد أيام العمل بين هذه التواريخ. من السهل معرفة صيغة NETWORKDAYS المناسبة:
=NETWORKDAYS(B2, C2, $A$2:$A$5)
لاحظ أن دالة Excel NETWORKDAYS تُرجع قيمة موجبة عندما يكون تاريخ البدء أقل من تاريخ الانتهاء ، وقيمة سالبة إذا كان تاريخ الانتهاء أحدث من تاريخ البدء (كما في الصف 5):
دالة Excel NETWORKDAYS.INTL
مثل NETWORKDAYS ، دالة NETWORKDAYS.INTL في Excel يحسب عدد أيام الأسبوع بين تاريخين ، ولكنه يتيح لك تحديد الأيام التي يجب احتسابها كأيام نهاية الأسبوع.
يشبه بناء جملة الدالة NETWORKDAYS.INTL إلى حد بعيد NETWORKDAYS ، باستثناء أنه يحتوي على [عطلة نهاية الأسبوع] الإضافية ] المعلمة التي تشير إلى أيام الأسبوع التي يجب احتسابها كعطلات نهاية الأسبوع.
NETWORKDAYS.INTL (start_date ، end_date ، [عطلة نهاية الأسبوع] ، [العطل]) يمكن قبول الوسيطة weekend
إما رقم أو سلسلة. الأرقام وسلاسل نهاية الأسبوع هي نفسها تمامًا كما في المعلمة weekend
للدالة WORKDAY.INTL.
تتوفر الدالة NETWORKDAYS.INTL في Excel 365 - 2010.
استخدام NETWORKDAYS.INTL في Excel - مثال على الصيغة
باستخدام قائمة التواريخ من المثال السابق ، دعنا نحسب عدد أيام العمل بين تاريخين بحيث يكون الأحد هو يوم عطلة نهاية الأسبوع الوحيد. لهذا ، اكتب رقم 11 في وسيطة weekend
لصيغة NETWORKDAYS.INTL أو أنشئ سلسلة من ستة أصفار وواحد 1 ("0000001"):
=NETWORKDAYS.INTL(B2, C2, 11, $A$2:$A$5)
أو
=NETWORKDAYS.INTL(B2, C2, "0000001", $A$2:$A$5)
تثبت لقطة الشاشة التالية أن كلا الصيغتين ترجعان نتائج متطابقة تمامًا.
كيفية تمييز أيام العمل في Excel
باستخدام الدالتان WORKDAY و WORKDAY.INTL ، لا يمكنك حساب أيام العمل في أوراق عمل Excel فحسب ، بل يمكنك أيضًا تمييزها حسب ما يتطلبه منطق عملك. لهذا ، تقوم بإنشاء قاعدة تنسيق شرطي إما باستخدام صيغة WORKDAY أو WORKDAY.INTL.
على سبيل المثال ، في قائمة التواريخ في العمود B ، دعنا نبرز التواريخ المستقبلية فقط التي تقع في غضون 15 يوم عمل من تاريخ اليوم ، باستثناء عطلتين في الخلايا A2: A3. الصيغة الأكثر وضوحًا التي تتبادر إلى الذهن هي كما يلي:
=AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3))
يُقطع الجزء الأول من الاختبار المنطقي التواريخ الماضية ، أي أنك تتحقق مما إذا كان التاريخ مساويًا لليوم أو أكبر منه : $ B2 & GT؛ TODAY (). وفي الجزء الثاني ، تقوم بالتحققما إذا كان التاريخ لا يزيد عن 15 يومًا من أيام الأسبوع في المستقبل ، باستثناء أيام نهاية الأسبوع والعطلات المحددة: $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3)
تبدو الصيغة صحيحة ، ولكن بمجرد إنشاء قاعدة تستند إليها ، ستدرك أنها تبرز خطأ التواريخ:
دعونا نحاول معرفة سبب حدوث ذلك. المشكلة ليست في وظيفة WORKDAY ، كما قد يستنتج شخص ما. الوظيفة صحيحة ، لكن ... ماذا تفعل في الواقع؟ تقوم بإرجاع تاريخ 15 يوم عمل من الآن ، باستثناء أيام نهاية الأسبوع (السبت والأحد) والعطلات في الخلايا A2: A3.
حسنًا ، وماذا تفعل القاعدة المستندة إلى هذه الصيغة؟ يقوم بتمييز جميع التواريخ التي تساوي اليوم أو أكبر منه وأقل من التاريخ الذي تم إرجاعه بواسطة الدالة WORKDAY. هل ترى؟ كل التواريخ! إذا كنت لا ترغب في تلوين عطلة نهاية الأسبوع والعطلات ، فأنت بحاجة إلى إخبار Excel صراحة بعدم القيام بذلك. لذلك ، نضيف شرطين آخرين إلى صيغتنا:
- وظيفة WEEKDAY لاستبعاد عطلات نهاية الأسبوع: WEEKDAY ($ B2، 2) & lt؛ 6
- وظيفة COUNTIF لاستبعاد أيام العطل : COUNTIF ($ A $ 2: $ A $ 3، $ B2) = 0
كما هو موضح في لقطة الشاشة أدناه ، تعمل الصيغة المحسنة بشكل مثالي:
=AND($B2>TODAY(), $B2<=WORKDAY(TODAY(), 15, $A$2:$A$3), COUNTIF($A$2:$A$3, $B2)=0, WEEKDAY($B2, 2)<6)
كما ترى ، تجعل الدالتان WORKDAY و WORKDAY.INTL حساب أيام العمل في Excel أمرًا سريعًا وسهلاً. بالطبع ، من المرجح أن تكون صيغ الحياة الواقعية الخاصة بك أكثر تعقيدًا ، لكن معرفة الأساسيات يساعد بشكل كبير ، لأنك لا تستطيع سوى التذكر