اذهب الي المحتوي
أوفيسنا
بحث مخصص من جوجل فى أوفيسنا
Custom Search

توزيع عدد ساعات الوقت الاضافى بشرط معينه


إذهب إلى أفضل إجابة Solved by طارق محمود,

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

هل يمكن توزيع عدد ساعات الوقت الاضافى  مقابل كل يوم عمل ويرمز له  X

بشروط معينه كما هو موضح بالمرفق

للعلم عدد الكروت 110 كارت في الشهر الواحد

وعدد الاشهر 12 شهر بكل شهر 110 كارت

 

  • Like 1
رابط هذا التعليق
شارك

  • الردود 54
  • Created
  • اخر رد

Top Posters In This Topic

السلام عليكم اخ طارق

جزاك الله خير

لك ما تشاء

واحب ان اضيف ان توزيع الساعات ينحصر فى رقم صحيح

من 1 الى 3

بمعنى  ان اكثر عدد ساعات فى اليوم 3 ساعات

جزاك الله خير

رابط هذا التعليق
شارك

السلام عليكم

أخي العزيز

بالمرفق ستجد الآتي

تم عمل التعديلات التالية في الإدخال

(1) بدلا من تغيير معادلات كلا من إسم العامل : الإدارة/المنطقة والوردية N/U/ هكذا ،،

الآن بمجرد وضع رقم العامل فسيتغير تلقائي كل تلك الحقول الصفراء  - جرب تضع S786 لتغيير رقم العامل أو أنظر شييت 2

 

(2) إضافة قائمة منسدلة للـفترة الخضراء ، وقائمة منسدلة أخري لأرقام العمال ، الخضراء أيضا لتختار منهما

 

(3) بمجرد إختيار الفترة سيتم أوتوماتيك تعديل البيانات الخاصة بالعامل في تلك الفترة (من ورقة Inbut data) ، أي ليس عليك تغيير معادلات كل عامل علي حدي

 

(4) إضافة ماكرو (كود) تلقائي يتم تفعيله بمجرد ماتدخل للشيت (1) ، يعمل فقط علي الشيت (1) مؤقتا يقوم بتقسيم الساعات كما تحب

 

أنتظر رأيك لأن الملف مازال به ترتيبات كثيرة

3.rar

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم  اخ طارق

اضفاتك او بالاحرى تجديد للعمل بشكل جذرى رائع رائع

ايضاح

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

هل يمكن عند ما تكون رمز N فى E 2 لا يتم وضع  وقت اضافى  مقابل  اخر X  ( اخر يوم عمل )

سؤال هام عند اختبار الرقم من اين يتم استقدام البيانات ( عدد الساعات والورديه )

 

جزاك الله خيرا اخ طارق

فى حفظ الله

رابط هذا التعليق
شارك

السلام عليكم
اخي الكريم
هل معنى اختيار التاريخ من قائمة منسدله انى لست فى حاجه الى جميع الاشهر وسيكون العمل على شيت رفم واحد بتغير الرقم والتاريخ
نعم أخي ، إن كان كما فهمت تريد الطباعة فقط فليس من المهم عمل شيت لكل شهر ولا عمل جدول لكل موظف ممكن تكتفي فقط بالشيت رقم (1) وتطبع ثم تغير وتطبع وهكذا
لأن البانات محفوظة بالفعل بالشيت الأول Inbut data وشيت الأسماء NAME
 
هل يمكن عند ما تكون رمز N فى E 2 لا يتم وضع  وقت اضافى  مقابل  اخر X  ( اخر يوم عمل )

يمكن ذلك بسهولة بتغيير الكود

ولكن في مثالنا الأول العامل لديه 29 ساعة ولديه 10X فقط 

إذا استثنينا الأخيرة فسيكون لديه 9X فقط  = 9*3 =27 أي أنه سيكون لديه يومان بهما 4 ساعات وليس 3

إن كان هذا يناسبك سأعدل لك الكود

 

