• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

150 Kişilik listeden rastgele 80 kişi seçmek

Katılım
12 Ağustos 2007
Mesajlar
301
Excel Vers. ve Dili
2003 türkçe
2016 türkçe
Okulların ana sınıfları için kayıt döneminin başlamasıyla kontenjan üstü müracaatlar oluyor ve kontenjan kadar seçim yapmak gerekiyor maalesef. Şimdi B3:B153 arası öğrenci isimleri var. B1 hücresine Toplam Müracaat sayısı (örnekte 126 kişi) B2 hücresine kontenjan sayısı (örnekte 80 kişi) yazılsa ve bir tuş yardımıyla rastgele ve aynı isimden 1 tane olması şartıyla (örnek dosyada soyadlarını sildim gerçek listede var. gerçek listede tekrar eden isim yok) D3 ten itibaren bu seçilen 80 kişi yazılsa güzel olurdu. Kura çekimiyle ilgili konulara baktım ama maalesef istediğime ulaşamadım. Şimdiden Teşekkürler.


http://s6.dosya.tc/server9/obvqb1/KURA_2018.xlsx.html
 
Son düzenleme:
kod:

Kod:
Sub seçimi_yap()
Dim baslangic As Long, i As Long, son As Long, say As Long, sut As Long, sayi As Long

sut = 2
baslangic = 3

sayi = Cells(1, 2).Value 'Cells(Rows.Count, sut).End(3).Row
son = Cells(2, 2).Value ' sayi


If son > sayi Then son = sayi
ReDim deg1(sayi)
Range(Cells(baslangic, sut + 1), Cells(Rows.Count, sut + 1)).ClearContents

For i = baslangic To son + (baslangic - 1)
atla:
say = Int((Rnd * sayi) + 1)
If Val(deg1(say)) = 0 Then

Cells(i, sut + 1).Value = Cells(say + (baslangic - 1), sut).Value

deg1(say) = 1
Else
GoTo atla
End If

Next i

End Sub
 
Sayın hocalarım her ikinizin de ilginize teşekkür ederim.

Halit3 hocam bu kod güzel çalıştı.

Asri hocam sizin çalışma tam bir program olmuş. Bunu biraz değiştirip okulların kullanacağı 1. sınıf ve ana sınıfları için güzel bir kura çekme programı haline getirilebilir. Tabi buna çocuğun kaç aylık olduğu, erkek mi kız mı olduğu kaç sınıf ve sınıfların kaç kişi olduğu kriterleri konmalıdır. Eğer böyle bir program yapılırsa inanın ilgili müdür yardımcılarının duasını alırsınız. Veya hazır böyle bir programınız varsa yararlanmak isteriz. Teşekkürler.
 
Sayın hocalarım her ikinizin de ilginize teşekkür ederim.

Halit3 hocam bu kod güzel çalıştı.

Asri hocam sizin çalışma tam bir program olmuş. Bunu biraz değiştirip okulların kullanacağı 1. sınıf ve ana sınıfları için güzel bir kura çekme programı haline getirilebilir. Tabi buna çocuğun kaç aylık olduğu, erkek mi kız mı olduğu kaç sınıf ve sınıfların kaç kişi olduğu kriterleri konmalıdır. Eğer böyle bir program yapılırsa inanın ilgili müdür yardımcılarının duasını alırsınız. Veya hazır böyle bir programınız varsa yararlanmak isteriz. Teşekkürler.

