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

توزيع طلبة حسب الرغبات


إذهب إلى أفضل إجابة Solved by ياسر خليل أبو البراء,

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

السلام عليكم ورحمة الله وبركاته

تقبل الله منا ومنكم وعيد مبارك سعيد.

 

لدي ورقة عمل عبارة عن بطاقة رغبات لطلبة.. اريد توجيههم حسب رغباتهم .. طبعا الكل خاضع لترتيب المعدل .. فكل طلب امامه 4 رغبات .. والاماكن محدودة..

انا اريد ان اوجه الطلبة بناء على الترتيب التنتازلي لمعدلاتهم بحيث اذا اكتمل نصاب كل تخصص ينتقل آليا لإختيار الرغبة الثانية وهكذا..

ترتيب الطلبة حسب التخصصات.zip

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

أخي الفاضل هشام أحمد

أهلاً ومرحباً بك في المنتدى ونورت وكل عام وإنت بخير

 

يرجى تغيير اسم الظهور للغة العربية ومراجعة رابط التوجيهات في الموضوعات المثبتة في المنتدى لمعرفة كيفية التعامل مع المنتدى

 

بالنسبة لطلبك .. هل تريد المخرجات في العمود K وإذا كان الأمر كذلك أعتقد على حسب ما فهمت من سؤالك أن النتائج المرفقة في هذا العمود غير صحيحة بالشكل المرفق ؟؟

يمكنك تأكيد كلامي أو التوضيح اللازم لمحاولة المساعدة

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

و عليكم السلام و رحمة الله و بركاته

كل عام و أنت و الأسرة الكريمة بخير ، أحب فى البداية أن أوجهك الى قراءة هذا الموضوع بعناية

http://www.officena.net/ib/index.php?showtopic=60147

التوجيهات للأعضاء الجدد و فضلا لا أمرا يرجى تغيير إسمك الى اللغة العربية لغتنا رمز عزتنا و وحدتنا

موضوع جد رائع و اعتبره تحدى و متابع له و افكر فى حل عن طريق المعادلات و لا ادرى هل يمكن ذلك ام يحتاج الامر للأكواد ؟

عموما لست محترف لتقديم حل اننى سأحاول بقدر المستطاع و منتظر لعباقرة المنتدى و الاخوة الاساتذة الافاضل لإبهارى

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

دمت بخير و أعزك الله

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

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

و بذلك فى انتظار الحل المبدع ان شاء الله الأخ الكريم هشام أحمد أبشر ان شاء الله

الموضوع فى أيدى أستاذنا الكريم ياسر خليل .. دمتم بخير و أعزكم الله .

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

 

أخي الفاضل هشام أحمد

أهلاً ومرحباً بك في المنتدى ونورت وكل عام وإنت بخير

 

يرجى تغيير اسم الظهور للغة العربية ومراجعة رابط التوجيهات في الموضوعات المثبتة في المنتدى لمعرفة كيفية التعامل مع المنتدى

 

بالنسبة لطلبك .. هل تريد المخرجات في العمود K وإذا كان الأمر كذلك أعتقد على حسب ما فهمت من سؤالك أن النتائج المرفقة في هذا العمود غير صحيحة بالشكل المرفق ؟؟

يمكنك تأكيد كلامي أو التوضيح اللازم لمحاولة المساعدة

 

 

اهلا اخي ياسر خليل ابو البراء ..

سأعمل على تغيير الاسم ان شاء الله.. واعتذر على ذلك.

بالنسبة لما طلبت هو ذاك .. اريد النتائج في العمود K .. والنتائج الموجودة فيه غير صحيحة فقط وضعتها هكذا ..

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

تم تعديل بواسطه هشام كمال احمد الشريف
رابط هذا التعليق
شارك

السلام عليكم

الأخ الكريم هشام مبارك تغيير الاسم للغتنا الجميلة و فخرنا و عزتنا و لغة جنتنا ان شاء الله

أحاول جاهدا الاهتداء لفكرة للحل و لكن محاولاتى لم تفلح بعد اقوم بعدة محاولات على صيغ

Rank,Vlookup,if,Hlookup,lookup

لم أهتدى الى خيط يمكننى منه الوصول لنتيجة و منتظر لشئ يريح أعصابى المتعبة من البحث عن طرف الخيط