سؤال هام عند اختبار الرقم من اين يتم استقدام البيانات ( عدد الساعات والورديه )

يمكنك معرفة ذلك بنفسك كالتالي

قف علي الرقم ثم من قائمة بيانات Data ثم Data Validation

ستجد أن الإختيار محصور في نطاق  List إسمه Lab_NO

وبالبحث عن هذا النطاق Lab_NOعن طريق Ctrl-F3

ستجد أنه = =NAME!$C$2:$C$10

أي أنه المجال =$C$2:$C$10 من الورقة =NAME

رابط هذا التعليق
شارك

السلام عليكم اخى العزيز

لابد ان اخر يوم عمل  عندما يكون n  الا يكون له وقت اضافى 

ويوجد شرط اخر الا يزيد عدد الساعات عن 3 ساعات فى اليوم  وبذلك  يمكن الا نرتبط  ب 29  فى النقص

ورجاء جعل  جدول لكل موظف بعدد 110 جدول  فى الشهر الواحد

وفى نفس  الوقت محتاج  اثنا عشر شهر .... الا اذا كان من الصعوبه ذلك

فيمكن جعل شهر واحد بعدد 110 جدول ليكون لكل موظف ويتم التغير فى التاريخ

جزالك الله خير  ...... جزاك الله خير اخى العزيز

رابط هذا التعليق
شارك

السلام عليكم

اخى طارق

بعد التحيه

مرفق الملف بعد التعديل ليكون لشيت واحد بعدد 120 جدول ل 120 شخص

اذا امكن زياده العدد برجاء اعلامى كيف يكون الاضافة

جزاك الله خير

TIME SHEET 120.rar

رابط هذا التعليق
شارك

السلام عليكم

 

أخي الكريم

تم عمل التعديلات التالية
 
(1) أرقام العمال ستؤخذ أوتوماتيكيا من المجال Lab_NO لاداعي للقائمة المنسدلة
 
(2) الفترة ستختارها مرة واحدة فقط (للعامل الأول) ثم ستنتقل أوتوماتيكيا لباقي العمال ، فلاداعي للقائمة المنسدلة لباقي العمال أيضا
 
(3) من واقع فهمي للمعادلة في ملفك الأول ،فلن يتم حساب أي ساعات إلا إذا كانت الخلية E2 (أو مثيلاتها) تحتوي علي D  أو U  أو N
فمثلا ستجد عمالا ليس لهم ساعات بعد تشغيل الكود لأن خليتهم  التي مثل E2 تحتوي علي AS 
 
(4) تم تعديل الكود ليناسب طلباتك وشرط الــ N
 
(5) توزيع الساعات سيأخذ وقتا (قد يصل لدقائق)
لذلك جعلتها علي زر لكيلا تتعطل كلما دخلت للورقة
 
تفضل المرفق

TIME SHEET 120_2.rar

  • Like 1
رابط هذا التعليق
شارك

السلام عليكم اخى العزيز طارق

جزاك الله خير على مجهودك ووقتك الثمين ....... ويبقى شئ واحد لم استطيع ان اوضحه

 عند وجود الــ N..... لا يتم اضافه وقت اضافى فى اخر يوم عمل فى كل فترة عمل والذى يرمز اليه X

ومعنى ذلك

E

E

X

X

X

E

E

X

X

X

X

E

E

 هل يمكن تعديل ذلك ..... ارجو ان اكون قد استطعت توضيح الامر

 

جزاك الله خيرا على مجهودك

 

 

 

رابط هذا التعليق
شارك

اخ طارق

اول كارت ليس به توافق بين عدد الساعات فى  D2  وهو 29 ساعه

وما يتم اضافته من وقت اضافى  وهو 28 ساعه

بلاضافة الى N3 وهى الإدارة/المنطقة ليس مرتبط ب C4 كالاسم

شاكر لك

رابط هذا التعليق
شارك

السلام عليكم

أخي الكريم

(1) موضوع تضبيط الـ X سيأخذ بعض الوقت لانشغالي حاليا

 

