كيفية توليد تواريخ عشوائية لأيام الأسبوع أو عطلة نهاية الأسبوع في Excel؟
هذا البرنامج التعليمي يتحدث عن توليد تواريخ عشوائية لأيام العمل فقط أو تواريخ عشوائية لعطلات نهاية الأسبوع فقط في Excel، اتبع الخطوات أدناه للحصول على المزيد من التفاصيل.
توليد أيام عمل عشوائية فقط في Excel
توليد أيام عمل عشوائية فقط أو عطلة نهاية أسبوع فقط باستخدام Kutools لـ Excel
توليد أيام عمل عشوائية فقط في Excel
في Excel، هناك طريقتان يمكن أن تساعدك على توليد أيام عمل فقط ضمن نطاق تاريخ حسب الحاجة.
الطريقة 1: توليد يوم عمل عشوائي باستخدام الصيغة
حدد خلية واكتب هذه الصيغة =DATE(2014, 1, 1)+LARGE(IF(WEEKDAY(DATE(2014, 1, 1)+ROW($1:$365)-1, 2)<6, ROW($1:$365)-1, ""), RANDBETWEEN(1, SUM(--(WEEKDAY(DATE(2014, 1, 1)+ROW($1:$365)-1, 2)<6))))، ثم اضغط Shift + Ctrl + Enter معًا، وبعد ذلك اسحب مقبض التعبئة إلى النطاق الذي تريد توليده فيه أيام العمل. انظر لقطة الشاشة:
نصيحة:
1. إذا كنت ترغب في توليد أيام عمل عشوائية فريدة، يمكنك استخدام هذه الصيغة =DATE(2014, 1, 1)+(LARGE(IF(WEEKDAY((DATE(2014, 1, 1)+ROW($1:$365)-1)*((COUNTIF($A$1:A1, DATE(2014, 1, 1)+ROW($1:$365)-1))=0), 2)<6, ROW($1:$365)-1, ""), RANDBETWEEN(1, SUM(--(WEEKDAY((DATE(2014, 1, 1)+ROW($1:$365)-1)*((COUNTIF($A$1:A1, DATE(2014, 1, 1)+ROW($1:$365)-1))=0), 2)<6))))) وتذكر أن تضغط Shift + Ctrl + Enter.
2. في الصيغ أعلاه، 2014،1،1 هو تاريخ البدء لنطاق التاريخ المطلوب، و365 هو عدد الأيام في نطاق التاريخ الخاص بك، ويمكنك تغييرها حسب الحاجة.
3. لا يمكنك وضع الصيغة التي تولد أيام عمل عشوائية فريدة في الخلية A1.
الطريقة 2: توليد يوم عمل عشوائي خلال عام مع VBA
إذا كنت ترغب في توليد أيام عمل عشوائية خلال عام ومألوفًا بـ VBA، يمكنك القيام بما يلي:
1. اضغط على Alt + F11 لفتح نافذة Microsoft Visual Basic for Applications.
2. انقر فوق إدراج > وحدة، ثم ألصق الكود التالي VBA في النوافذ المنبثقة.
VBA: توليد أيام عمل عشوائية خلال عام.
Dim RandomizedYet As Boolean
'Updateby20150108
Function RandomizeDates(pYear As Long)
Dim i As Long
Dim DaysInYear As Long
Dim xIndex As Long
Dim RndIndex As Long
Dim Temp As Date
Dim Weekdays() As Variant
If Not RandomizedYet Then
RandomizedYet = True
Randomize
End If
DaysInYear = DateSerial(pYear + 1, 1, 1) - DateSerial(pYear, 1, 1)
ReDim Weekdays(1 To DaysInYear)
For i = 1 To DaysInYear
If Weekday(DateSerial(pYear, 1, i), vbMonday) < 6 Then
xIndex = xIndex + 1
Weekdays(xIndex) = DateSerial(pYear, 1, i)
End If
Next
ReDim Preserve Weekdays(1 To xIndex)
For i = xIndex To 1 Step - 1
RndIndex = Int(i * Rnd + 1)
Temp = Weekdays(RndIndex)
Weekdays(RndIndex) = Weekdays(i)
Weekdays(i) = Temp
Next
RandomizeDates = Application.WorksheetFunction.Transpose(Weekdays)
End Function
3. احفظ الكود وأغلق النافذة للعودة إلى ورقة العمل الخاصة بك، واكتب هذه الصيغة=RandomizeDates(2014) في خلية، ثم اضغط Enter واسحب مقبض التعبئة إلى النطاق الذي تحتاجه. انظر لقطة الشاشة:
توليد أيام عمل عشوائية فقط أو عطلة نهاية أسبوع فقط باستخدام Kutools لـ Excel
بعد تثبيت Kutools لـ Excel مجانًا، يرجى القيام بما يلي:
1. حدد النطاق الذي تريد توليده فيه تواريخ أيام العمل أو عطلة نهاية الأسبوع، ثم انقر فوق Kutools > إدراج بيانات عشوائية. انظر لقطة الشاشة:
2. في إدراج بيانات عشوائية الحوار، انقر فوق التاريخ التبويب، وبعد ذلك زر التقويم لتحديد تاريخ البدء والانتهاء الذي تريده، ثم قم بوضع علامة اختيار بجانب أيام العمل أو عطلة نهاية الأسبوع الخيار الذي تحتاجه، إذا كنت ترغب في توليد تاريخ فريد، يمكنك وضع علامة اختيار بجانب فريد الخيار. انظر لقطة الشاشة:
3. انقر فوق موافق لتطبيق وإغلاق الحوار، وبعد ذلك يتم توليد تواريخ عطلة نهاية الأسبوع الفريدة في النطاق المحدد.
نصيحة: إذا كان يُسمح لك بإدخال بيانات مكررة، فقط قم بإلغاء تحديد القيم الفريدة في الحوار.
مع وظيفة إدراج بيانات عشوائية، يمكنك أيضًا توليد أرقام صحيحة، وقت، سلاسل نصية وقوائم مخصصة. انقر هنا لمزيد من المعلومات.
مقالات ذات صلة
أفضل أدوات الإنتاجية لمكتب العمل
عزز مهاراتك في Excel مع Kutools لـ Excel، واختبر الكفاءة كما لم يحدث من قبل. Kutools لـ Excel يقدم أكثر من300 ميزة متقدمة لزيادة الإنتاجية وتوفير وقت الحفظ. انقر هنا للحصول على الميزة التي تحتاجها أكثر...
Office Tab يقدم واجهة التبويب لـ Office، ويجعل عملك أسهل بكثير
- تمكين تحرير وقراءة المستندات عبر التبويبات في Word وExcel وPowerPoint.
- افتح وأنشئ عدة مستندات في تبويبات جديدة ضمن نفس النافذة، بدلاً من فتحها في نوافذ منفصلة.
- يزيد إنتاجيتك بنسبة50%، ويقلل مئات النقرات بالماوس يومياً!