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

بن علية حاجي

الخبراء
  • Posts

    4358
  • تاريخ الانضمام

  • تاريخ اخر زياره

  • Days Won

    48

كل منشورات العضو بن علية حاجي

  1. السلام عليكم ورحمة الله أخي الكريم، أعتقد أن ما تريده غير ممكن (صعب المنال) لأن الدوال المختارة يمكن أن تعطي الأعداد المرجوة وبمجرد تغيير إحدى القيم تصبح النتائج خاطئة والعكس مثال على الصيغ التي وضعتها في ملفك المرفق أعطت نتائج غير صحيحة ولكن إذا غيرت القيمة 458,65 (مثلا) إلى القيم 458,63 أو 458,67 أو 458,69 تتحصل على النتائج المطلوبة... لذا أقترح عليك أن تضع الصيغ التي وضعتها في الملف في كل الخلايا إلا واحدة والتي تضع فيه الصيعة التالية : (القيمة الكلية) - (مجموع كل القيم الأخرى)... أو أن تستعمل خاصية "الخلية الهدف" (وهي تعتمد الفكرة نفسها)... تجد في الملف المرفق تغييرات على المعادلات التي وضعتها في ملفك المرفق باستعمال الفكرة الأولى مع إضافة حل آخر بالفكرة نفسها... ليست لي فكرة أخرى أخرى أقترحها عليك فمعذرة.... أخوك بن علية تحميل.rar
  2. السلام عليكم ورحمة الله أخي الكريم، لا أعرف طريقة لطباعة أعمدة دون أعمدة أخرى إلا باستعمال خاصية إخفاء الأعمدة غير المرغوب في طباعتها... وأقترح عليك إنشاء كود يقوم بعملية إخفاء هذه الأعمدة ثم طباعة الأعمدة المتبقية (المراد طباعتها) ثم إعادة إظهار الأعمدة المخفية... وليس لي حيلة أخرى... ربما الإخوة الذين لهم باع كبير في الإكسيل تكون لهم أفكار أخرى... أخوك بن علية
  3. السلام عليكم زرحمة الله أخي الكريم أبو أحمد سلمت يداك وبارك الله فيك وفي علمك والحقيقة أني من يطلب العذر والإذن منك في كل شيء ولإضافة حل آخر للمسألة يتمثل في المعادلة التالية (توضع في الخلية E4 ويتم سحبها للأسفل): =IF(ROW(1:1)<=$I$2;ROW(1:1);"") أخوكم ين علية
  4. السلام عليكم ورحمة الله هذا حل أول حسب ما فهمت من نص الموضوع... يتم تغيير العددين الموجودين في الخليتين U11 (عدد الطلبة الكلي) و U13 (عدد اللجان المراد تشكيلها) وبطريقة تلقائية يتم تشكيل اللجان وعدد الطلبة في كل لجنة ثم توزيع (تسجيل) أرقام اللجان أمام كل طالب حسب العدد الذي تم تعيينه في كل لجنة.... أخوكم بن علية ضبط معادلة.rar
  5. السلام عليكم ورحمة الله أخي الكريم، أقترح عليك الحل التالي بالملف المرفق باستعمال الدالة sumproduct ... أخوك بن علية تنسيق.rar
  6. السلام عليكم ورحمة الله أخي الكريم، حل أول في الملف المرفق أتمنى أن يفي المطلوب... أخوكم بن علية تقسيم.rar
  7. السلام عليكم ورحمة الله أخي الكريم، هذا حل آخر في الملف المرفق حيث تم تغيير معادلات العمود الأخير في ورقة "بحث" (الرقم 0 في عنوان العمود ضروري جدا) وهذه المعادلات تبحث عن اسم العميل المطلوب في نطاق متغير باستعمال الدوال INDIRECT، MATCH، INDEX (تجنبا لمعادلات الصفيف التي تبطئ الملف عموما) وتعطي هذه المعادلات أرقام الصفوف التي تحوي اسم العميل المعني بالبحث في ورقة "فاتورة" وتبحث هذه المعادلات في نطاق يصل إلى 60000 صف (ويمكن تمديده إلى أكثر)... أرجو أن يكون الملف مفيدة ويفي بالغرض المطلوب... أخوكم بن علية test 2ابوعثمان.rar
  8. السلام عليكم ورحمة الله أخي الكريم، لقد تم تطوير هذا الملف والتعديل على معادلاته لتبسيطها في موضوع سابق لـ SAFAA (وذُكر أنه تم نقل الموضوع من منتديات أخرى) ورابط الموضوع هو http://www.officena.net/ib/index.php?showtopic=40484&hl=&fromsearch=1... وتجد في المرفقات آخر التعديلات على الملف... أرجو أن تكون هذه التعديلات مفيدة... مع ملاحظة أنه قد تم فتح موضوع مثبت من طرف الأخ الحبيب عبد الله باقشير (خبور خير) يتناول الفكرة نفسها بشكل آخر مختلف وجميل جدا أيضا... أخوك بن علية ترتيب التلاميذ 3.rar
  9. السلام عليكم ورحمة الله أخي الكريم، بعد إذن أخي الحبيب أحمد زمان بارك الله فيه وجزاه الله عنا ألف خير وخير، تم تعديل المعادلات في ملفه المرفق لإمكانية تمديدها إلى الأسفل دون أخطاء... أخوك بن علية testابوعثمان.rar
  10. السلام عليكم ورحمة الله أخي الكريم، حاولت في الملف المرفق أن أقترب من المطلوب.... في شرحك للمطلوب كان ينبغي أن تضع لكل قيمة رقم العمود (حرف العمود) الذي يخصها مثلما فعلت للعمود AC الذي يمثل "قيمة استقطاعات أخرى من شيتات الأشهر"... والمعادلة التي استعملتها لجلب القيم هي معادلة واحدة لا يتعير فيها سوى رقم العمود (حرف) المناسب للقيمة المطلوبة والمعادلة هي (المتغير فيها لوّنته بالأحمر): =IF($G$4="";"";INDIRECT($G$4&"!$F$"&$F$4+6)) ((IF($G$4="";"";INDIRECT($G$4&"!$F$"&$F$4+6= حيث : G$G$4 : اسم شيت الشهر المعني $F$ (متغير) : يمثل عنوان عمود القيمة المطلوب من شيت الشهر المعني F$F$4+6 : يمثل رقم السطر للعامل المعني (F$F$4 : يمثل ترتيب العامل في القائمة و +6 لأن البيانات في شيتات الأشهر تبدأ بعد السطر السادس) ملاحظة : إن كانت هناك أخطاء في عناوين الأعمدة المناسبة للقيم المطلوبة ما عليك إلا تصحيح هذه الأخطاء أخوك بن علية Payroll Tax - 2011_5.rar
  11. السلام عليكم ورحمة الله أخي الكريم، معذرة مرة أخرى، لم أنتبه لمضمون الطلب الثاني كنت أعتقده فصل التاريخ في أوراق الشهور، وطلبك يخص ورقة Employee_Data وقد تم هذا المطلوب بتصحيح عمودي نتيجة الدالة VLOOKUP، الرقم 7 بالنسبة لتاريخ الميلاد والرقم 8 بالنسبة لتاريخ الالتحاق مع إضافة الدوال YEAR ، MONTH ، DAY على الدالة VLOOKUP حسب أعمدة اليوم والشهر والسنة للتاريخين... أخوك بن علية Social Insurance.rar
  12. السلام عليكم ورحمة الله أخي الكريم عيد مصطفى، لقد كانت إضافتك للمعادلات على الملف صحيحة وتدل على أنك فهمت جيدا مضمون ومغزى هذه المعادلات وطريقة عملها إلا أنه يوجد خلل بسيط جدا، وأعتذر منك لأن هذا إهمال مني في عدم شرحي للمعادلات، والخلل يكمن في أن بيانات العمال تبدأ في الورقة DATA من السطر "الثامن" بينما تبدأ البيانات في أوراق الأشهر من السطر "السابع" وفي المعادلات التي تقوم بمقارنة تاريخ الشهر للورقة مع تاريخ التحاق العامل في السطر نفسه باعتبار الدالة ()ROW في المعادلة وباختلاف الأسطر تقوم المعادلة بمقارنة تاريخ الشهر في ورقات الأشهر بتاريخ التحاق العامل الموجود في السطر الذي يسبقه من شيت DATA بدلا من تاريخ التحاق العامل نفسه (ومنه الخلل)... والتعديل الذي قمت به على المعادلات هو استبدال ()ROW بـ ROW()+1 حتى تتوافق أسطر بيانات أوراق الأشهر مع بيانات شيت DATA. وبالنسبة لفصل التاريخ إلى (يوم ، شهر، سنة) فالمعادلات التي وضعتها صحيحة كل الصحة والتعديل الذي قمت به قام يتصحيح نتائج هذه المعادلات... وفي الملف المرفق تجد المطلوب... ملاحظة: تم تحويل الملف إلى نسخة 2003 للإستفادة منه أكثر... أخوك بن علية Social Insurance.rar
  13. السلام عليكم ورحمة الله أخي الكريم، قمت بمحاولة للترتيب حسب أسماء الطلبة ولكن ظهر مشكل وهو أن بعض الأسماء غير محجوزة بالطريقة نفسها رغم أنها مكررة، ثم عدلت على هذا الترتيب وجعلته حسب الأرقام الجامعية للطلبة (وأتمنى أن لا يكون فيها المشكل نفسه)... وحضرت لك الكود التالي (باعتبار أن البيانات يبدأ حجزها من السطر الأول) : Sub hben() Dim I As Integer, DernLigne As Long DernLigne = Range("A" & Rows.Count).End(xlUp).Row Set MyRange = Range("$A$1:$A$" & DernLigne) For I = 1 To DernLigne Cel = Range("A" & I) Range("D" & I) = Application.WorksheetFunction.CountIf(MyRange, Cel) Next Range("A1:D" & DernLigne).Sort Key1:=Range("D1"), Order1:=xlAscending, Key2:=Range("a1") _ , Order2:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, _ Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2:= _ xlSortNormal Range("D1:D" & DernLigne).Clear End Sub وإذا أردت ترك عدد مرات تكرار هذه الأسماء في العمود D يمكن حذف السطر Range("D1:D" & DernLigne).Clear من الكود... في الملف المرفق تحد تطبيق هذا الكود على مثالك... أخوك بن علية example.rar
  14. السلام عليكم ورحمة الله أخي الكريم، إليك المطلوب في الملف المرفق بعد تغييرات طفيفة على كل معادلات أوراق الشهور ما يناسب هذا المطلوب... أخوك بن علية Payroll Tax - 2011_4.rar
  15. السلام عليكم ورحمة الله أخي الكريم، أقدم لك في الملف المرفق حلين (باللون الأحمر) الحل الأول هو معادلة تعيين باقي قسمة الأعداد على 1000 للحصول على الأرقام الثلاثة الأخيرة لكل عدد، والحل الثاني تم باستعمال الداليتن Index و MATCH... أخوك بن علية Ques.rar
  16. السلام عليكم ورحمة الله أخي الكريم، إليك الحل في الملف المرفق باستعمال دالة DATEDIF... أرجو أن تجد في الملف بعض المطلوب... أخوك بن علية حساب الوقت بشروط.rar
  17. السلام عليكم ورحمة الله أخي الكريم، هذا حل في الملف المرفق (بنسخة 2003) باستعمال الدالة DATEDIF ... أخوك بن علية منظومة رواتب شهر2.rar
  18. السلام عليكم ورحمة الله أخي الكريم، يمكن تجاهل الفراغات بإضافة دالة حذف الفراغات للمعادلة في طرفيها، أما تجاهل حروف أخرى من الكلمات فهذا (إن كان ممكنا!!!) ليس بمقدوري... ولتجاهل الفراغات تكتب معادلة التنسيق الشرطي على الشكل: =TRIM(INDEX($D:$D;SMALL(IF($A$1:$A$1000=$A2;ROW($A$1:$A$1000));1)))<>TRIM(INDEX($D:$D;SMALL(IF($A$1:$A$1000=$A2;ROW($A$1:$A$1000));2))) والله أعلى وأعلم
  19. السلام عليكم ورحمة الله أخي الكريم، هذا ملف آخر قمت فيه بإنشاء قائمة منسدلة دون تكرارات لأرقام السلفة بالمعادلات... أخوك بن علية File2.rar
  20. السلام عليكم ورحمة الله أخي الكريم، هذه محاولة في الملف المرفق حيث تم إضافة عمود (ملون بالأصفر للتقليل من معادلات الصفيف في الملف لأن هذه المعادلات تبطئ عمل الملفات في حال كثرتها ويمكن إخفاؤه)... أتمنى أن يفي هذا العمل بالمطلوب... أخوك بن علية File1.rar
  21. السلام عليكم ورحمة الله أخي الكريم، هذه محاولة باستعمال التنسيق الشرطي بالمعادلة : =INDEX($D:$D;SMALL(IF($A$1:$A$1000=$A2;ROW($A$1:$A$1000));1))<>INDEX($D:$D;SMALL(IF($A$1:$A$1000=$A2;ROW($A$1:$A$1000));2)) بعد تحديد النطاق المراد مثلا A1:D1000 وتطبيق التنسيق الشرطي بالمعادلة السابقة مع اختيار لون التنسيق (الأزرق مثلا)... أخوك بن علية New ورقة عمل Microsoft Excel.rar
  22. السلام عليكم ورحمة الله أخي الكريم مصطفى، إن شاء الله تكون القلوب عند بعضها دائما، وقد فتحت صفحة الموضوع قبل أن تضع ردك وتعلم أن المنتدى لا يتوفر على خاصية التحديث التلقائي لصفحاته مثل الكثير من المنتديات -وهذا طلب ألتمسه من مسؤولي المنتدى- وقد كنت أعمل على الملف أثناء كتابتك هذا الرد ولو علمت أو اطلعت على ردك قبل أن أضع ردي لما كتبت ردي، والعمل الذي قمت به في ملفك المرفق دليل على فهمك الجيد للمعادلات المدرجة وكيفية عملها... المهم أن ما قمت به جميل ورائع... أخوك بن علية
  23. السلام عليكم ورحمة الله أخي الكريم، أولا: أقول إنك لم تزعجني البتة، وتجدني إن شاء الله في الخدمة متى استطعت إلى ذلك... ثانيا : فيما يخص المطلوب الجديد قمت بإضافة عمود جديد في الورقة DATA عنونته بـ "تاريخ الانضمام الرسمي وفقا لوثيقة التأمينات" ووضعت هذا التاريخ شرطا للدالة في عمود "التأمينات" في أوراق الشهور لظهور مبلغ التأمين في هذه الأوراق... ثالثا : فيما يخص شرح الدالتين الأولى : =INDIRECT("DATA!"&ADDRESS(MATCH($C35;DATA!$C:$C;0);MATCH($A$3;DATA!$3:$3;0)+COLUMN()-6)) الثانية : =IF(OR(DATE(2011;$A$45;1)<INDIRECT("DATA!$H$"&MATCH($C36;DATA!$C:$C;0));DATA!$A36="");"";DATA!O36+DATA!P36) فالأولى : تعطي مضمون الخلية من ورقة DATA الموجودة في السطرالذي رقمه (MATCH($C35;DATA!$C:$C;0 (أي السطر من العمود C من شيت DATA الذي يحوي الاسم الموجود في الخلية C35 من ورقة الشهر) والعمود الذي رقمه MATCH($A$3;DATA!$3:$3;0)+COLUMN()-6 (التي تبحث عن رقم عمود اسم الشهر الموجود في الخلية المطلقة A3 في السطر 3:3 من شيت DATA مضافة إليه الرقم COLUMN() - 6 وقد وضعت هذه الدالة من العمود F إلى العمود K ويعطي هذا الرقم ستة أعداد من 0 إلى 5)... ويمكن التأكد من عمل المعادلة باستعمال خاصية "تقييم المعادلة"... أما الثانية : تقوم بجمع الخليتين O36 و P36 من شيت DATA شرط أن يكون أول الشهر أكبر من أو يساوي تاريخ التحاق الموظف الموجود في السطر 36 من العمود H في شيت DATA أو كانت الخلية A36 من شيت DATA (اسم الموظف) غير خالية... وإذا كان الشرطان غير محققين فتترك فراغا... أتمنى أني وفقت في استيفاء المطلوب أولا ثم في شرح المعادلات ثانيا... أخوك بن علية Payroll Tax - 2011_3.rar
  24. السلام عليكم ورحمة الله أخي الكريم، لقد قمتَ بتغيير تاريخ التحاق الموظف رقم 30 من 1/6/2011 إلى 1/3/2011 ولكنك لم تقم بتغيير معلومات (فيما يخص الرواتب) هذا الموظف في ورقة DATA من شهر مارس إلى غاية شهر مايو (هي قيم معدومة) لهذا ظهر لك المشكل في شهر مارس (وفي شهر أبريل وشهر مايو أيضا)... والله أعلم
  25. السلام عليكم ورحمة الله أخي الكريم، تم تصحيح خطأ ارتكبته في الملف (لم يتم تغيير معادلات العمود 25 "صافي المرتب")... أريدك أن تراقب العمودين 22 و 24 لاحظت أنه لا توجد بهما معادلات وقيمهما مُدخلة يدويا... أخوك بن علية Payroll Tax - 2011_2.rar
×
×
  • اضف...

Important Information