Skip to main content

Kutools for Office — مجموعة واحدة. خمسة أدوات. أنجز المزيد.

كيفية إنشاء قائمة بأيام الأسبوع/أيام العمل في Excel؟

Author Sun Last modified

يوضح هذا البرنامج التعليمي كيفية إنشاء قائمة بأيام الأسبوع أو أيام العمل بسرعة ضمن نطاق تاريخ محدد في Excel. يعد القدرة على إنشاء مثل هذه القائمة مفيدة بشكل خاص لجدولة المشاريع، وسجلات الوقت، وسجلات الحضور، أو تخطيط المهام التي تحدث فقط خلال أيام العمل. تُظهر الطرق التالية كلًا من الأساليب اليدوية والآلية لتحقيق ذلك، بما يتناسب مع السيناريوهات المختلفة ومستويات المهارة في استخدام Excel.

قائمة أيام الأسبوع باستخدام خيارات التعبئة التلقائية

قائمة أيام الأسبوع باستخدام أداة عملية -- Kutools لـ Excel

قائمة أيام العمل باستخدام صيغتي WORKDAY/WORKDAY.INTL في Excel

قائمة بأيام الأسبوع/أيام العمل تلقائيًا باستخدام كود VBA


arrow blue right bubble قائمة أيام الأسبوع باستخدام خيارات التعبئة التلقائية

في Excel، يمكنك بسرعة إنشاء قائمة بأيام الأسبوع باستخدام مقبض التعبئة التلقائية جنبًا إلى جنب مع خيار ملء أيام الأسبوع. هذا النهج مباشر ومناسب تمامًا لإنشاء قائمة متتالية بأيام الأسبوع بسرعة، ولكنه أقل مرونة إذا كنت بحاجة إلى التحكم الدقيق في تواريخ البدء والانتهاء أو إذا كنت بحاجة إلى أخذ العطلات في الاعتبار.

1. أدخل تاريخ البدء الخاص بك في خلية فارغة. على سبيل المثال، اكتب 7/1/2015 في الخلية A1. انظر لقطة الشاشة:

A screenshot showing the start date entered in Excel to create a list of weekdays

2. حرك مؤشر الفأرة إلى الزاوية اليمنى السفلية من الخلية حتى ترى مقبض التعبئة (+). ثم انقر واسحب مقبض التعبئة لأسفل إلى عدد الصفوف التي تحتاجها. على سبيل المثال، اسحبه لسرد 22 يوم عمل.

نصيحة: ستحتاج إلى تقدير أو حساب عدد أيام الأسبوع التي تريد ملؤها بالضبط. إذا لم تكن متأكدًا، يمكنك دائمًا ملء المزيد من الخلايا أكثر من اللازم وإزالة الإضافات بسهولة لاحقًا.

A screenshot of dragging the fill handle in Excel to list dates

3. بمجرد الانتهاء من السحب، انقر فوق زر خيارات التعبئة التلقائية الصغير الذي يظهر بجانب التحديد. في القائمة المنبثقة، اختر ملء أيام الأسبوع. سيقوم Excel الآن بملء النطاق فقط بأيام الأسبوع (من الاثنين إلى الجمعة)، مع تجاهل عطلة نهاية الأسبوع.

A screenshot of the Auto Fill Options menu in Excel with the Fill Weekdays option

الآن، يجب أن ترى تسلسل 22 يوم عمل بدءًا من 7/1/2015 معروضًا في ورقة العمل.

A screenshot of a list of weekdays only generated

توفر هذه الطريقة طريقة سريعة لملء قائمة متتالية بأيام الأسبوع، لكنها ليست مثالية للقواعد التجارية المخصصة (مثل استبعاد العطلات المحددة أو فترات أيام الأسبوع غير المتتالية). بالإضافة إلى ذلك، لا توفر طريقة مباشرة لملء أيام الأسبوع التي تقع بين تاريخين دقيقين. للمتطلبات الأكثر تقدمًا، ضع في اعتبارك استخدام واحدة من الطرق الآلية أدناه.


arrow blue right bubble قائمة أيام الأسبوع باستخدام أداة عملية -- Kutools لـ Excel

يقدم Kutools لـ Excel حلاً ملائمًا لتوليد جميع أيام الأسبوع أو أيام العمل ضمن نطاق تاريخ محدد باستخدام ميزة إدراج بيانات عشوائية الخاصة به. هذا النهج مرن ويوفر الوقت، خاصة عند التعامل مع مجموعات بيانات كبيرة أو عندما ترغب في التأكد من أن جميع التواريخ المسترجعة فريدة ومصفاة حسب حالة يوم الأسبوع. إنه مثالي للمستخدمين الذين يديرون الجداول الزمنية أو يخططون للمشاريع التي تعتمد على حسابات دقيقة لأيام العمل.