(2) أول كارت لن يكون به توافق أبدا في حالة أن الخلية E2 تحتوي علي N

.... تعالي نفكر بهدوء

هذا العامل لديه 29 ساعة ولديه 10X مقسومة علي 5 ، 5 وبعد الأخذ بموضوع N  سيكون الخلايا القابلة للتقسيم 4 ، 4   صح؟

أي أنك تريد تقسيم 29÷8 ولايزيد الناتج عن 3 ساعات  :wallbash: 

خليتني أخبط رأسي بالحيط

 

(3) تم ربط الإدارة بالإسم وسأرفقها لك بعد تضبيط الـ X 

رابط هذا التعليق
شارك

السلام عليكم

اخى العزيز طارق

هذا العامل لديه 29 ساعة ولديه 10X مقسومة علي 5 ، 5 وبعد الأخذ بموضوع N سيكون الخلايا القابلة للتقسيم 4 ، 4 صح؟

أي أنك تريد تقسيم 29÷8 ولايزيد الناتج عن 3 ساعات  ...

الحل انه  لا تقبل الخليه اكثر من 3 ساعات وقت اضافى

وهيكون الناتج 3/8 =   24

للانه لو عمل 8 وتم حذف 2 هيكون 6 ايام

هيكون ما يستحقه  18 ساعه حتى ان كان ما له 29 ساعه

اعلم انى اثقلت عليك

فى حفظ الله

 

 

رابط هذا التعليق
شارك

السلام عليكم

اخى طارق كان الله فى عونك

جزالك الله خيرا ... على مجهودك

فعلا كل شئ تمام كما ينبغى

وجعلة الله فى ميزان حسناتك

رابط هذا التعليق
شارك

السلام عليكم

الاستاذ طارق محمود

كما عودتنا رجل المهمات الصعبه

جزاك الله كل خير وبارك فيك

تقبل مروري

رابط هذا التعليق
شارك

السلام عليكم

سألني أخي العزيز /أبوحنين (منشئ الموضوع) علي الخاص السؤال التالي

 