ان شاء الله نجد حل رائع من الأخوة الأفاضل

دمت بخير و أعزك الله

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

السلام عليكم

الأخ الكريم هشام مبارك تغيير الاسم للغتنا الجميلة و فخرنا و عزتنا و لغة جنتنا ان شاء الله

أحاول جاهدا الاهتداء لفكرة للحل و لكن محاولاتى لم تفلح بعد اقوم بعدة محاولات على صيغ

Rank,Vlookup,if,Hlookup,lookup

لم أهتدى الى خيط يمكننى منه الوصول لنتيجة و منتظر لشئ يريح أعصابى المتعبة من البحث عن طرف الخيط

ان شاء الله نجد حل رائع من الأخوة الأفاضل

دمت بخير و أعزك الله

أخي الحبيب علاء .. بارك الله فيكم وفتح عليكم .. وبارك الله في كل الوجوه والاسماء الطيبة القائمة على هذا الصرح .. اشرافا وتوجيها.. وانا على يقين انكم ستدركون المعضلة وسترفعون التحدي ككل مرة .. ولا يسعني في هذا المقام الا ان اجدد الشكر والتقدير لكم اساتذتي .. داعيا المولى عزوجل ان يجعل ذلك في موازين حسناتكم يوم القيامة.. دمتم بود.

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

السلام عليكم

الأخوة الأفاضل و الأساتذة الكرماء

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

تريث ايها الاخ الكريم و توجيهات الاعضاء و غيرها دون تقديم شئ ، المرفق هو خلاصة ما توصل اليه جنونى فى المعادلات

هناك شئ ما خطأ بالمعادلة .. شئ ما ينقصنى لأتوصل الى النتيجة المطلوبة .. لقد عجز تفكيرى عند هذا الحد او قل ان شئت جنونى

و لكن اقدمه كدليل اننى فعلا أحاول المساعدة و لكن قدراتى لا تسمح لى بتقديم حل عبقرى و خارق و سأستمر فى مزيد من القدح الفكرى حتى

يهدأ عقلى و أجد حلا لهذا الموضوع .. يرجى مساعدتى فى معرفة مكمن الخطأ فى المعادلة و مدى صحة تفكيرى ؟

دمتم بخير جميعا و أعزكم الله .

جنون.rar

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

يعجبني الجنون خصوصاً عندما يأتي من علاء رسلان

بدون الإطلاع بشكل دقيق على المعادلة .. لم أرى أي إشارة إلى العمود J (عمود الدرجات) الذي يعد هو المعيار الأول في عملية التوزيع ...ثم تأتي بعد ذلك الرغبات

سأحاول العمل على الموضوع ليلاً حيث أنني مرهق جداً الآن .. نلتقي ليلاً إن شاء المولى

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

يعجبني الجنون خصوصاً عندما يأتي من علاء رسلان

بدون الإطلاع بشكل دقيق على المعادلة .. لم أرى أي إشارة إلى العمود J (عمود الدرجات) الذي يعد هو المعيار الأول في عملية التوزيع ...ثم تأتي بعد ذلك الرغبات

سأحاول العمل على الموضوع ليلاً حيث أنني مرهق جداً الآن .. نلتقي ليلاً إن شاء المولى

كلامك صحيح .. فعلا لم أشير الى الدرجات و السبب اننى استخدمت اول محاولة دالة Rank

ثم وجدت ان الوضع مرتب بالفعل حسب الدرجة فأهملت الدرجة و ركزت على التوزيع و فى انتظارك على أحر من الجمر

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

لم أجد شئ ذا بال سوى موضوع ما هنا بالمنتدى و لكن لسبب ما لم يكتمل للنهاية او يسفر عن النتائج المرجوة ربما أشير اليه فيما بعد

و كم يسعدنى كثيرا الحوار معك أخى الحبيب و أستاذى الفاضل ياسر خليل و يروق لى أسلوبك .. دمت بخير و أعزك الله .

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

رائع أخى العزيز و أستاذى الفاضل زيزو اللذيذ لا العجوز ( مداعبة لا أكثر ) .. لا تدرك مبلغ فرحتى و سعادتى بحلك المقدم و ان شاء الله يكون هو المطلوب

عن نفسي يروق لى الحل كثيرا و سأحاول تعديل حلى بنفس صيغى  بناء على حلك .. تستحق أن تكون عضوا مميزا عنى و إن كان يمكننى التنازل عن كونى عضو مميز

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

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

