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

توزيع عشوائي لأرقام معينة في جدول إكسيل


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

السلام عليكم

ارجو منكم مساعدتي في توزيع اعداد معينة في جدول اكسل دون تكرار الاعداد

يعني مثلا : ( 1 - 2 - 3 ...... 15 ) اريد توزيعها في جدول معين دون تكرار رقم ( 1 ) مثلا لا يكرر

لاني جربت دالة =RAND() وما صلحت معي ... وما اعرف

الصراحة حابب اعمل جدول حراسة ولكل حارس رقمه الخاص يعني حارس لما يكون في قاعة لا يكون في قاعة ثانية

ان شاء الله اكون وصلت المعلومة صحيح وارجو الرد والمساعدة لاني والله محتاجه

كما اشكر هذا المنتدى الذي استفدت منه الكثير ولازلت اتعلم منه

والصورة بالمرفق ممكن توضح اكثر المطلوب

post-59207-0-81576600-1301925855_thumb.j

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

السلام عليكم

أهلا ومرحبا بك أخي الكريم بين إخوانك

فعل الفيجوال بيزيك إذا لم يكن مفعلا

واكتب الكود التالي


	Sub Rnd_N_REP()

	Range("C3:E7").ClearContents

	Randomize

	For i = 1 To 15

	rw = i Mod 5 + 3

	cl = i Mod 3 + 3

10  	x = Int(Rnd * 16)

    	For Each ce In Range("C3:E7")

        	If ce = x Or x = 0 Then GoTo 10

    	Next ce


	Cells(rw, cl).Value = x

	Next i

	End Sub

سيتم عمل المطلوب في الخلايا C3:E7

تفضل أيضا الملف المرفق

Rnd_N_REP.rar

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

أخي الكريم شكرا لك كثيرا وجعله الله في ميزان حسناتك

بس عندي طلب لو مافيه غلاصة

لو كانت عندي عدد الصفوف والاعمدة أكثر من ( 3*5) اكثر من 15 خلية

وكان العدد غير محدد يعني متغير كان أحدد مكانه في الخلية:

عدد الاعمدة : B1 وعدد الصفوف : B2 ... يعني قيم تتغير حسب الطلب

والمرفق قد يوضح اكثر

وانا بدوري ساحاول

ومشكور سلفا استاذي المحترم ....

التوزيع العشوائي.rar

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

الكود تم تغييره ليتناسب مع ماطلبت

علي أن يأخذ بياناته من الخليتين B1 و B2

	Sub Rnd_N_REP()

	Dim myrange As Range, rr, cc, pp As Integer

	rr = [B2]: cc = [B1]

	pp = rr * cc + 1

	Range("C3").SpecialCells (xlCellTypeLastCell)


	Set myrange = Range("C3", [c3].SpecialCells(xlCellTypeLastCell))

	myrange.ClearContents

	myrange.Interior.ColorIndex = xlNone


	Set myrange = Range("C3", [c3].Offset(rr - 1, cc - 1))

	myrange.Interior.ColorIndex = 6

	Randomize

	For i = 0 To pp - 2

	rw = i Mod rr + 3

	If rr = cc Then cl = Int(i / cc) + 3 Else cl = i Mod cc + 3

10  	x = Int(Rnd * pp)

    	For Each ce In myrange

        	If ce = x Or x = 0 Then GoTo 10

    	Next ce


	Cells(rw, cl).Value = x

	Next i

	[c3].Select

	End Sub

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

  • 1 year later...

سعادة المهندس المحترم محمود

استعملت الملف الذى اعددته فى محاولة لحل مشكلة عندى

لم احصل على كامل الحل

و المشكلة هى

لدينا 120-150 طالب فى الدفعة - و نريد توزيعهم فى الاختيار بطريقة عشوائية على غرفتين - الغرفة الاولى بها 112 مقعد ( 14 فى 8 ) و الغرفة الاخرى بها 96 مقعد (12 فى 8) - و لانريد جلوسهم بجوار بعضهم - و الصورة المرفقة ممكن استعمالها و لكن الترقيم فى الخلايا الصفراء نريده من 1-150

شكرا لكم

د مجدى

Rnd_N_REP2.rar

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

السلام عليكم

بداية ،

لانريد جلوسهم بجوار بعضهم

هذا سيكلفنا عدد من المقاعد = ضعف عدد الطلبة

وحيث أن إجمالي المقاعد في الغرفتين = 112+96 = 208 ،

إذن أقصي عدد من الطلاب في هذه المقاعد تحت هذا الشرط هو 104 (نصف الـ 208)

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