Kutools لـ Excel يقدم أكثر من 300 ميزة متقدمة لتبسيط المهام المعقدة، مما يعزز الإبداع والكفاءة. بالتكامل مع قدرات الذكاء الاصطناعي، يقوم Kutools بأتمتة المهام بدقة، مما يجعل إدارة البيانات أمرًا سهلاً للغاية. معلومات تفصيلية عن Kutools لـ Excel... نسخة تجريبية مجانية...

1. حدد نطاقًا فارغًا من الخلايا حيث تريد توليد القائمة. تأكد من تحديد خلايا أكثر من الأيام الأسبوعية المتوقعة، لأن عدد الخلايا يحدد عدد التواريخ التي يمكن استيعابها. انظر لقطة الشاشة:

A screenshot of selected cells for creating a weekday list with Kutools

2. انتقل إلى تبويب Kutools في شريط أدوات Excel، ثم انقر فوق إدراج > إدراج بيانات عشوائية. انظر لقطة الشاشة:

3. في إدراج بيانات عشوائية مربع الحوار، قم بالتبديل إلى التاريخ التبويب. أدخل نطاق التاريخ المطلوب: اكتب أقرب تاريخ في من المربع، وأحدث تاريخ في إلى المربع. تحقق من يوم العمل للتقييد بالنتائج ليوم العمل (من الاثنين إلى الجمعة)، و قيم فريدة لتجنب أي تواريخ مكررة. انظر لقطة الشاشة:
A screenshot of the Insert Random Data dialog with Workday option selected

ملاحظة: إذا كان مشروعك يتطلب تضمين العطلات، فستحتاج إلى إزالتها يدويًا بعد إنشاء القائمة، حيث تقوم الوظيفة المدمجة بتخطي عطلات نهاية الأسبوع فقط.

4. انقر فوق موافق أو تطبيق. ستقوم الأداة بتعبئة النطاق المحدد بجميع أيام الأسبوع المتطابقة من الفترة المحددة. قد تبقى خلايا فارغة إذا كان النطاق المحدد أكبر من التواريخ المحتملة.

A screenshot showing a list of weekdays inserted with blank cells remaining

5. (اختياري) لترتيب التواريخ المنشأة بترتيب زمني، حدد نطاق التاريخ المملوء، انتقل إلى تبويب البيانات، ثم انقر على الترتيب من الأقدم إلى الأحدث. تضمن هذه الخطوة تنظيم القائمة بشكل جيد.

A screenshot showing Data tab and Sort Oldest to Newest option in Excel

ستعرض القائمة المولدة الآن جميع أيام العمل داخل النطاق المخصص، مرتبة بالتسلسل من الأقدم إلى الأحدث.

A screenshot showing weekdays sorted from oldest to newest in Excel

تدعم أداة إدخال البيانات العشوائية في Kutools لـ Excel أكثر من مجرد أيام الأسبوع: يمكنك أيضًا توليد أرقام عشوائية، أوقات عشوائية، قيم فريدة عشوائية، سلاسل عشوائية، وقوائم مخصصة عشوائية. انقر هنا لمعرفة المزيد حول هذه الأداة.

ملاحظة: تحقق دائمًا من أن التواريخ المولدة تطابق معاييرك، خاصة إذا كنت بحاجة إلى استبعاد عطلات محددة أو إذا كانت نطاقات التواريخ الخاصة بك تغطي أسابيع عمل متغيرة.

Kutools لـ Excel - مزود بأكثر من 300 أدوات أساسية لبرنامج Excel. استمتع بميزات ذكاء اصطناعي مجانية بشكل دائم! قم بالتنزيل الآن!

arrow blue right bubble قائمة أيام العمل باستخدام صيغتي WORKDAY/WORKDAY.INTL في Excel

تسمح وظيفتا WORKDAY و WORKDAY.INTL في Excel بإنشاء قائمة برمجية لأيام العمل المتتابعة بين تاريخين. تعمل WORKDAY على تجاوز عطلات نهاية الأسبوع افتراضيًا (السبت والأحد)، بينما تسمح WORKDAY.INTL بتحديد أيام عطلة نهاية الأسبوع المخصصة وتضمين تواريخ العطلات. هذا النهج مرن للغاية إذا كنت ترغب في أتمتة العملية وضمان الدقة، مثل جدولة الموارد البشرية أو حساب الرواتب.

لل удобство, إليك نهجًا خطوة بخطوة باستخدام الصيغ لبناء قائمة ديناميكية لأيام العمل:

1. أدخل تاريخ البدء الخاص بك في الخلية A1، على سبيل المثال: 7/1/2015. في الخلية B1، أدخل تاريخ الانتهاء الخاص بك، مثل 7/31/2015.

