اذهب الي المحتوي
أوفيسنا

الردود الموصى بها

قام بنشر

اخوانى الكرام انا لدى ملف مطلوب من الذى يمله ادخال تاريخ الدخول و تاريخ الخروج و هناك عمود اخر يحسب الفرق بين التاريخين

المشكلة التى تواجهنى هو عندما يتم حسبه الفرق فانه ياخذ الفرق كعدد فعلى للايام و لكن سؤالى اليوم كيف لى ان احسب هذا الفارق كعدد ايام عمل اي بدون حسبه ايام الجمعة و السبت من كل اسبوع فهل من معادل شرطية لفرق تاريخين و اخذ فى الاعتبا عدم عدد هذه الايام

وشكرا لكم لمساعدتكم

قام بنشر

السلام عليكم

'		 بسم الله الرحمن الرحيم		  "

'======================================"

'	   دالة لعدد الايام بين فترتين		"

'	 واستثناء ايام العطل الاسبوعية	 "

'		 باختيار الايام المطلوبة		"

'======================================"

'Constant	Value   Description

'""""""""	"""""   """""""""""

'vbSunday	  1	   Sunday

'vbMonday	  2	   Monday

'vbTuesday	 3	   Tuesday

'vbWednesday   4	   Wednesday

'vbThursday	5	   Thursday

'vbFriday	  6	   Friday

'vbSaturday	7	   Saturday

'======================================"

'		في حالة انك لم تختار الايام	   "

'		ستعطيك فارق الايام كاملا		"

'======================================"

Function KhCountDay(MyDate_Min, MyDate_Max, ParamArray My_DayNO())

Dim X As Long, M As Long, R As Long, C As Integer

N = UBound(My_DayNO)

X = CDate(MyDate_Max) - CDate(MyDate_Min)

For R = 0 To X

	For C = 0 To N

		If Weekday(MyDate_Min + R) = My_DayNO(C) Then

			M = M + 1

		End If

	Next C

Next R

KhCountDay = X + 1 - M

End Function

__________________________________________________.rar

قام بنشر

عذرا اخى و هل في مثالك السابق هل تم اختيار ايام عطلات ام لا ؟؟

و اذا كنت اختارت فاين وقع الاختيار ؟

و اذا كنت لم تختار فكيف لى الاختيار ؟

شكرا للمساعدة

قام بنشر

السلام عليكم

حل آخر للفائدة

بفرض A1 تحتوي على تاريخ بداية الفترة و B1 تحتوي على تاريخ نهاية الفترة ولجمع الأيام بدون سبت وجمعة

المعادلة تصبح

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT("1:"&(B1-A1)+1))+(A1)-1)<6))

تحياتي

قام بنشر (معدل)
السلام عليكم

حل آخر للفائدة

بفرض A1 تحتوي على تاريخ بداية الفترة و B1 تحتوي على تاريخ نهاية الفترة ولجمع الأيام بدون سبت وجمعة

المعادلة تصبح

=SUMPRODUCT(--(WEEKDAY(ROW(INDIRECT("1:"&(B1-A1)+1))+(A1)-1)<6))

تحياتي

شكرا اخى الكريم على تفاعلك و لكن هل لى ان اتسال

كيف لى ان اعرف من المعادلة السابقة ان المستبعد من الايام هما الجمعه و السبت ؟

كيف لى اذا اردت ان استبعاد الاحد او الاثنين او اى يوم اخر من ايام الاسبوع فكيف لى تعديل معادلة ؟

فى انتظارك ردك و يفضل ان امكن ان يكون بالشرح حتى يمكننى تعديل المعادلة كيفما اشاء و شكرا

تم تعديل بواسطه ali fathi
قام بنشر

السلام عليكم

شكرا اخى الكريم على تفاعلك و لكن هل لى ان اتسال

العفو ياسيدي واتفضل اسأل

كيف لى ان اعرف من المعادلة السابقة ان المستبعد من الايام هما الجمعه و السبت ؟

جربها واختبرها على عينة بيانات وشوف النتيجة .

كيف لى اذا اردت ان استبعاد الاحد او الاثنين او اى يوم اخر من ايام الاسبوع فكيف لى تعديل معادلة ؟

توضييح

الدالة weekday بشكل افتراضي تعيد رقم

1 أحد

2 أثنين

3 ثلاثاء

4 أربعاء

5 خميس

6 جمعة

7 سبت

وانا في المعادلة كتبت 6 >

اقل من ستة يعني 6 و7 غير مشملولين

واذا اردت استبعاد يوم الأثنين كمثال بدل 6> تكتب 2<>

هذا بفرض استخدام الدالة بشكل افتراضي فالدلة يمكن تمرير لها قيمة 1 أو 2 أو 3

=WEEKDAY(A1)
=WEEKDAY(A1,1)
=WEEKDAY(A1,2)
=WEEKDAY(A1,3)

الأول والثاني افتراضي يعني اذا ما وضعت شي حيفترض 1

المعادلة الثالثة(تمرير رقم 2)

1 الأثنين

2 الثلاثا

وهكذا الى 7

المعادلة الرابعة (تمرير 3)

0 الأثنين

1 الثلاثاء

وهكذا الى 6

فأنت شوف بطريقتك اي شكل يناسبك لأستخدامه

تحياتي

قام بنشر

السلام عليكم

مشكور اخى الكريم على شرحك الوافي و لكن كيف لى ان اطبق هذه المعادلة على العمود باكلمه

المعادلة مثل اي معادلة عادي تضعها في الأول وتسحبها للأسفل

يعني مثلا معادلة

A1-B1=

كيف كنت حتطبقها على كامل العامود ؟

حيكون نفس الشي للمعادلة السابقة .

تحياتي

انشئ حساب جديد او قم بتسجيل دخولك لتتمكن من اضافه تعليق جديد

يجب ان تكون عضوا لدينا لتتمكن من التعليق

انشئ حساب جديد

سجل حسابك الجديد لدينا في الموقع بمنتهي السهوله .

سجل حساب جديد

تسجيل دخول

هل تمتلك حساب بالفعل ؟ سجل دخولك من هنا.

سجل دخولك الان
  • تصفح هذا الموضوع مؤخراً   0 اعضاء متواجدين الان

    • لايوجد اعضاء مسجلون يتصفحون هذه الصفحه
×
×
  • اضف...

Important Information