أخي الحبيب علاء رسلان

لا تفرح كثيراً ... لا أعتقد أن الحل المقدم من الأخ زيزو اللذيذ (إن شاء الله يكون عضو مميز قريباً) حل صحيح

حيث لم يتم الإشارة إلى أعمدة الرغبات

 

 

أنا دااااااااااااايخ من الساعة 9 في الموضوع ده

عموماً .. ننتظر من الأخ هشام أن يقوم بإرفاق النتائج المتوقعة للعمل عليها (على أساس القواعد التي يرغبها بالضبط...) يتعب معانا شوية ويرفق شكل النتائج المتوقعة

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

ملاحظة على الحل المقدم من أخى و أستاذى زيزو

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

ان رغبته الثانية هى التسويق و ليس الموارد البشرية .. أعتقد ان الحل يحتاج الى تعديل .. دمت بخير و اعزك الله .

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

أخى الحبيب و أستاذى الفاضل ياسر خليل .. لقد راجعت الحل المقدم بعد كتابتى للتعقيب من شدة فرحتى و ان شاء الله أخى الفاضل زيزو يصبح عضو محترفا و ليس مميز فقط

و أعتقد ان الحل يكمن فى مزج فكرتى مع فكرة أخى زيزو و هذا ما افكر فيه .. دمتم بخير و أعزكم الله .

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

اتمنى من الله عز وجل ان يكون هذا هو الحل

وكل عام وانتم بخير

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

 

انا اريد كما قلت لكم .. توجيه الطلبة حسب الترتيب التنازلي لمعدلاتهم .. طبعا كل واحد حسب رغبته وفي حدود الاماكن المحدودة .. نبدأ بالرغبة الاولى وعندما تحجز جميع الاماكن ينتقل للرغبة الثانية وهكذا.... اما الملف المرفق فكما قال استاذي علاء .. الطالب رقم 12 فيه خطأ .. وايضا لو غيرت مثلا رغبات بعض الطلبة لا تتغير النتائج .. على كل حفظكم الله واعلى شأنكم.

تم تعديل بواسطه هشام كمال احمد الشريف
رابط هذا التعليق
شارك

الأخ الكريم هشام كمال

الأخ الغالي علاء رسلان

الأخ الحبيب زيزو العجوز

جربوا الدالة المعرفة التالية UDF Function

يتم وضع الدالة في موديول جديد

Public Function Wish(rngData As Range, rngWish As Range)
    Dim ArrData, ArrWish, ArrOut, ArrSwap
    Dim ColCount As Long, I As Long, J As Long, K As Long

    ArrData = rngData.Value
    ArrWish = rngWish.Value
    ReDim ArrOut(1 To UBound(ArrData, 1), 1 To 1)
    ColCount = UBound(ArrData, 2)
    ReDim ArrSwap(1 To 1, 1 To ColCount)

    For I = 1 To (UBound(ArrData, 1) - 1)
        For K = I To UBound(ArrData, 1)
            If ArrData(K, ColCount) > ArrData(I, ColCount) Then
                For J = 1 To ColCount
                    ArrSwap(1, J) = ArrData(I, J)
                    ArrData(I, J) = ArrData(K, J)
                    ArrData(K, J) = ArrSwap(1, J)
                Next J
            End If
        Next K
    Next I

    For I = 1 To UBound(ArrData, 1)
        For J = 1 To (ColCount - 1)
            If ArrOut(I, 1) = "" Then
                For K = 1 To UBound(ArrWish, 1)
                    If ArrData(I, J) = ArrWish(K, 1) Then
                        If ArrWish(K, 2) > 0 Then
                            ArrOut(I, 1) = ArrWish(K, 1)
                            ArrWish(K, 2) = ArrWish(K, 2) - 1
                        End If
                    End If
                Next K
            End If
        Next J
    Next I

    For I = 1 To (UBound(ArrData, 1) - 1)
        For K = I To UBound(ArrData, 1)
            If ArrData(K, 1) < ArrData(I, 1) Then
                ArrSwap(1, 1) = ArrData(I, 1): ArrSwap(1, 2) = ArrOut(I, 1)
                ArrData(I, 1) = ArrData(K, 1): ArrOut(I, 1) = ArrOut(K, 1)
                ArrData(K, 1) = ArrSwap(1, 1): ArrOut(K, 1) = ArrSwap(1, 2)
            End If
        Next K
    Next I

    Wish = ArrOut
