• DİKKAT !

    Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı ya da giriş yapmalısınız. Foruma üye olmak Dosya Yükleme tamamen ücretsizdir.

Soru rastgele seçim yaparken bazı değerlere öncelik vermek

GhostNova

Yeni Üye
Katılım
7 Mar 2025
Mesajlar
25
Aldığı beğeni
1
Excel V
Office 365 TR
Konu Sahibi
Merhaba çalışan bir kodum var bazı kısıtlara göre atama yapıyor ama sonradan farkettim ki bu atamada sürekli rastgele sayılarla atanmasından dolayı adaletsizlik oluşuyor. Örneğin bir kişi son dört seferde iki üç sefer atanmaya biliyor diğerleri sürekli atanıyor. Örnek bir excel dosyası oluşturdum orada çalışan kodum var. Güncel dosyada şuan kod önce atama yapıyor sonrasında buton yardımıyla atanmayanlarıda listeliyor aklıma gelen fikir son 4 seferde atanmayanlara öncelik verip hepsini atayıp kalan boşluklarıda eski mantıkla atama yapması. Yardımcı olacaklara şimdiden teşekkürler.
 
Merhaba.
Konuyu baştan alıp tam olarak ne yapmak istediğinizi örnek bir dosya ile pekiştirerek sorarsanız daha anlaşılır olacaktır.
Genelde yeni kod yazmak var olan kodları değiştirmekten daha kolaydır.
 
Konu Sahibi
Elimdeki kod insanları bölgeleri rastgele atıyor ama bazı şartları var o şartları sağlayabilmek için referans değerleri oluşturdum. Mesela atanacak kişi kendi bölümündeki bölgeye gidemez kendi bölümüne zaten gidemez. Bunu sağlamak için kişiye referans değeri verdim kendi bölümünü gösteriyor bölgelerede eşleşme değerleri atadım çünkü bazı bölgeler 2-3 farklı bölüm atanamaz. referans1 değeri eşleşme1-2-3-4 e eşit değilse o zaman atama yapıyor atama seçtiği hücreninde bir altına aynı şartları sağlıyorsa atama yapıyor. eğer bir alt satırı başka bir bölge var ise o zaman sadece bir kere atanıyor yani temelde istediğim herkes iki kere alt alta aynı bölgelere(j sütunu) olacak şekilde atansın. eğer bir kere atandıktan sonra alt satırdaki bölgesi başka bir bölgeye geçiş yapıyorsa sadece bir kere atanıyor ve birdaha da seçilmiyor. temelde bunu yapıyor ama bazı istisnaları var x kişisi her zaman aynı yere son üç yere atanıyor. z kişisi sadece üa olmayan yerlere atanıyor ve zyi 4 kere atamak istiyorum. Normalde herkes 2 kere farklı bölgeye geçişte bir kere atanıyor x üç kere z 4 kere her seferinde bu şartlarla atanmak zorunda(x ve z her seferinde atanıcak) zorunda. diğerlerini ise 4/5 seferde bir dinlendirmek istiyorum onun içinde son beş seferde 10 kereden fazla atandıysa onu dinledirmek için seçmeme şartı koydum. Kod temelde bunları yapıyor biraz karışık olduğu için koda eklemek istediğim şeyi yazdım sadece. ayrıca seçilmeyenleri göster makrosu ekledim ama oraya bakınca farkettim ki bazı kişiler rastgelelikten dolayı örneğin 3 atamanın ikisinde atanmamış böyle ihtimaller doğuyor amacım bunun önüne geçmek. Umarım yardımcı olabilirsiniz. Şimdiden teşekürler.
 
Elimdeki kod insanları bölgeleri rastgele atıyor ama bazı şartları var o şartları sağlayabilmek için referans değerleri oluşturdum. Mesela atanacak kişi kendi bölümündeki bölgeye gidemez kendi bölümüne zaten gidemez. Bunu sağlamak için kişiye referans değeri verdim kendi bölümünü gösteriyor bölgelerede eşleşme değerleri atadım çünkü bazı bölgeler 2-3 farklı bölüm atanamaz. referans1 değeri eşleşme1-2-3-4 e eşit değilse o zaman atama yapıyor atama seçtiği hücreninde bir altına aynı şartları sağlıyorsa atama yapıyor. eğer bir alt satırı başka bir bölge var ise o zaman sadece bir kere atanıyor yani temelde istediğim herkes iki kere alt alta aynı bölgelere(j sütunu) olacak şekilde atansın. eğer bir kere atandıktan sonra alt satırdaki bölgesi başka bir bölgeye geçiş yapıyorsa sadece bir kere atanıyor ve birdaha da seçilmiyor. temelde bunu yapıyor ama bazı istisnaları var x kişisi her zaman aynı yere son üç yere atanıyor. z kişisi sadece üa olmayan yerlere atanıyor ve zyi 4 kere atamak istiyorum. Normalde herkes 2 kere farklı bölgeye geçişte bir kere atanıyor x üç kere z 4 kere her seferinde bu şartlarla atanmak zorunda(x ve z her seferinde atanıcak) zorunda. diğerlerini ise 4/5 seferde bir dinlendirmek istiyorum onun içinde son beş seferde 10 kereden fazla atandıysa onu dinledirmek için seçmeme şartı koydum. Kod temelde bunları yapıyor biraz karışık olduğu için koda eklemek istediğim şeyi yazdım sadece. ayrıca seçilmeyenleri göster makrosu ekledim ama oraya bakınca farkettim ki bazı kişiler rastgelelikten dolayı örneğin 3 atamanın ikisinde atanmamış böyle ihtimaller doğuyor amacım bunun önüne geçmek. Umarım yardımcı olabilirsiniz. Şimdiden teşekürler.
Yaziyi görünce okuyasim gelmedi. Hocam nokta, virgül ve paragraf kullanabilirsin. Boyle okumasi işkence
 
