[]

excel sorusu (ya da siz olsanız nasıl yapardınız sorusu)

selam,

gün içinde önüme aşağıdaki gibi bir iş geldi. acaba daha kısa bir yolu var mıydı diye sizlere sorayım dedim. canı sıkılan bir excel uzmanıysanız sudoku çözmek gibi gelecektir.

A Kolonunda 31 tane kodumuz var. Bunlar birer dondurmayı temsil ediyor. B kolonunda bunların isimleri C kolonunda bunlardan kaç adet eksik olduğu bulunuyor.

Yapılması gereken şey;

A kolonunda bulunan kodların C kolonunda yazan eksik adetlere göre toplamda 10 kolonluk matrise sığacak şekilde (kaç satır yaratacağımız önemli değil ancak ne kadar az satır o kadar iyi) randomize şekilde yerleştirilmesi gerekiyor. Buradaki en önemli kısıt satıra dizilen kodların tekrar etmemesi.
sütunlarda tekrar durumu mümkün mertebe istenmiyor ancak gerekirse tekrar edebilir.
toplam eksik adet 213. 10 kolonu geçemediğimiz için min 22 sayıda satır kullanılacak. (boşta kalacak 7 satıra hangi kodun geldiği önemli değil).
süreniz 30 dakikadan az :)) (sizin için yok şu an ama benim üzerimde süre kısıtı da vardı, bu duyuruya vereceğim ikinci cevapta nasıl yaptığımı da yazacağım)

ilgili dosyayı aşağıdaki linke yükledim. "İstenen" sheetinde durumu koydum. "BenNasılYaptım" sheetine de belki fikir verir diye kendi yarattığım 22x10luk matrisi bıraktım.

dosya.co

 
BEN NASIL YAPTIM?

ilk olarak en fazla eksik olan sayıları datada elimle yazdım. sonra baktım gözle sayamıyorum, eksik adetlerin yazdığı kolonun yanına tablodurum kolonu açıp countif ile yazdığım sayıların skorunu gözlemledim. daha sonra fark kolonu yaratıp hangi kod için ne kadar eksiğim var ona baktım. sayıları rastgele yerleştirdim ancak satırda aynı sayıyı birden fazla kullanamadığım için bu sefer bu 39 kod için 39 kolon açıp countif ile satırlarda kaç defa kullanmışım ona baktım. min 0 max 1 görünce tekrar etmediğimi anladım ancak bir de yarattığım matrixi başka bir yere transpose yapıştırıp çiftleyenleri uçurdum (çiftleyen çıkmadı.)
tüm olayı elle yaptığım için biraz zaman aldı haliyle.
  • lucky strike  (30.05.17 23:03:37) 
Makro yazarak çözerdim.

Hangi üründen kaç tane eksikse random olarak önce ürünü bulup sırayla hücrelere yazmaya başlardım. 10. kolona gelince bir alt satırdan devam ederdim.
  • cakabo  (30.05.17 23:20:11) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.