كيف تُنشئ قائمة بأيام الأسبوع أو أيام العمل في Excel؟
يشرح هذا البرنامج التعليمي كيفية إنشاء قائمة سريعة بأيام الأسبوع أو أيام العمل ضمن نطاق تاريخ محدد في Excel. وتُعد هذه الميزة أداةً قيّمةً بشكل خاص في جدولة المشاريع، وإعداد جداول الحضور وسجلاته، أو تخطيط المهام التي تنفَّذ فقط خلال أيام العمل. وتعرض الطرق التالية حلولًا يدوية وأوتوماتيكية لتحقيق ذلك، لتلبية احتياجات سيناريوهات متنوعة ومستويات مختلفة من الكفاءة في استخدام Excel.
سرد أيام الأسبوع باستخدام ميزة الملء التلقائي خيارات التعبئة
سرد أيام الأسبوع باستخدام أداة مفيدة — Kutools لـ Excel
سرد أيام العمل باستخدام صيغة WORKDAY/WORKDAY.INTL في Excel
سرد أيام الأسبوع/أيام العمل تلقائيًا باستخدام كود VBA
سرد أيام الأسبوع باستخدام ميزة الملء التلقائي خيارات التعبئة
في Excel، يمكنك إنشاء قائمة سريعة بأيام الأسبوع باستخدام مقبض الملء التلقائي مع خيارملء أيام الأسبوع. هذه الطريقة مباشرة ومثالية لإنشاء قائمة متسلسلة من أيام الأسبوع بسرعة، لكنها أقل مرونة إذا احتجت إلى تحديد تاريخ البدء والانتهاء بدقة أو أردت أخذ العطلات في الاعتبار.
1. أدخل تاريخ البدء في خلية فارغة. على سبيل المثال، اكتب7/1/2015 في الخليةA1. انظر لقطة الشاشة:

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

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

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

توفر هذه الطريقة وسيلة سريعة لملء قائمة بأيام الأسبوع المتتالية، لكنها لا تناسب القواعد التجارية المخصصة (مثل استبعاد عطلات معيّنة أو فترات غير متتالية من أيام الأسبوع). علاوةً على ذلك، لا تتيح ملء أيام الأسبوع الواقعة بين تاريخين محددين مباشرةً. ولتلبية الاحتياجات الأكثر تقدمًا، ننصحك باستخدام إحدى الطرق الآلية الموضحة أدناه.
سرد أيام الأسبوع باستخدام أداة مفيدة — Kutools لـ Excel
Kutools لـ Excelتوفر حلاً ذكيًا لتوليد جميع أيام الأسبوع أو أيام العمل ضمن نطاق تاريخ معيّن، وذلك باستخدام ميزةإدراج بيانات عشوائيةالخاصة بها. تتميّز هذه الطريقة بالمرونة وتوفر الوقت، خاصة عند التعامل مع مجموعات بيانات كبيرة أو عندما تريد ضمان أن تكون جميع التواريخ المستخرَجة فريدة ومُرشَّحة حسب نوع يوم الأسبوع. وهي مثالية للمستخدمين الذين يديرون الجداول أو يخططون للمشاريع التي تعتمد على حسابات دقيقة لأيام العمل.
1. حدد نطاقًا فارغًا من الخلايا حيث تريد إنشاء القائمة. تأكد من اختيار عدد من الخلايا يفوق عدد أيام الأسبوع المتوقعة، إذ يُحدِّد عدد الخلايا المحدد عدد التواريخ التي يمكن استيعابها. انظر لقطة الشاشة:

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

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

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