متفقين؟؟

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

نسيت أخبرك أن تسمي أي مجال بإسم room1 (الأصفر) ليعبر عن عدد صفوف وأعمدة الحجرة 1

و تسمي أي مجال آخر بإسم room2 (الأخضر) ليعبر عن عدد صفوف وأعمدة الحجرة 2

وطبعا تستطيع تغيير العدد في الغرفتين كما تحب

مثلا إن كان عندك 120 طالب ،

يعني يلزمك (120-104) = 16 مكان وكل مكان محجوز له مقعدين يعني 32 مقعد زيادة

ممكن تزيد عدد المقاعد صفين×8 لكل حجرة لتكون 16×8 + 14×8 = 240

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

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

سعادة المهندس المحترم طارق

أشكركم على الردين

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

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

3-هنا تم التوزيع بحيث يجلس الطلاب مقعد ملىء و مقعد خالى - هل هناك طريقة لجعلهم مقعد مليء و مقعدين خاليين ؟ أو الصف الاول بنظام مقعد و مقعد ثم الصف الثانى مقعد و مقعدين ثم نكرر ذلك ؟؟

4-أرجو منكم - فى حالة عدم امكان رقم 2 و رقم 3 أن تقوموا بعمل الملف على أساس أرقام المقاعد فى العمود الازرق

كل شكرى و تقديرى لكم

د مجدى

Rnd_N_REP_4.rar

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

سعادة المهندس المحترم طارق

أشكركم على سعة الصدر

لقد توصلت لحل السؤال الاول عن تغيير المدى من قائمة فورميلا ثم مدير الاسماء و نجحت الطريقة فى تغيير المدى الأصفر و الاخضر

و بالتالى فالمطلوب فى الرد السابق هو الجزئين 2،3

شكرا لكم

د مجدى

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

السلام عليكم

أخي العزيز

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

أما بالنسبة لموضوع (مقعد مليء و مقعدين خاليين) تغيير الكود فقط في رقم خطوة العمود من 2 إلي 3

تفضل المرفقات

التوزيع العشوائي لارقام في جدول اكسل_مقعد مليء و مقعدين خاليين.rar

التوزيع العشوائي لارقام في جدول اكسل.rar

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

سعادة المهندس المحترم طارق

أشكركم على كل الردود و الحلول المبتكرة

الملف الذى به النموذج التلثائى أكثر من ممتاز

يتبقى لى مشكلة واحدة

لدينا عدة دفعات ( اولى - ثانية - ثالثة)

و المعتاد توزيعهم فى الاختبارات - صف من كل دفعة - لمنع فرصة الغش

و هنا باستعمال النموذج التلقائى سنقوم بتوزيع الطلبة عشوائيا

ثم يبقى طريقة وضع صف من كل دفعة - و سنقوم بها يدويا - بمعن أن نستعمل ملف التوزيع العشوائى لكل دفعة ثم نختار صف من كل دفعة

هل من الممكن أن توجد طريقة لذلك؟

مع جزيل شكرى و تقديرى

د مجدى

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

سعادة المهندس المحترم طارق

أشكركم على كل الردود و الحلول المبتكرة

الملف الذى به النموذج التلثائى أكثر من ممتاز



يتبقى لى مشكلة واحدة



لدينا عدة دفعات ( اولى - ثانية - ثالثة)

و المعتاد توزيعهم فى الاختبارات - صف من كل دفعة - لمنع فرصة الغش



و هنا باستعمال النموذج التلقائى سنقوم بتوزيع الطلبة عشوائيا

ثم يبقى طريقة وضع صف من كل دفعة - و سنقوم بها يدويا - بمعن أن نستعمل ملف التوزيع العشوائى لكل دفعة ثم نختار صف من كل دفعة



هل من الممكن أن توجد طريقة لذلك؟



مع جزيل شكرى و تقديرى

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

السلام عليكم

أخي العزيز

في المثال الذي نستخدمه ، إجمالي عدد الطلاب 390

لابد ان توزعهم أولا كم في الدفعة الأولي وكم في الدفعة الثانية وكم في الدفعة الثالثة

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

  • 2 months later...
  • 5 years later...

هذا الملف قد يكون مفيد لى عملى .... لكن لى طلب بسيط ...
ممكن يكون التوزيع فى الصفوف بدون فاصل

فى هذا الملف عند التوزيع بيكون فى كل صف خليه بها رقم وخليه فارغه

المطلوب يكون العدد موزع فى الجدول بدون خلايا فارغه

ولكم جزيل الشكر 

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

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