End Function

لاستخدام الدالة في ورقة العمل يتم تحديد النطاق الذي ترغب في ظهور النتائج به ... النطاق K8:K27

بعد تحديد النطاق روح لشريط المعادلات وضع المعادلة التالية

=Wish(D8:J27,M12:N15)

حيث يمثل الجزء الأول نطاق البيانات بالكامل D8:J27 ويمثل الجزء الثاني نطاق الحد الأقصى المسموح به M12:N15

ثم أخيراً بعد وضع المعادلة في شريط المعادلات تضغط على Ctrl + Shift + Enter ...

هنا لا يتم كتابة المعادلة ثم سحبها بل يتم تحديد النطاق بالكامل ثم وضع المعادلة ثم تضغط على Ctrl + Shift + Enter

 

أرجو أن يفي بالغرض .. جرب الملف وأعملنا بالنتائج

إذا أعجبك الحل لا تنسى أن تحدد أفضل إجابة ، وأن تضغط على كلمة "أعجبني هذا" إذا أعجبك الحل

تقبلوا تحياتي  :fff: :fff: :fff:

Pupils Distribution According To Marks & Wishes.rar

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

السلام عليكم ورحمة الله و بركاته 
موضوع ممتاز جدا , اخي ياسر هل يمكن لك ان تقول لي ماذا يجب ان اغير حتى استطيع استخدام نفس الملف و لكن في اوجود 8 رغبات بدلا من 4 
و شكرااا 

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

ما شاء الله ..

الاكواد تلعب دور هام هنا .. جربت الحل و النتيجة رائعة و تلاعبت بالاختيارات

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

إرتياح .. سؤال لأخى الحبيب ياسر خليل لما لا تقدم فيديوهات تعليمية لـ VBA

نتعلم منها هذا الفرع الهام فى الأكسيل و يكون قائم على أمثلة عملية فعلية .. عموما لدى حافز

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

برغم من أن أغلب المشاكل المفترض ان يكون الامر قائم على بساطة التفكير سأحاول

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

دمتم بخير جميعا و أعزكم الله .

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

 

الأخ الكريم هشام كمال

الأخ الغالي علاء رسلان

الأخ الحبيب زيزو العجوز

جربوا الدالة المعرفة التالية UDF Function

يتم وضع الدالة في موديول جديد

Public Function Wish(rngData As Range, rngWish As Range)
    Dim ArrData, ArrWish, ArrOut, ArrSwap
    Dim ColCount As Long, I As Long, J As Long, K As Long

    ArrData = rngData.Value
    ArrWish = rngWish.Value
    ReDim ArrOut(1 To UBound(ArrData, 1), 1 To 1)
    ColCount = UBound(ArrData, 2)
    ReDim ArrSwap(1 To 1, 1 To ColCount)

    For I = 1 To (UBound(ArrData, 1) - 1)
        For K = I To UBound(ArrData, 1)
            If ArrData(K, ColCount) > ArrData(I, ColCount) Then
                For J = 1 To ColCount
                    ArrSwap(1, J) = ArrData(I, J)
                    ArrData(I, J) = ArrData(K, J)
                    ArrData(K, J) = ArrSwap(1, J)
                Next J
            End If
        Next K
    Next I

    For I = 1 To UBound(ArrData, 1)
        For J = 1 To (ColCount - 1)
            If ArrOut(I, 1) = "" Then
                For K = 1 To UBound(ArrWish, 1)
                    If ArrData(I, J) = ArrWish(K, 1) Then
                        If ArrWish(K, 2) > 0 Then
                            ArrOut(I, 1) = ArrWish(K, 1)
                            ArrWish(K, 2) = ArrWish(K, 2) - 1
                        End If
                    End If
                Next K
            End If
        Next J
    Next I

    For I = 1 To (UBound(ArrData, 1) - 1)
        For K = I To UBound(ArrData, 1)
            If ArrData(K, 1) < ArrData(I, 1) Then
                ArrSwap(1, 1) = ArrData(I, 1): ArrSwap(1, 2) = ArrOut(I, 1)
                ArrData(I, 1) = ArrData(K, 1): ArrOut(I, 1) = ArrOut(K, 1)
                ArrData(K, 1) = ArrSwap(1, 1): ArrOut(K, 1) = ArrSwap(1, 2)
            End If
        Next K
    Next I

    Wish = ArrOut