Kutools لـ Excel’s إدراج بيانات عشوائيةتدعم أكثر من مجرد أيام الأسبوع: يمكنك أيضًا توليد أرقام عشوائية، وأوقات عشوائية، وقيم فريدة عشوائية، وسلاسل نصية عشوائية، وقائمة مخصصة عشوائية.انقر هنا لمعرفة المزيد حول هذه الأداة.
ملاحظة:تأكد دائمًا من أن التواريخ المُولَّدة تتوافق مع معاييرك، خاصةً إذا كنت بحاجة إلى استبعاد عطلات معيّنة أو إذا كان نطاق التواريخ الخاص بك يشمل أسابيع عمل متغيرة.
Kutools لـ Excel – مزوَّد بأكثر من 300 أداة أساسية لبرنامج Excel! اجعل مهامك في Excel أسرع، وأسهل، وأكثر كفاءة.حمِّل الآن!
سرد أيام العمل باستخدام صيغة WORKDAY/WORKDAY.INTL في Excel
تتيح لك دالتا Excel WORKDAY وWORKDAY.INTL إنشاء قائمة متسلسلة من أيام العمل بين تاريخين برمجيًا. تتجاهل الدالة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! أو خلايا فارغة في المكان الذي تتوقع فيه تواريخ، فتأكد من أن تاريخ البدء وتاريخ الانتهاء صالحين، وأن قائمة العطلات (إن كنت تستخدمها) تحتوي فقط على تواريخ — وليس نصوصًا أو أي بيانات أخرى.
سرد أيام الأسبوع/أيام العمل تلقائيًا باستخدام كود VBA
إذا كنت بحاجة إلى إنشاء قائمة كاملة بأيام الأسبوع أو أيام العمل ضمن أي نطاق، يمكنك أتمتة هذه المهمة بسهولة باستخدام ماكرو VBA مخصص. تُعد هذه الطريقة مثالية لمستخدمي Excel المتقدمين أو عند الحاجة إلى تنفيذ هذه المهمة مرارًا وتكرارًا عبر مجموعات بيانات مختلفة. وباستخدام VBA، يمكنك أخذ أنماط أسبوع العمل المخصصة والعطلات الرسمية بعين الاعتبار، بل وحتى تحديد الموقع الدقيق في ورقة العمل الذي ترغب في وضع النتائج فيه.
1. انقرأدوات المطور > Visual Basic لفتح نافذةMicrosoft Visual Basic for Applications. بعد ذلك، انقرإدراج > وحدة البرمجة (Module)والصق الكود التالي في الوحدة:
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. انقر على الزر
أو اضغط علىF5 لتشغيل الكود. سيتم مطالبتك بإدخال تاريخ البدء وتاريخ الانتهاء للقائمة الخاصة بك. اختياريًا، يمكنك تحديد نطاق يحتوي على تواريخ العطلات التي تريد استبعادها (أو اضغط ببساطة على «إلغاء» إذا لم تكن هناك حاجة لذلك). بعد ذلك، سيقوم الماكرو بتعبئة العمود C في ورقة العمل النشطة بكل يوم عمل، مع تخطي عطلات نهاية الأسبوع (من الإثنين إلى الجمعة) والعطلات التي حددتها.
ملاحظات واستكشاف الأخطاء وإصلاحها:
- إذا لم تظهر التواريخ، فتأكد من أن تواريخ الإدخال الخاصة بك صحيحة ومكتوبة بالصيغة الصحيحة لتنسيق التاريخ.
- إذا لم يتم تحديد نطاق العطلات، فسيتم عرض جميع أيام الأسبوع الواقعة بين تاريخ البدء وتاريخ الانتهاء.
- تظهر النتائج دائمًا في العمود C. غيّر
ws.Cells(r,3)في الكود إذا أردت عرضها في مكانٍ آخر.
أفضل أدوات الإنتاجية لمكتبتك
عزِّز مهاراتك في 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 وPowerPoint بالإضافة إلى Office Tab Pro
- برنامج تثبيت واحد، ترخيص واحد— الإعداد خلال دقائق (جاهز لـ MSI)
- يعمل بشكل أفضل معًا— إنتاجية ميسَّرة عبر تطبيقات Office
- تجربة مجانية لمدة 30 يومًا بكامل الميزات— بدون تسجيل، بدون بطاقة ائتمان
- أفضل قيمة— وفِّر مقارنةً بشراء الإضافات بشكل منفصل