2. في الخلية C1، أدخل هذه الصيغة للحصول على قائمة بأيام العمل بالتتابع:

=IF(WORKDAY($A$1,ROW(A1)-1,$B$2)<=$B$1,WORKDAY($A$1,ROW(A1)-1,$B$2),"")

شرح المعاملات:

  • $A$1: تاريخ البدء (مرجع ثابت)
  • ROW(A1)-1: يزيد عدد أيام العمل لكل صف
  • $B$2: اختياري، نطاق يحتوي على تواريخ العطلات ليتم استبعادها (أدخل تواريخ العطلات الخاصة بك في B2:B10 أو أي نطاق آخر مرغوب فيه، أو اتركه فارغًا إذا لم يكن مطلوبًا)
  • $B$1: تاريخ الانتهاء للقائمة (يضمن أن السلسلة تتوقف عند نقطة النهاية المختارة)

3. اسحب الصيغة في الخلية C1 لأسفل حتى تعرض الخلية فارغة. ستقوم القائمة بتعبئة جميع أيام العمل (باستثناء عطلات نهاية الأسبوع أو أي عطلات مدرجة) بشكل ديناميكي.

نصائح:

  • إذا كنت بحاجة إلى تحديد عطلات نهاية الأسبوع المخصصة (على سبيل المثال، الأحد فقط هو عطلة نهاية الأسبوع)، ففكر في استخدام وظيفة WORKDAY.INTL، والتي تسمح بتحديد الأيام التي تعتبر عطلات نهاية الأسبوع من خلال توفير وسيطة عطلة نهاية الأسبوع (راجع مستندات Excel للحصول على التفاصيل).
  • تأكد دائمًا من أن تواريخ العطلات الخاصة بك محفوظة في نطاق واضح ومنفصل لتجنب التضمين العرضي في تسلسل أيام العمل.
  • إذا لم تكن العطلات مصدر قلق، يمكنك حذف نطاق العطلات الاختياري في الصيغة.

خطأ شائع: إذا حصلت على #NUM! أو نتائج فارغة حيث تتوقع تواريخ، تحقق من أن تواريخ البدء والانتهاء الخاصة بك صالحة وأن قائمة العطلات الخاصة بك، إذا تم استخدامها، تحتوي فقط على تواريخ (وليست نصوص أو بيانات أخرى).

arrow blue right bubble قائمة بأيام الأسبوع/أيام العمل تلقائيًا باستخدام كود VBA

إذا كنت بحاجة إلى إنشاء قائمة كاملة بأيام الأسبوع أو أيام العمل ضمن أي نطاق، يمكن لماكرو VBA المخصص أتمتة العملية. هذه الطريقة مثالية لمستخدمي Excel المتقدمين، أو عندما تكرر هذه المهمة بشكل متكرر على مجموعات بيانات مختلفة. باستخدام VBA، يمكنك أخذ أنماط أسبوع العمل المخصصة، والعطلات، أو حتى وضع النتائج في أي مكان تريده في ورقة العمل.

1. انقر فوق أدوات المطور > Visual Basic لفتح نافذة Microsoft Visual Basic for Applications. ثم انقر فوق إدراج > وحدة والصق الكود التالي في الوحدة:

Sub ListBusinessDays()
    Dim StartDate As Date
    Dim EndDate As Date
    Dim r As Integer
    Dim ws As Worksheet
    Dim currDate As Date
    Dim Holidays As Range
    
    On Error Resume Next
    Set ws = ActiveSheet
    StartDate = Application.InputBox("Enter start date:", "KutoolsforExcel", Type:=2)
    EndDate = Application.InputBox("Enter end date:", "KutoolsforExcel", Type:=2)
    Set Holidays = Application.InputBox("Select range for holidays (optional, press Cancel if none):", "KutoolsforExcel", Type:=8)
    On Error GoTo 0
    
    r = 1
    For currDate = StartDate To EndDate
        If Weekday(currDate, vbMonday) <= 5 Then ' Monday = 1, Friday = 5
            If Holidays Is Nothing Then
                ws.Cells(r, 3).Value = currDate
                r = r + 1
            Else
                If Application.CountIf(Holidays, currDate) = 0 Then
                    ws.Cells(r, 3).Value = currDate
                    r = r + 1
                End If
            End If
        End If
    Next
End Sub