Hocam bir kaç kriter daha belirleyebilirsek bu çalışmayı yapabilirim.
* Kızların toplam sınıf sayısına oranı nedir? Böyle bir oran var mıdır?
10 sınıf var 20 kız var her sınıfa 2 kız gibi bir oran var mıdır?
* Dağıtım listesinde önceden sınıfı tanımlanmış öğrenci var mıdır? Olmalı mıdır?
Öğretmeni bulunduğu sınıfa kendi çocuğunun alınması, özel ilgili gereken bir çocuğun belirli bir sınıfa önceden verilmesi gibi.
* Öğretmenler rastgele sınıflara dağıtılıyor mu? Dağıtım öncesinde öğretmenlerin sınıfları belli mi?
* Öğretmenlerin, öğrencilerin yaş grubuna göre belirli sınıfları var mı?
* Öğrenciler sınıflara dağıtılırken yıl yaşına göre mi doğum ayına göre mi dağıtılmalı?
Aynı ayda doğanlar aynı sınıfa yerleşmesi gibi.
* Şu öğrenci bu sınıfta olmasın gibi bir kriter gerekli mi?
* Şu öğretmen bu sınıfta olmasın gibi bir kriter gerekli mi?
*Öğretmen ve öğrenci için sabah öğlen seçeneği olacak mı?
Bu öğretmen yada öğrenci sadece sabah yada öğleden sonra sınıflarına atanabilir gibi.
 
Son düzenleme:
Sayın asri hocam.

Öncelikle ana sınıfları için en önemli kriterler sabahçı öğlenci ve her sınıfa mümkün olduğunca kız ve erkek öğrencilerin eşit sayıda dağıtılması.

Tabi fazla müracaatta kontenjan kadar kura çekilmesi gerekebilir. Bu kurada öğretmen çocuklarına öncelik verilebilir.

Ama asıl mesele 1. sınıflara öğrenci dağıtımı. Şöyle ki:

Milli Eğitimden gelen listede tc kimlik no adı soyadı doğum tarihi ve kız erkek durumu belirtilmiş.
Buna bazı okullar okul öncesi eğitim aldı mı almadı mı kriteri ekliyor.
Ayrıca bazı öğrenciler (kaynaştırma) için özür gurubu olabiliyor.
bir de öğretmenlerin ve idarecilerin 2 çocuk seçme hakları var.

Yapılacak çalışmada:
1- Çocuklar doğum yılı değil aylara göre eşit dağıtılmalı, yani aynı ayda doğanlar aynı sınıfa değil mümkün olduğunca her sınıfa dağıtılmalı,

2- Kız erkek olarak ta eşit dağıtılmalı, Sınıflardaki toplam öğrenci sayıları da eşit olmalı. Mümkün olduğunca. Toplamda Dengesizlik olacaksa bu son şubede olmalı ki nakil gelen olursa o şubeye verilerek denge sağlanır.

3- Özür gurubunda olan öğrenciler belli sınıflara eşit dağıtılır. Onların şubelerini idareci ve ya öğretmeni belirleyebilmeli.

4- Genelde okullar 1. sınıfı okutacak öğretmenlerin şubelerini de kura ile belirler. Veya onlar aralarında anlaşır. Bu sene başında öğrenciler sınıflara dağıtılmadan yapılır. Bu sebeple öğretmenlere kendi çocukları veya istedikleri (mesela komşusu) çocukları seçme hakkı verilir. Bu en fazla 2 veya 3 olur. bunu idare belirler. Öğretmenler istedikleri o çocukları kendi şubelerine alabilmeli.

5- Ayrıca okul idarecileri için de aynı seçim hakkı olabilmeli. Mesela müdür şu çocuk şu şubede olsun diyebiliyor.

6- 1. sınıf için Öğrencilerin sabah öğlen seçeneği bir çok okulda yok. Çünkü 1,2 genelde öğlenci olur.

7- Okul çocuğun ana sınıfında okuyup okumadığını sorguluyorsa onlar da eşit dağıtılmalı.

Şimdilik aklıma gelen kriterler bunlar. Tabi program kullanılırken şimdi öngöremediğimiz durumlar çıkabilir. Ancak bunlar bile idarecilerin işini %90 halleder.
 
Sayın halit3 hocam. Verdiğiniz kodda ufak bir sorun çıktı ve ben düzeltemedim. Şöyle ki:

Kura çekimini yapıyor ancak 2 kişi eksik yapıyor. B2 hücresinde 80 yazıyor. 78 kişi seçiyor. Anladığım kadarıyla 80. satıra kadar işlem yapıyor. Oysa 1. ve 2. satırlar boş ve sayı eksik oluyor.
Bu kodda nasıl bir değişiklik gerekir ki düzelsin. Teşekkürler.
 
Yukarıdaki mesajımda düzelttim
 
...
Şimdilik aklıma gelen kriterler bunlar. Tabi program kullanılırken şimdi öngöremediğimiz durumlar çıkabilir. Ancak bunlar bile idarecilerin işini %90 halleder.

Hocam bu detaylı bilgilendirme için teşekkür ederim.
Bu konuda çalışmayı bitirince buradan paylaşırım.

Saygılarımla.
 
Halit3 hocam teşekkürler düzeldi.

Asri hocam çalışmanızı dört gözle bekliyor olacağım. Hemen haberim olması için hazır olunca huseyinvurkan@mynet.com ve huseyinvurkan@hotmail.com adreslerime de atarsanız sevinirim. Saygılar ve her şey için teşekkürler.

Çok kriterli bir sistem olacak, biraz zaman alacak. Deneme sürümünden itibaren bilgi veririm :)

Şuan için kızların dağılımı, önceden sınıfı belli olanların dağılımı ve daha sonra erkeklerin dağılımı hazır gibi.

Sınıf kontenjanı aşma durumu, yaşa göre dağılım ve sabah öğlen ilk aşama için eksik durumda.
 
MaşaAllah. Rabbim kolaylık versin. Gayretlerini arttırsın.

Sınıf kontenjanı aşma durumu genellikle okulun alacağı belli bölgeden gelen tüm öğrencileri alma zorunluluğu var. Bu ya sınıf sayısını veya sınıf kontenjanını arttırarak olur. Yani okul sınıf kontenjanı 25 fazlasını alamam deme hakkına sahip değil. Bunun için milli eğitimin listesinin tamamı yerleşmek zorunda.

Ancak: İlgili Müdür yardımcısı arkadaşla konuşunca bir durum daha ortaya çıktı.

1. Sınıfta okumaya hak kazandığı halde velisinin yazılı dilekçesiyle ana sınıfına yerleştirilmesi gereken 66-67-68 aylık olan öğrenciler için bir seçenek olmalı. Bu öğrenciler ana sınıfı kurasına girmeden otomatik ana sınıfına yerleşmeli. (Yönetmelik gereği)

Ana sınıfında da veliler bir çok okulda sabahçı veya öğlenci olmak isteyebiliyorlar. Bu seçenek konmalı.

Yine ana sınıfı için 48 aylıktan 65 aylığa kadar her çocuk müracaat edebiliyor. Ancak okullar kontenjan sıkıntısından ve ana sınıfından sonra hemen 1 sınıfa başlayabilsinler diye kurada 65- 64- 63 .... aylıklar gibi yaş olarak büyükten küçüğe doğru bir öncelik olsun istiyorlar. Bunları da dikkate alırsanız sevinirim.
 
Hocam son durum aşağıdaki şekildedir.
Eklemek istediğiniz şeyler var mıdır?

Tamamlandı: Erkek mi kız mı olduğu, Kızların eşit dağılımı
Tamamlandı: Kaç sınıf ve sınıfların kaç kişi olduğu kriterleri konmalıdır.
Tamamlandı: Dağıtım listesinde kura yada dağıtım öncesi sınıf tanımlama
Tamamlandı: Fazla müracaatta kontenjan kadar kura çekilmesi gerekebilir.
Kura başlamadan seçim mevcut. Kuralı mı değil mi diye
kuralı ise sınıfların mevcutlarının toplamı kadar öğrenci seçilir.
Kuralı değil ise sınıfların durumuna göre bütün öğrenciler yerleştirilir.
Sınıf durumları mevcudu aşabilir, aşamaz tanımlanabilir.
Tamamlandı: Bir de öğretmenlerin ve idarecilerin 2 çocuk seçme hakları var.
Öğrenci listesinde kura öncesi sınıf belirleme yapılabiliyor. Bu öğrenciler kuraya girmiyor.
Tamamlandı: Özür gurubunda olanların şubelerini idareci ve ya öğretmeni belirleyebilmeli.
Öğrenci listesinde kura öncesi sınıf belirleme yapılabiliyor. Bu öğrenciler kuraya girmiyor.