Elimdeki kod insanları bölgeleri rastgele atıyor ama bazı şartları var o şartları sağlayabilmek için referans değerleri oluşturdum. Mesela atanacak kişi kendi bölümündeki bölgeye gidemez kendi bölümüne zaten gidemez. Bunu sağlamak için kişiye referans değeri verdim kendi bölümünü gösteriyor bölgelerede eşleşme değerleri atadım çünkü bazı bölgeler 2-3 farklı bölüm atanamaz. referans1 değeri eşleşme1-2-3-4 e eşit değilse o zaman atama yapıyor atama seçtiği hücreninde bir altına aynı şartları sağlıyorsa atama yapıyor. eğer bir alt satırı başka bir bölge var ise o zaman sadece bir kere atanıyor yani temelde istediğim herkes iki kere alt alta aynı bölgelere(j sütunu) olacak şekilde atansın. eğer bir kere atandıktan sonra alt satırdaki bölgesi başka bir bölgeye geçiş yapıyorsa sadece bir kere atanıyor ve birdaha da seçilmiyor. temelde bunu yapıyor ama bazı istisnaları var x kişisi her zaman aynı yere son üç yere atanıyor. z kişisi sadece üa olmayan yerlere atanıyor ve zyi 4 kere atamak istiyorum. Normalde herkes 2 kere farklı bölgeye geçişte bir kere atanıyor x üç kere z 4 kere her seferinde bu şartlarla atanmak zorunda(x ve z her seferinde atanıcak) zorunda. diğerlerini ise 4/5 seferde bir dinlendirmek istiyorum onun içinde son beş seferde 10 kereden fazla atandıysa onu dinledirmek için seçmeme şartı koydum. Kod temelde bunları yapıyor biraz karışık olduğu için koda eklemek istediğim şeyi yazdım sadece. ayrıca seçilmeyenleri göster makrosu ekledim ama oraya bakınca farkettim ki bazı kişiler rastgelelikten dolayı örneğin 3 atamanın ikisinde atanmamış böyle ihtimaller doğuyor amacım bunun önüne geçmek. Umarım yardımcı olabilirsiniz. Şimdiden teşekürler.
GhostNova bu kadar yazı yerine açıklayıcı örnek belge ile sormaniz daha uygun olacaktır.
 
Konu Sahibi
Nokta ve virgül ile ayrılmış zaten anlaşılan hiç bakmamışsınız..
Yine de paragraflara bölebilirim.

Elimdeki kod insanları bölgeleri rastgele atıyor ama bazı şartları var.
Mesela atanacak kişi kendi bölümündeki bölgeye gidemez kendi bölümüne zaten gidemez.
Bunu sağlamak için kişiye referans değeri verdim kendi bölümünü gösteriyor bölgelerede eşleşme değerleri atadım çünkü bazı bölgeler 2-3 farklı bölüm atanamaz.
Referans1 değeri eşleşme1-2-3-4 e eşit değilse o zaman atama yapıyor atama seçtiği hücreninde bir altına aynı şartları sağlıyorsa tekrar atama yapıyor. Eğer bir alt satırında başka bir bölge var ise o zaman sadece bir kere atanıyor yani temelde istediğim herkes iki kere alt alta aynı bölgelere(j sütunu) olacak şekilde atansın.

Eğer bir kere atandıktan sonra alt satırdaki bölgesi başka bir bölgeye geçiş yapıyorsa sadece bir kere atanıyor ve birdaha da seçilmiyor.
Temelde bunu yapıyor ama bazı istisnaları var x kişisi her zaman aynı yere son üç yere atanıyor. z kişisi sadece üa olmayan yerlere atanıyor ve zyi 4 kere atamak istiyorum.
Normalde herkes 2 kere farklı bölgeye geçişte bir kere atanıyor x üç kere z 4 kere her seferinde bu şartlarla atanmak zorunda(x ve z her seferinde atanıcak) zorunda.
Diğerlerini ise 4/5 seferde bir dinlendirmek istiyorum onun içinde son beş seferde 10 kereden fazla atandıysa onu dinledirmek için seçmeme şartı koydum.
Birde bir kişi son dört seferde aynı bölgeye atanmamalı şartı var.

Kod temelde bunları yapıyor biraz karışık olduğu için koda eklemek istediğim şeyi yazdım sadece.
Ayrıca seçilmeyenleri göster makrosu ekledim ama oraya bakınca farkettim ki bazı kişiler rastgelelikten dolayı örneğin 3 atamanın ikisinde atanmamış böyle ihtimaller doğuyor amacım bunun önüne geçmek.
 
Konu Sahibi
GhostNova bu kadar yazı yerine açıklayıcı örnek belge ile sormaniz daha uygun olacaktır.
Açıklayıcı örnek belge zaten var çalışan kod var..

Koda ekleme yapmak istediğimi söyleyince kodun genel amacı sorulmuş bende açıkladım. Zaten içinde bir sürü kıstası olan bir program kafa karıştırmamak için yazmadım istenildi diye açıkladım.

İstediğim tek değişiklik seçilmeyenler olarak listelenen yere öncelik verip ilk olarak onlar atanacak, sonra diğerleri.
 
Kodlarınız çok karışık bu kodları analiz etmek yenisini yazmaktan daha zor.
Mevcut kodları bırakın, madde madde ne yapmak istiyorsunuz onu yazın.
Merak ettim A sütunundaki formülde sabit olarak girdiğiniz kişi adları nedir.
 
Geri
Üst