طلب اخير : ممكن توضيح المعادلة
   (
OFFSET('Inbut data '!$A$1;RR;CC+A8=

واين الربط بينها وبين N4  ( الفترة  )

ولما رأيت أن الإجابة قد تفيد الإخوة ممن يتصفحوا الموضوع ففضلت أن أضع الإجابة هنا وليس علي الخاص

رابط هذا التعليق
شارك

طلب اخير : ممكن توضيح المعادلة

   (OFFSET('Inbut data '!$A$1;RR;CC+A8

واين الربط بينها وبين (N4) الفترة

 

الإجابة علي هذا السؤال ستكون طويلة وتحتاج تركيز سأقسمها أقسام

 

القسم الأول:

يلزمك معرفة المدي الديناميكي أو Dynamic Range

ففي هذه المعادلة تم استخدام هذه الخاصية (المدي الديناميكي) مرتين RR , CC

وكما اتفقنا سنحاول تفتيت المشكلة لأصغر أجزاء ممكنة ثم تتغلب علي كل جزء منفصلا

 مثلا في حالتنا هذه المعادلة  سنتخيلها هكذا     OFFSET(X;RR;CC+A8)

وشرحنا هذه الدالة سابقا وهي تعني أنها تأتي لك بمحتوي خلية منسوبة للأخري ولنسمي هذه الأخري خلية المرجع X

أي أن المعادلة ستأتي بالخلية التي تبعد عن الخلية A1 في الورقة "Inbut data" بمقدارRR صفوف  ، CC+A8 أعمدة

 

نرجع لموضوع المدي الديناميكي

المدي أو النطاق في الإكسل نوعين ثابت و ديناميكي

الثابت هو نطاق ثابت كأن تسمي مجموعة خلايا Lab_NO كما فعلنا ليسهل الرجوع لها في المعادلات

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

مثال: جرب ذلك ، يمكنك تسمية مجال ديناميكي r مثلا هكذا  =ROW()

وبعدها في أي مكان في الصفحة أو في الملف تكتب =r فقط تجدها تساوي رقم الصف الذي أنت فيه

 

القسم الثاني:

في الملف الخاص بك ، في الورقة 1، تلاحظ أنك قمت بتثبيت عدد الصفوف لكل عامل 40 صف

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

أي إذا كان في الصف من 1:40 فهو العامل رقم 1

وإذا كان في الصف من 121:160 فهو العامل رقم 4 وهكذا

وعلي هذا فالصف مثلا 138 يحتوي بيانات العامل 4

كيف نستفيد من هذا

إذا قسمنا رقم الصف ÷ 40 ستأتي النتيجة 138÷40 = 3.45

الصحيح منها 3 ، أي أن رقم العامل هو 4

 

القسم الثالث:

للتعرف علي النطاقات المسماة في الملف إضغط Ctrl-F3

ولطباعة النطاقات المسماة وعناوينها في الصفحة لديك

إختر مكان فارغ في الورقة

ثم من قائمة Formula   ثم Define Names ثم Use in Formula   ثم آخر خيار Paste Names

إذا ضغطت Paste List ستجد قائمة مثل هذه

All_Labor   =NAME!$C$2:$U$10

CC               =MATCH(cycle,'Inbut data '!$1:$1,0)-5

cycle           ='1'!$N$4

Lab_NO      =NAME!$C$2:$C$121

p_riod         ='Inbut data '!$ST$3:$ST$16

RR               =MATCH(INDEX(Lab_NO,INT(ROW()/40)+1),'Inbut data '!$C:$C,0)-1

 

 

القسم الرابع:

لاحظ في آخر القسم الثالث ، المدي RR وهو معادلة طويلة نسبيا

سنلجأ لنفس الطريقة سنحاول تفتيت المشكلة

MATCH(INDEX(Lab_NO,INT(ROW()/40)+1),'Inbut data '!$C:$C,0)-1

MATCH(X,Y,0)

وهذه الدالة MATCH كما اتفقنا مكونة هي الأخري من 3 عوامل تبحث عن الأول في الثاني بشرط الثالث وترجع رقمه في المجال

أي أنها تبحث عن X في المجال Y  بشرط التطابق (المعامل الثالث فقط يقبل False , True وهذه تكافيء  0  أو 1)

0 أو False تعني التطابق أي يعطي خطأ إن لم يجدها بالضبط

أي أنه إذا كان الرقم X هو الخامس في مجال Y فسترجع الرقم 5

 

أما X فهي = INDEX(Lab_NO,INT(ROW()/40)+1)

فإذا إستخدمت هذه المعادلة في الصف 138 مثلا كما سبق وأشرنا

فسيرجع لنا المعامل الثاني (الأزرق) بالصحيح من قسمة 138÷40 ثم يضيف 1  = 4

إذن هذا صف من صفوف العامل رقم 4

INDEX ترجع لي بالرقم الرابع من المجال Lab_NO

فلو كان العامل الرابع في المجال Lab_NO رقمه مثلا 26376 فستعود الـ X  بهذا الرقم

إذن المدي RRعند الصف 138 مثلا سيكون =  MATCH(X,Y,0) أي = ترتيب هذا العامل (الذي أتانا رقمه من الدالة Index) ، ترتيبه في العمود C من الورقة "Inbut data"

 

بالرجوع للقسم الأول: والمعادلة الرئيسية

   (OFFSET('Inbut data '!$A$1;RR;CC+A8

فهذه الدالة ستأتي لك بالخلية التي تبعد عن الخلية A1 في الورقة "Inbut data" بمقدارRR صفوف  ، CC+A8 أعمدة

بناءا علي ماسبق سيكون أسهل عليك فهم المجال CC ولماذا أضفنا عليه قيمة الخلية A8

 

أرجو أن أكون وفقت في شرح هذه المعادلة

رابط هذا التعليق
شارك

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

زائر
اضف رد علي هذا الموضوع....

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

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

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



×
×
  • اضف...

Important Information