Tamamlandı: Öğretmenlere kendi çocukları veya istedikleri (mesela komşusu) çocukları seçme hakkı verilir.
Öğrenci listesinde kura öncesi sınıf belirleme yapılabiliyor. Bu öğrenciler kuraya girmiyor.
Tamamlandı: Ayrıca okul idarecileri için de aynı seçim hakkı olabilmeli.
Öğrenci listesinde kura öncesi sınıf belirleme yapılabiliyor. Bu öğrenciler kuraya girmiyor.
Tamamlandı: Sınıf kontenjanı aşma durumu genellikle okulun alacağı belli bölgeden gelen tüm öğrencileri alma zorunluluğu var.
Bu ya sınıf sayısını veya sınıf kontenjanını arttırarak olur.
Yani okul sınıf kontenjanı 25 fazlasını alamam deme hakkına sahip değil.
Bunun için milli eğitimin listesinin tamamı yerleşmek zorunda.
- Sınıflar için kontenjan ve sınıf mevcudunu aşabilir aşamaz bilgisi eklendi.

25.07.2017
Tamamlandı: Ayrıca bazı öğrenciler (kaynaştırma) için özür gurubu olabiliyor.
Tamamlandı: Özür gurubunda olan öğrenciler belli sınıflara eşit dağıtılır.
- Özür grubu öğrencileri için Ö yazılması yeterlidir.
Tamamlandı: Öğretmenler rastgele sınıflara dağıtılıyor mu? Dağıtım öncesinde öğretmenlerin sınıflarını belirleme.
Tamamlandı: Genelde okullar 1. sınıfı okutacak öğretmenlerin şubelerini de kura ile belirler.


Beklemede: Okul çocuğun ana sınıfında okuyup okumadığını sorguluyorsa onlar da eşit dağıtılmalı.
Beklemeden: 1. Sınıfta okumaya hak kazandığı halde velisinin yazılı dilekçesiyle ana sınıfına yerleştirilmesi gereken
66-67-68 aylık olan öğrenciler için bir seçenek olmalı.
Bu öğrenciler ana sınıfı kurasına girmeden otomatik ana sınıfına yerleşmeli. (Yönetmelik gereği)
Beklemede: Ana sınıfında da veliler bir çok okulda sabahçı veya öğlenci olmak isteyebiliyorlar. Bu seçenek konmalı.
Beklemede: Ana sınıfı için 48 aylıktan 65 aylığa kadar her çocuk müracaat edebiliyor.
Ancak okullar kontenjan sıkıntısından ve ana sınıfından sonra hemen 1 sınıfa başlayabilsinler diye
kurada 65- 64- 63 .... aylıklar gibi yaş olarak büyükten küçüğe doğru bir öncelik olsun istiyorlar.

Beklemede: Öğretmenlerin, öğrencilerin yaş grubuna göre belirli sınıfları var mı?
Beklemede: Öğrencilerin kaç aylık olduğuna göre dağılım
Beklemede: Aynı ayda doğanlar sınıflara dağıtılacak
Beklemede: Şu öğrenci bu sınıfta olmasın gibi bir kriter gerekli mi?
Beklemede: Öncelikle ana sınıfları için en önemli kriterler sabahçı öğlenci
Beklemede: Buna bazı okullar okul öncesi eğitim aldı mı almadı mı kriteri ekliyor.
Beklemede: 1. sınıf için Öğrencilerin sabah öğlen seçeneği bir çok okulda yok. Çünkü 1,2 genelde öğlenci olur.
 