2. انقر فوق الزر Run button أو اضغط F5 لتشغيل الكود. سيتم مطالبتك بإدخال تاريخ البدء والنهاية لقائمتك. اختياريًا، يمكنك تحديد نطاق من تواريخ العطلات لاستبعادها (أو ببساطة اضغط على إلغاء إذا لم يكن مطلوبًا). سيقوم الماكرو بعد ذلك بتعبئة العمود C من ورقة العمل النشطة بكل يوم عمل، مع تخطي عطلات نهاية الأسبوع (من الاثنين إلى الجمعة) والعطلات المحددة.

ملاحظات واستكشاف الأخطاء وإصلاحها:

  • إذا لم تظهر التواريخ، تحقق من أن تواريخ الإدخال الخاصة بك صالحة وفي تنسيق التاريخ.
  • إذا لم يتم تحديد نطاق العطلات، سيتم سرد جميع أيام الأسبوع بين تواريخ البدء والنهاية.
  • تبدأ النتائج دائمًا في العمود C. قم بتعديل ws.Cells(r,3) في الكود إذا كنت تريد الإخراج في مكان آخر.

أفضل أدوات الإنتاجية لمكتب العمل

🤖 Kutools AI Aide: أحدث ثورة في تحليل البيانات اعتمادًا على: التنفيذ الذكي |  توليد الأكواد |  إنشاء الصيغ المخصصة |  تحليل البيانات وتوليد الرسوم البيانية |  استخدام Kutools Functions...
ميزات شائعة: البحث، تمييز أو وضع علامة على المكررات | حذف الصفوف الفارغة | دمج الأعمدة أو الخلايا بدون فقدان البيانات | تقريب بدون الصيغة...
بحث متقدم: بحث بمعايير متعددة VLookup | بحث بقيم متعددة VLookup | بحث في عدة ورقات VLookup | مطابقة غامضة...
قائمة منسدلة متقدمة: إنشاء قائمة منسدلة بسرعة | قائمة منسدلة معتمدة | قائمة منسدلة متعددة الاختيارات...
مدير الأعمدة: إضافة عدد محدد من الأعمدة | نقل الأعمدة | تبديل حالة إظهار الأعمدة المخفية | مقارنة النطاقات والأعمدة...
ميزات مميزة: التركيز على الشبكة | عرض التصميم | شريط الصيغ المحسن | مدير أدوات المصنف وورقة العمل | مكتبة النص التلقائي | منتقي التاريخ | دمج البيانات | تشفير/فك تشفير الخلايا | إرسال البريد الإلكتروني حسب الجدول | مرشح متقدم | تصفية خاصة (تصفية الخلايا التي تحتوي على خط عريض/مائل/يتوسطه خط...)...
أفضل15 مجموعة أدوات:12 أداة نصية (إضافة نص، حذف الأحرف المحددة، ...) | أكثر من50 نوع رسم بياني (مخطط جانت، ...) | أكثر من40 صيغة عملية (حساب العمر بناءً على تاريخ الميلاد، ...) |19 أداة إدراج (إدراج رمز الاستجابة السريعة، إدراج صورة من المسار، ...) |12 أداة تحويل (تحويل إلى كلمات، تحويل العملة، ...) |7 أدوات دمج وتقسيم (دمج متقدم للصفوف، تقسيم الخلايا، ...) | ... والمزيد
استخدم Kutools بلغتك المفضلة – يدعم الإنجليزية، الإسبانية، الألمانية، الفرنسية، الصينية، وأكثر من40 لغة أخرى!

عزز مهاراتك في Excel باستخدام Kutools لـ Excel، واختبر كفاءة غير مسبوقة. Kutools لـ Excel يوفر أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة الأكثر أهمية بالنسبة لك...


Office Tab يجلب واجهة التبويب إلى Office ويجعل عملك أسهل بكثير

  • تفعيل تحرير وقراءة عبر التبويبات في Word، Excel، PowerPoint، Publisher، Access، Visio وProject.
  • افتح وأنشئ عدة مستندات في تبويبات جديدة في نفس النافذة، بدلاً من نوافذ مستقلة.
  • يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات اليومية من الفأرة!

جميع إضافات Kutools. مثبت واحد

حزمة Kutools for Office تجمع بين إضافات Excel وWord وOutlook وPowerPoint إضافة إلى Office Tab Pro، وهي مثالية للفرق التي تعمل عبر تطبيقات Office.

Excel Word Outlook Tabs PowerPoint
  • حزمة الكل في واحد — إضافات Excel وWord وOutlook وPowerPoint + Office Tab Pro
  • مثبّت واحد، ترخيص واحد — إعداد في دقائق (جاهز لـ MSI)
  • الأداء الأفضل معًا — إنتاجية مُبسطة عبر تطبيقات Office
  • تجربة كاملة لمدة30 يومًا — بدون تسجيل، بدون بطاقة ائتمان
  • قيمة رائعة — وفر مقارنة بشراء الإضافات بشكل منفرد