End Function

لاستخدام الدالة في ورقة العمل يتم تحديد النطاق الذي ترغب في ظهور النتائج به ... النطاق K8:K27

بعد تحديد النطاق روح لشريط المعادلات وضع المعادلة التالية

=Wish(D8:J27,M12:N15)

حيث يمثل الجزء الأول نطاق البيانات بالكامل D8:J27 ويمثل الجزء الثاني نطاق الحد الأقصى المسموح به M12:N15

ثم أخيراً بعد وضع المعادلة في شريط المعادلات تضغط على Ctrl + Shift + Enter ...

هنا لا يتم كتابة المعادلة ثم سحبها بل يتم تحديد النطاق بالكامل ثم وضع المعادلة ثم تضغط على Ctrl + Shift + Enter

 

أرجو أن يفي بالغرض .. جرب الملف وأعملنا بالنتائج

إذا أعجبك الحل لا تنسى أن تحدد أفضل إجابة ، وأن تضغط على كلمة "أعجبني هذا" إذا أعجبك الحل

تقبلوا تحياتي  :fff: :fff: :fff:

 

الله اكبر .. رائع .. مدهش .. هو ذاك .. هذا ما اريده .. حفظك الله ورعاك اخي ابو البراء وفتح عليك وعلى والديك .. وجعل لك بكل ثانية قضيتها في هذا العمل حسنات .. يعجز اللسان عن الكلام  استاذي الفاضل .. ولا املك لك الا كلمة: جزاك الله خيرا.

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

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

2015-2016.zip

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

ما شاء الله ..

الاكواد تلعب دور هام هنا .. جربت الحل و النتيجة رائعة و تلاعبت بالاختيارات

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

إرتياح .. سؤال لأخى الحبيب ياسر خليل لما لا تقدم فيديوهات تعليمية لـ VBA

نتعلم منها هذا الفرع الهام فى الأكسيل و يكون قائم على أمثلة عملية فعلية .. عموما لدى حافز

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

برغم من أن أغلب المشاكل المفترض ان يكون الامر قائم على بساطة التفكير سأحاول

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

دمتم بخير جميعا و أعزكم الله .

 

أخي الغالي علاء رسلان

جزيت خيراً على متابعتك المتميزة للموضوعات المختلفة ومشكور على كلماتك الطيبة وشعورك الرقيق

لا تظن بي أني محترف أنا مجرد متعلم مثلي مثل غيري من الأعضاء .. الفارق بيني وبين غيري أنني لا أكل ولاأمل من البحث والتنقيب حتى أصل لحلول متنوعة في الموضوع الواحد في كثير من الأحيان

ومعظم الاكواد التي أقدمها ليست لي ولكنها تجميعة أفكار من هنا وهناك ..إلى أن تكتمل الفكرة وتثمر عن الحل

بالنسبة للفيديوهات .. حاولت تقديم بعضها لكن لا يمكن الغوص في الأعماق ونحن ما زلنا على الشاطيء ....

البحر عميق نعم عميــــــــــــــــــق فتوغل فيه برفق كيلا تغرق تغرق تغرق

 

تقبل تحياتي ووافر تقديري واحترامي وكل عام وأنت بخير

 

الأخ هشام لو راجعت التوجيهات ستجد أنني أركز على إرفاق الملف الأصلي من البداية كيلا يضيع وقت وجهد الأعضاء هباءً ..

عموماً أخي الحبيب هشام اترك لي بعض الوقت لأرتاح من عناء هذا الموضوع فقد استغرق مني حوالي 7 ساعات بالأمس .. لا أبالغ في الوقت

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

كان يوجد حلول تعتمد على الرغبات فقط وحلول سهلة ويسيرة ولكنها لم تكن تتطرق إلى الدرجات ..فقط تركز على الرغبات وكان لابد من ترتيب الدرجات أولاً

إلا أنني أحببت أن أقدم الحل بالشكل التام والكامل بإذن الله لتنتهي هذه القضية تماماً ويستفيد منها أكبر عدد من الأخوة الأعضاء

 

تقبل الله منا ومنكم

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

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