Son düzenleme:
Programın çalışma mantığı aşağıdaki şekildedir.

* Öğrenci bilgileri girilirken doğum tarihi girildiğinde yıl olarak yaşını ve kaç aylık olduğunı otomatik yazar.
* Erkek yada Kız seçimini kontrol eder hatalı giriş kabul etmez. Büyük küçük harf düzenler.
* Sınıf kontenjanı aşılamaz tanımlı ise ve o sınıfa ön seçimli öğrenci atandığında sınıf kontenjanını geçiyor ise o öğrenci için "sınıf kontenjanı aşıldı" uyarısı verir.
*Tüm sınıflar kontenjan aşılamaz ise ve öğrenci atandığında tüm sınıfların kontenjanı dolu ise o öğrenci için "Okul kontenjanı aşıldı" uyarısı verir.


Sub menu()
* kura yöntemi seçiliyor. Dağılım kuralı mı yapılacak? Evet Hayır
kurayontemi = Sheets("Menu").Range("I6").Value
* Tüm değişkenler sıfırlanıyor.
Call sifirla
* Sınıf listesindeki sınıf mevcutlarına göre toplam kapasite hesaplanıyor.
Call toplam_kapasite
* Öğrenci listesinde öncelikli sınıfı belli olan öğrenciler aynı sıra ile en üste taşınıyor. Bu öğrenciler kuraya dahil edilmiyor.
Call belli_olanlari_uste_tasi
* Kura yöntemi evet ise toplam kontenjan kadar asiller ve yedekler rastgele belirleniyor. Toplam kontenjanı aşan numaralar Yedek olarak belirleniyor.
Call asilleri_belirle
* Kura numarasına göre öğrenci listesini yeniden sıralanıyor.
Call asilleri_sirala
* Tüm listeler dizi değişkenlere aktarılıyor.
Call liste_yukle
* Varsayılan sayfa isimleri haricindeki tüm sayfalar siliniyor. Sınıf sayfalarının silinmesi için.
Call sinif_Sayfalari_sil
*Sınıf listesindeki isimlere göre sınıf sayfaları oluşturuluyor.
Call sinif_Sayfalari_olustur
* Ön seçimli kız öğrenciler sınıflara yerleştiriliyor.
kizerkeksec = "K"
Call ozel_dagit_onsecimli
* Ön seçimli erkek öğrenciler sınıflara yerleştiriliyor.
kizerkeksec = "E"
Call ozel_dagit_onsecimli
* Tüm Kız öğrenciler sınıflara yerleştiriliyor.
kizerkeksec = "K"
Call ozel_dagit
* Tüm Erkek öğrenciler sınıflara yerleştiriliyor.
kizerkeksec = "E"
Call ozel_dagit
* Sınıfı belli olan tüm öğrencilerin sınıf bilgileri öğrenci listesini yazılıyor.
Call siniflistesi_yaz
' Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
 
Tamamlanan listesi güncellendi. Aşağıdaki işlemler tamamlandı.
Hafta sonu sanırım test sürümünü yayınlamış olurum. Daha detaylı kontrol edilebilir.

25.07.2017
Tamamlandı: Ayrıca bazı öğrenciler (kaynaştırma) için özür gurubu olabiliyor.
Tamamlandı: Özür gurubunda olan öğrenciler belli sınıflara eşit dağıtılır.
- Özür grubu öğrencileri için Ö yazılması yeterlidir.
Tamamlandı: Öğretmenler rastgele sınıflara dağıtılıyor mu? Dağıtım öncesinde öğretmenlerin sınıflarını belirleme.
Tamamlandı: Genelde okullar 1. sınıfı okutacak öğretmenlerin şubelerini de kura ile belirler.
 
Geri
Üst