السلام عليكم ورحمة الله وبركاته
أحدهم طرح سؤال بحيث أن لديه جدول بالطلاب ودرجاتهم فى إجتياز المواد
ويريد تطبيق قرار ينص على توزيع 10 درجات للمواد الأقرب للنجاح لتصل لدرجة النجاح وهى 50
حيث أن الأولويه تذهب للمادة الأقرب للنجاح تباعاً كما بالصورة أدناه
نفذت معادلة للمطلوب بحيث يتم توزيع 10 درجات لأقرب فأقرب مادة للنجاح
وفى حالة وجود أكثر من مادة بنفس الدرجة مثل 45 درجة لمادتين
تبدأ المعادلة بالتوزيع من الـ 10 درجات لأول ماده منهم حسب ترتيبهم فى الجدول
ولكن رد السائل بأنه مطلوب استخراج الجدول بذلك الترتيب
إلى أن القرار ينص على إعطاء أولويات للمواد فى حالة التساوى وتختلف عن الترتيب بالجدول
مثال: إذا تساوت المواد (إسلامية ، عربي ، إنكليزي) وكانوا جميعاً 45 درجة
وأولويات توزيع الدرجات للمواد التى تتساوى بنفس الدرجة كالتالى
{إنكليزي ثم رياضيات ثم فيزياء ثم كيمياء ثم عربي ثم إسلامية}
فى تلك الحالة يتم توزيع 5 درجات لمادة الإنكليزي ثم 5 درجات لمادة العربي
فأضفت معادة أخرى لتقوم بتوزيع 10 درجات لأقرب فأقرب مادة للنجاح
وفى حالة وجود أكثر من مادة بنفس الدرجة مثل 45 درجة لمادتين
تبدأ المعادلة بالتوزيع من الـ 10 درجات حسب أولويات المواد المحددة
وبذلك متاح معادلتين يقومون بنفس الوظيفة
بإختلاف أو الأولى تقوم ترى أن الأولوية للمواد المتساوية بالدرجات حسب ترتيب الجدول
والأخرى حسب أولوية المواد التى تريد
كما موضح بالصورة أدناه الجدول الأعلى مثال على الطريقة الأولى
والجدول الأسفل مثال على الطريقة الثانية
المعادلة بالطريقة الأولى بالخلية [J3] كالتالى:
CODE
=IF(AND(50-B3<=SUM(-IFERROR(SMALL(IF($B3:$G3<50,50-$B3:$G3,""),ROW(INDIRECT("1:"&MATCH(B3,LARGE(IF($B3:$G3<50,$B3:$G3,""),COLUMN($B3:$G3)-COLUMN($B3)+1),0)+SUM((B3=$B3:B3)*1,-2)))),0),10),B3<50),50,B3)
ثم قم بالضغط على Ctrl+Shift+Enter ثم اسحب المعادلة لليسار وللأسفل
والمعادلة بالطريقة الثانية بالخلية [J8] كالتالى:
CODE
=IF(AND(50-B8<=SUM(-IFERROR(SMALL(IF($B8:$G8<50,50-$B8:$G8,""),ROW(INDIRECT("1:"&MATCH(B8,LARGE(IF($B8:$G8<50,$B8:$G8,""),COLUMN($B8:$G8)-COLUMN($B8)+1),0)+SUM(MATCH(MATCH(B$7,{"إنكليزي","رياضيات","فيزياء","كيمياء","عربي","إسلامية"},0),SMALL(IFERROR(MATCH(IF(B8=$B8:$G8,$B$7:$G$7),{"إنكليزي","رياضيات","فيزياء","كيمياء","عربي","إسلامية"},0),""),ROW(INDIRECT("1:"&SUM((B8=$B8:$G8)*1)))),0),-2)))),0),10),B8<50),50,B8)
ثم قم بالضغط على Ctrl+Shift+Enter ثم اسحب المعادلة لليسار وللأسفل
مرفق ملف العمل بالموضوع وهنا أكن قد أنهيت
كان معكم أخوكم فى الله اسلام عبدالله