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

بن علية حاجي

الخبراء
  • Posts

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

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

  • Days Won

    48

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

  1. السلام عليكم ورحمة الله أخي الكريم، قبل أن أحاول الإجابة على تساؤلاتك، أبدأ بتساؤل أخي الحبيب "أحمد غانم" والذي نصه "هل يمكن توسعة صفحة ادخال البيانات و بالتالي توسعة صفحة البحث التي يتم ترحيل البيانات إليها لتشمل اكثر من صفحة واحدة ؟ هل يمكن عمل ذلك؟" وهو إجابة أيضا على جزء من تساؤلك 3... نقول وبالله التوفيق إن توسعة صفحة البحث التي يتم ترحيل البيانات إليها ممكنة جدا (في الملف المرفق تم تمديدها من السطر 38 إلى السطر 224) ويستحسن إضافة الصفوف (دائما) قبل (فوق) السطر الأخير (في الحالة التي ذكرتها تم إضافة الصفوف قبل السطر 38) للمحافظة على المعادلات في سطور المجاميع (وإذا تم إضافة الصفوف بعد السطر الأخير لا بد من تعديل معادلات المجاميع حسب النطاق الجديد)... مع ملاحظة أني أضفت كودا لإخفاء الصفوف التي لا تحتوي على بيانات مرحلة (فارغة) ولإظهارها يجب تعطيل السطر: Range(Cells([G2], 2), Cells([G3], 2)).EntireRow.Hidden = True في كود حدث الورقة "البحث" بإضافة العلامة ' قبل هذا السطر ثم بعد إدراج الصفوف المراد إضافتها (حسب الفكرة السابقة) يتم إعادة توظيف هذا الأمر في الكود بحذف العلامة ' بالنسبة لتساؤلاتك: 1) عند البحث من خلال أشهر لا توجد بالشيت الأول تظهر علامة الخطأ N/A# بمعنى عند الاستعلام من 1/1/2012 الى 31/3/2012 يظهر الخطأ، هل في طريقة لجعل الخلايا فارغة عند البحث بتواريخ لا توجد بالشيت الأول... تم في الملف المرفق بتعديلات على المعادلات. 2) أما سؤالك (الذي لم أفهمه من تساؤلاتك "عند عملية البحث دائماً يظهر التاريخ 28/06/2012 في البداية" ما هو القصد منها؟ ) فالمقصود كان بالملف الذي ارسلة استاذنا القدير ( طارق محمود ) فكان هذا التاريخ يبقى في كل عملية بحث وحتى لو لم يتم اختيار شهر 6 ... هل أقول إن المشكل قد زال؟ 3) تساؤل آخر يدور في ذهني وهو انه شهرياً سيتم اضافة ادخالات ( ايصالات يدوية ) جديدة للشيت الاول فكيف ستتم معالجتها عند عملية البحث خاصة ان الصفوف محدودة ؟، وفي حالة تم اضافة صفوف جديدة كيف سيتم معالجة عمليات الجمع والتواقيع بآخر الجدول؟... في ورقة "البحث" قد تمت الإجابة عليه بالأعلى... بالنسبة للشيت الأول "كشف تفريغ ايصالات يدوي" يمكن أن نطبّق الفكرة نفسها التي استعملت في شيت "البحث" وقد تم تمديد البيانات في هذه الورقة إلى 1000 صف (يستحسن إدراج الصفوف الجديدة في الورقة قبل -فوق- السطر الأخير تجنبا للتعديل على معادلات المجاميع)... بعد إدراج الصفوف في ورقة "البحث" نمدد المعادلات من العمود B إلى العمود S وفي الورقة "كشف تفريغ ايصالات يدوي" لا ننسى تمديد المعادلات في الأعمدة E و F و G إلى آخر سطر... 4) كذلك عند البحث من خلال فترة معينة وكانت النتيجة مثلاً خمسة صفوف ، هل توجد معادلة تلغي الصفوف الفارغة وتبقي الصفوف الخاصة بالمجموع والتواقيع ؟... تم الحل باستعمال كود بسيط وُضع في حدث ورقة "البحث" أرجو أني وفقت في شرح والإجابة على كل التساؤلات.... ملاحظة : الملف المرفق تم تحويله إلى نسخة إكسيل 2003 إذا وجدت بعض الأخطاء في بعض دوال أو بعض التنسيقات التي لا تقبلها هذه النسخة يجب تصحيحها حتى تتماشى مع هذه النسخة.... أخوكم بن علية الملف المرفق: الكشف اليدوي4.rar
  2. السلام عليكم ورحمة الله أخي الحبيب محمود، ربما تقصد المعادلة الموجودة في الخلية E2، الأمر راجع ربما لأنك فتحت الملف بإصدار 2003 وقد جعلتُ في هذه المعادلة النطاق يمتد من السطر 7 إلى السطر 100000 التي لايقبلها إكسيل 2003 لأن عدد الأسطر في ورقة إكسيل 2003 هو 65535... لذا (هذا ما أعتقده) أعطت المعادلة خطأ النطاق !REF# والله أعلى وأعلم... أخوك بن علية
  3. السلام عليكم ورحمة الله أخي الكريم، هذا ملف أخي الحبيب طارق بعد تعديل طفيف جدا على معادلتين فيه وتم حذف القوائم المنسدلة للتواريخ ليتم إدخالها يدويا في الخليتين D2 و D3 في ورقة "البحث"... الذي لم أفهمه من تساؤلاتك "عند عملية البحث دائماً يظهر التاريخ 28/06/2012 في البداية" ما هو القصد منها؟ أخوك بن علية الكشف اليدوي3.rar
  4. السلام عليكم ورحمة الله أخي الكريم، هذا حل آخر للمسألة باستعمال معادلات صفيف لأخي العزيز والحبيب يحيى بتصرف طفيف لتتلاءم مع مسألتك... نتيجة التكرارات (حسب الرقم الوظيفي و حسب الأسماء الثلاثية) تجدها في جداول (التي يمكن تمديدها حسب أكبر تكرار للبيانات)... وجلب التكرارات في الملف لبيانات من 10000 سطر (والتي يمكن تمديدها في المعادلات)... أرجو أن يكون الحل مناسبا... أخوك بن علية جلب التكرارات.rar
  5. السلام عليكم ورحمة الله إخواني الكرام، هذا حل آخر بوضع المعادلة التالية في F3 ثم سحبها إلى اليسار ثم إلى الأسفل.... =IF(OR(LEN($E3)<=COLUMN(B$1)-1;MOD(1*LEFT($E3;COLUMN(B$1));10)=0);"";LEFT($E3;COLUMN(B$1))) تطبيقها في الملف المرفق... أخوكم بن علية تحليل ارقام4.rar
  6. السلام عليكم ورحمة الله أخي الكريم، وأستسمح أخي الحبيب طارق في إعطاء حل أول للمسألة بوضع كل المعادلات المناسبة (ما عدا في المواضع التي لم أفهم القصد منها) للعمليات الإحصائية مع بعض التعديلات في الحجز (أسماء الأوراق، أسماء المادتين 1 و 2 وغيرها) لتتناسب مع المعادلات المكتوبة باستعمال الدالتين COUNTIFS و INDIRECT (وكنت قد حضرت الملف باستعمال الدالة SUMPRODUCT بدلا من COUNTIFS وسرعان ما غيرتها لأن أبطأت الملف كثيرا باعتبارها دالة صفيف)... يبقى الالتزام ببعض الكلمات المحجوزة مثل : الجنسيات [مصري (للمصريين)، عربي (للعرب غير المصريين)، غير عربي أو ذكر الجنسية (لغير العرب)] أو الديانات [مسلم (للمسلمين)، مسيحي (للمسحيين)، أخرى أو ذكر الديانة (لغير المسلمين والمسيحيين)] أو المادتين الأولى والثانية في أوراق الصفوف وفي جداول التقريرات (الإنجليزية، الفرنسية، الألمانية، الإيطالية، الإسبانية، معفى]... أسماء الصفوف في جداول التقريرات تم حجزها مماثلة ومطابقة (تمام المطابقة) لأسماء الأوراق المقابلة... في ورقة "الميزانية" لم أفهم القصد من "صغار السن" لذا تجدني تركت الفراغات في الجدول دون معادلات (يمكنك إضافة المعادلات المناسبة لهذه الفراغات حسب الأعمدة الأخرى أو الأوراق الأخرى حسب الشروط المطلوبة في الجدول...)... في تقرير "القيد/الديانة/الجنسية" أضفت عمودين (ملونين بالأصفر) في "توزيع التلاميذ حسب حالة القيد‎" يخصان القيد "ناجح ومنقول" (يمكنك حذفهما إذا لم تكن بحاجة إليهما).... أرجو أن التعديلات والإضافات التي وضعتها مناسبة للمطلوب... أخوك بن علية الصفوف 2013-2012_2.rar
  7. السلام عليكم ورحمة الله أخي الكريم مرعي السيد، المعادلة التي كتبها أخي الكريم أبو حنين هي معادلة صفيف وتقوم بإرجاع مضمون الخلية من النطاق المسمى Date (العمود B من الورقة Sheet1) حسب رقم السطر التصاعدي حسب الشرط المطلوب name=$D$2 الذي تعطيه الدالة (الجزء من المعادلة) : 100000-SUMPRODUCT(LARGE((name=$D$2)*(100000-ROW(name));ROWS(B$4:B4)))-1 وإذا كان عدد تكرار الاسم الموجود في خلية البحث (الخلية D2 من Sheet2 -القائمة المنسدلة-) أصغر من عدد الأسطر التي تم تمديد المعادلة فيها فإن المعادلة تعطي "فراغا" (خلايا فارغة) تجنبا لنتيجة الخطأ ERROR الذي تعطيه المعادلة إذا لم يكن هذا الشرط موضوعا في المعادلة... والمعادلة (وتبقى معادلة صفيف) التي تم حجزها في الخلية B5 من Sheet2 يمكن اختصارها بالشكل التالي: =IF(COUNTIF(name;$D$2)<ROW($A1);"";INDEX(date;SMALL(IF(name=$D$2;ROW(name)-1);ROW($A1)))) ثم (بعد تأكيدها بالضغط على CTRL+SHIFT+ENTER) يتم سحبها إلى الأسفل... وتطبيق المعادلة المختصرة تجده في الملف المرفق التالي: طلب شرح معادلة صفيف.rar أخوك بن علية
  8. السلام عليكم ورحمة الله أخي الكريم مصطفى، في الملف المرفق الجديد قمت بتبسيط لأجزاء من المعادلات في الملف المرفق السابق... أخوك بن علية Previous & Next date_3.rar
  9. السلام عليكم ورحمة الله أخي الكريم عيد مصطفى، قمت بتغيير على المعادلات لتجيب على المطلوب في جميع الحالات (المعادلتين في C3 و C7 المتعلقة بالخلية D5 هي نفسها الموجودة في F3 و F7 المتعلقة بالخلية G5 على الترتيب)... أرجو أني وُفقت في المطلوب حسب فهمي للمسألة... أخوك بن علية Previous & Next date_2.rar
  10. السلام عليكم ورحمة الله أخي الكريم مصطفى، تجد في الملف الملف المرفق حلا لمسألتك باستعمال الدالة DATE مع الدالة الشرطية IF وإن شاء الله ستجد حلولا أخرى من طرف إخوتنا الكرام... أخوك بن علية Previous & Next date.rar
  11. السلام عليكم ورحمة الله أخي الكريم، في الملف المرفق حل أول باستعمال الدالة OFFSET أرجو أن يكون فيه بعض من المطلوب... أخوك بن علية Book1.rar
  12. السلام عليكم ورحمة الله أخي الكريم، وضعت حلين في الملف المرفق مع تصحيح معادلات حساب الرصيد في الجدول.... أخوك بن علية myBook.rar
  13. السلام عليكم ورحمة الله أخي الكريم إبراهيم تساءلت عن خطأ المعادلة في العمود للأرقام التسلسلية ولم تسأل عن الأصفار في الأعمدة الأخرى، والنتائج كلها صحيحة لأن شروط المعادلات في كل الأعمدة هو التاريخ المحصور بين الخلية B4 (التاريخ الأدنى) و G4 (التاريخ الأعلى) وبما أن هاتين الخليتين فارغتين فإن المعادلة تبحث عن التاريخ المعدوم (الخلايا الفارغة من العمود B من ورقة Data) وهو يبدأ من السطر 4 في الورقة Data والعمود A من هذه الورقة مملوء بأرقام تسلسلية لذا تجد أن المعادلة أعطت أرقاما تسلسية في العمود الأول وأصفارا في الأعمدة الأخرى... وفي الملف المرفق وضعت ملفين الأول أضفت معادلة للأرقام التسلسلية التلقائية في العمود A من الورقة Data حسب مضمون العمود B والملف الثاني صححت فيه المعادلة بإضافة شرط حسب مضمون الخليتين B4 و G4... أتمنى أن يكون الشرح مفهوما والملف المرفق مفيدا... أخوك بن علية SEC.rar
  14. السلام عليكم ورحمة الله أخي الكريم مصطفى، لتمديد المعادلة المقترحة من أخي العزيز محمود على الأسطر الأخرى يكفي تغيير المعادلة من الشكل : =SUM(IF(data<=U2;data2)) إلى الشكل: =SUM(IF(data<=$U$2;data2)) ثم تغيير معادلة النطاق المسمى Data2 بالمعادلة : ='Cash Flow W.P (2012)'!$E8:$T8 بدلا من المعادلة: ='Cash Flow W.P (2012)'!$E$8:$T$8 وأنبه أخي الكريم محمود أن الدالة SUMIF شغالة في كل نسخ الأوفيس 2003 أو 2007 أو 2010 أو 2013 ويمكن استبدال المعادلة الأولى (معادلة الصفيف) بالمعادلة (عادية): =SUMIF(data;"<="&$U$2;data2) بينما الدالة SUMIFS لا تعمل إلا في النسخ الجديدة للأوفيس (2007 ، 2010 ، 2013)... أخوكم بن علية
  15. السلام عليكم ورحمة الله أخي الكريم سعيد والله نجحت في الاختبار بتفوق... واعذرني على الخلل في الملف الذي أرسلته في الرد رقم 08 لأني عملت الملف في نسخة أوفيس بالفرنسية وقد اخترت الفاصلة "," كعلامة عشرية للأرقام وأعتقد أنك تعمل بالنسخة الإنجليزية التي تعتبر النقطة "." كعلامة عشرية ولم أنتبه للخطأ إلا بعد فتح الملف في أوفيس 2013 بالإنجليزية بعد خلل حدث في جهازي الخاص... المهم قد انتبهتَ لذلك في الملف وقمتَ بتصحيحه... وقد قمتُ، في الملف المصحح، بتغيير على المعادلات باستعمال القسمة على 100 للحصول على الأجزاء العشرية للأعداد وهذا يسهل العمل بالملف في أي نسخة للأوفيس وأيا كان رمز الفاصلة العشرية في الجهاز. وأشكرك جزيل الشكر على الدعاء الجميل الذي ينبع من قلب صادق لأخ كريم وإن شاء الله لك بالمثل... تقبل الله منا ومنكم صالح الأعمال... أخوك بن علية ضرب الاعداد الصحيحة × كسر القرش - الاستاذ بن علية حاجى - سعيد بيرم.rar
  16. السلام عليكم ورحمة الله أخي الكريم سعيد، هذا حل آخر (حسب ما فهمت من المطلوب)... أرجو أن يقترب هذا الحل مما تريده.... أخوك بن علية ضرب الاعداد الصحيحة × كسر القرش - سعيد بيرم3.rar
  17. السلام عليكم ورحمة الله أخي الكريم سعيد، اطلعت على ملفك ولاحظت خاصية الشرط الأول قد تم تكرارها في عمودين عمود "فئة اليوم" ثم في عمود "جملة المكافأة" لذا نركتها في العمود الأول "فئة اليوم" واستبدلت المعادلة في العمود الثاني "جملة المكافأة" بمعادلة أبسط باستعمال نتيجة عمود "فئة اليوم" (الشرط الأول) مع الشرط الثاني (تقدير أو غيره).... وتم المطلوب في الملف المرفق... أخوك بن علية ملاحظة: تم العمل على الملف بمجرد ما رأيت مشاركتك وذلك قبل قراءة الرسالة ومعرفة المرسل... ضرب الاعداد الصحيحة × كسر القرش - سعيد بيرم.rar
  18. السلام عليكم ورحمة الله أخي الكريم محمود بارك الله فيكم وبارك أعمالكم، في الحقيقة تجدني أزداد شرفا ورفعة وفرحا حين أشارك إخواني مواضيعهم وردودهم... أخي khanna جزاك الله عني ألف خير وبارك الله فيك... لا تنسونا بالدعاء في كل صلاتكم وفي ظهر الغيب وإن شاء الله لكم بالمثل... بالنسبة لتبيان الفرق بين المعادلات وإضافة للشرح الذي قدمه أخي الحبيب محمود فيكون كما يلي: * المعادلة : =COUNTIF('الصف الأول 2012'!$G$4:$G$60;5) فهي تقوم بعدّ العدد 5 (شرط ثابت) في النطاق G4:G60 من الورقة "الصف الأول 2012" * أما المعادلة : =COUNTIF('الصف الأول 2012'!$G$4:$G$60;COLUMN()+3) فهي تعدّ العدد المتغير COLUMN()+3 (شرط متغير حسب رقم العمود ()COLUMN الحالي أي العمود الذي يحوي هذه المعادلة) في النطاق G4:G60 من الورقة "الصف الأول 2012" علامة $ وُضعت لتثبيت النطاق (أمام الحرف لتثبيت العمود وأمام الرقم لتثبيت السطر)... أرجو أن يفي هذا الشرح المختصر بالغرض... أخوكم بن علية
  19. السلام عليكم ورحمة الله أخي الكريم، المعادلة في E6 هي معادلة صفيف ويكون كما يلي (حل أول): =SUM(IF(($D$13:$D$255<>A8)*($E$13:$E$255<60);$G$13:$G$255)) وفي الملف المرفق تجد تطبيقا لها... أخوك بن علية Book2.rar
  20. السلام عليكم ورحمة الله أخي الكريم، قمت بالعمل على ملف أخي الحبيب محمود حيث تم استعمال المعادلات بالتسميات لاختصارها وتعديل طفيف على معادلته على أساس ملاحظته فيما يخص أرقام الصفوف لكن تم اعتبار أن لكل صف ورقة خاصة واسمها يطابق مضامين الخلايا من A4 إلى A9 من الورقة "فئات السن" كما في الملف المرفق... أرجو أن يكون هذا العمل مفيدا ومفهوما.. أخوكم بن علية حساب أعمار التلاميذ_1.rar
  21. السلام عليكم ورحمة الله أخي الكريم، قمت ببعض التغييرات على ملف أخي الحبيب محمود الذي أرفقه في الرد رقم 6... حيث اختصرت التسميات صف2، صف3، ... الخاصة باالنطاقات Sheet1!$A$2:$D$2ـ Sheet1!$A$3:$D$3... إلى تسمية واحدة "صف" لنطاق متغير Sheet1!$A1:$D1 (متغير حسب رقم السطر) وحجزت المعادلة : =IF(INDEX(صف;ROWS(الراتب)-ROW(INDIRECT("a"&COLUMN()-1))+1)="";"";INDEX(صف;ROWS(الراتب)-ROW(INDIRECT("a"&COLUMN()-1))+1)) في الخلية M2 ثم نسخها إلى آخر الجدول (عناوين الجدول + بياناته)... وهذا تفاديا لتغيير المعادلات في الجدول وإضافة تسميات عديدة (وخاصة لما يكون هذا الجدول كبيرا بعدد صفوفه) تجد كل ذلك في الملف المرفق... أخوكم بن علية عكس جدول بالمعادلات_2.rar
  22. السلام عليكم ورحمة الله أخي الكريم، دائما باستعمال المعادلات هذه حلول أخرى مع بعض الشرح في الملف المرفق... أخوكم بن علية عكس جدول بالمعادلات.rar
  23. السلام عليكم ورحمة الله أخي الكريم، يمكن القيام بذلك باستعمال خاصية الفرز بالطريقة التالية: 1- نقوم بترقيم الأعمدة من A إلى D في السطر الأول (فارغا) ترتيبا تنازليا من 5 إلى 1 2- نحدد الأعمدة من A إلى D 3- نختار من قائمة الأوامر "DATA" أي "بيانات" ثم نختار الخاصية "فرز" "SORT" حسب السطر الأول ونختار في "خصائص" أي "Options" الخاصية من اليمين إلى اليسار Sort right to left أو من اليسار إلى اليمين Sort left to right (حسب طريقة عرض الورقة في الإكسيل)... ثم نوافق على الاختيارات..... أتمنى أن يكون الشرح مفهوما... أخوك بن علية
  24. السلام عليكم ورحمة الله إخوتي الكرام، يمكن الاستعانة بالدالة COLUMN بدلا من الدالة ROW لأن سحب المعادلة أفقيا وتكون معادلة بداية الشهر في الخلية C3 كما يلي: =DATE($B$4;COLUMN(A1);1) ومعادلة نهاية الشهر في الخلية C6 كما يلي: =DATE($B$4;COLUMN(A1)+1;0) ثم يتم سحبهما إلي اليمين للأشهر الأخرى... أخوكم بن علية
  25. السلام عليكم ورحمة الله أخي الكريم مصطفى، الآن فهمت جيدا ما تريده، وإن شاء الله تجد الحل في المرفق... أخوك بن علية If Amendment_1.rar
×
×
  • اضف...

Important Information