• DİKKAT

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

Sayı dizisi seçmek.

Yazdığım kodları tekrar kontrol ettim bir mantık hatasına rastlamadım. Gözümden kaçan bir noktada olabilir.
Sizdeki 42 satırlık sonuç listesinin doğruluğunu kontrol ettiğiniz bir çalışma var mı?
Sizdeki listenin yanlış olma durumu olabilir mi?

Size yazdığım kodların basit şekilde algoritma akışını açıklamaya çalışayım, sizde akışta hata varsa belirtirsiniz.

başla(i)
i döngüsü: (K:N arası satır bazlı)
4 satırdan son K satırına kadar devam eder.

başla(j)
i döngüsündeki 4. satırı kontrol ederken;
j döngüsü çalışır. (C:H arası satır bazlı)
bu aşamada j döngüsü 4.satırdan başlar;

başladıkta sonra kontrollleri: (deg1 ve deg3 hesaplanır)
(deg1) K:N arası döngü satırındaki diziyi, R4:Wson_dolu_satır arasındaki sayıma sokar
sayım şartı; K:N satırındaki 4 lü dizi R4:Wson_dolu_satır arasında satır bazlı kaç satırda var.

(deg3) C:H arası döngü satırındaki diziyi, R4:Wson_dolu_satır arasındaki sayıma sokar
sayım şartı; C:H satırındaki 6 lı dizi R4:Wson_dolu_satır arasında satır bazlı 4 yada daha fazla kaç satırda var.

bu iki şart (deg1 ve de3) sıfıra eşitse, yani sayım sonuçları sıfırsa.
C:H arasını R:W arasındaki ilk boş hücreye yaz.
sayım sonucu aktarılan C:H ilgili satırını ele.

k döngüsüne başla: (yukarıdaki şart sağlasın yada sağlamasın deg2 ile kontrollerine devam ederek C:H arası 6 lı dizideki satırları eler.)
eleme sonrası ilk satırdan başlayarak,
(deg2) değeri bulunur. K:N arası dörtlü dizi, C:H arası 6 lı dizide var mı?
Yoksa ilgili satırları eler, varsa durur ve yukarıdaki 2 şartı (deg1 ve deg3) araştırır ve şartı sağlara diziyi yazar.
sonra şart sağlasın yada sağlamasın kaldığı yerden (son elenen satırdan sonra) başlamak üzere k döngüsüne başlar.

Bu tüm 4 ve 6 dizileri içine alarak son satıra kadar devam eder.

.
 
Yazdığım kodları tekrar kontrol ettim bir mantık hatasına rastlamadım. Gözümden kaçan bir noktada olabilir.

Sizdeki listenin yanlış olma durumu olabilir mi?

Size yazdığım kodların basit şekilde algoritma akışını açıklamaya çalışayım, sizde akışta hata varsa belirtirsiniz.



.

* Sizdeki 42 satırlık sonuç listesinin doğruluğunu kontrol ettiğiniz bir çalışma var mı? 42 li liste kesin doğru. 1 den 18 e kadar 6 sayı seçin ve kendiniz test edin, en az 4 kesin var, defalarca denedim.

* yaptığınız akışı sakin kafayla anlamaya çalıştım ama nafile çok karmaşık kod bilmeyince.

- farklı bi'şey sorayım hücrede koşul gerçekleştiği zaman hücre renk değiştiriyor, sanırım bu değişen renk okunamıyor değil mi? biraz araştırdım normal dolgu rengi sayılabiliyor filan ama koşulda algılamıyor kod sanırım doğrumudur? şayet koşul gerçekleştiği zaman kırmızıya dönüşen hücre sayılabiliyorsa , sıradan bir makroyla çözülebilir.....

-- ben #30 nolu mesajımda ısrarcıyım. yani düğmeye bastıkça satır satır çalışacak bir kod....
 
Son düzenleme:
Kodlar karışık değil sıradan bir yapısı var.
Benim eklediğim kodlarda renk ile ilgili bir satır yok. Koşula uyanları dizi bazında renklendirebilir yada sayabilirsiniz. Verdiğim kodun içinde sayım yapan formül var. Zaten kodun mantığı da bu sayımlar üzerine kurulu. Sayım sonuçlarına göre yazar yada 6 lı diziyi eler.

=SUM((MMULT(ISNUMBER(MATCH(" & x1 & "," & y1 & ",0))+0,{1;1;1;1;1;1})=4)+0)

Örneğin aşağıdaki Türkçe yapısı ile;

=Topla((dçarp(esayıysa(kaçıncı(r4:w8;c4:h4;0))+0;{1\1\1\1\1\1})>3)+0)

C4:h4 dizisi r4:e8 arasında satır bazında 4 yada daha fazla kaç tane eşleşen olduğunu sayar. Bunun gibi toplamda 3 formül sonucuna göre kodlar hareket eder.

Kodu satır satır çalıştırmak için vba ekranına girerek f8 ile çalıştırabilirsiniz yalnız bu bu satır sayısına göre saatlerinizi alabilir. Son1 ve son2 değerlerine daha küçük satır sayısı vererek deneyin isterseniz.
Yada kodun içine msgbox koyarak adımlar takip edilir fakat satır sayısına göre süre yine saatlerinizi alabilir.

Şuan telefondan yazdığım için formülü yazdım fakat denemedim. Umarım parantez hatası yapmamışımdır.

Siz 6. Satırdaki 1 4 5 8 9 10 serisi hangi durumda elendiğini yazarsanız emin olun sorun çözülecektir. Çünkü mevcut açıklamanıza göre kodun yapısı bana göre doğru.

4 lü diziyi 6 lı dizide kontrol et, eğer bulursa ve bu bulunan dizi daha önce sonuç dizisinde satır bazında 4 yada daha fazla dizi değeri ile eşlemiyorsa yaz. Yazdıktan sonra bu kapsama giren dizileri ele.
Aksi olan tüm durumlarda ilgili 6 lı dizileri ele ve bir sonraki 4 lü diziyi kontrol et.

.
 
Kodlar karışık değil sıradan bir yapısı var.
Benim eklediğim kodlarda renk ile ilgili bir satır yok. Koşula uyanları dizi bazında renklendirebilir yada sayabilirsiniz. Verdiğim kodun içinde sayım yapan formül var. Zaten kodun mantığı da bu sayımlar üzerine kurulu. Sayım sonuçlarına göre yazar yada 6 lı diziyi eler.

=SUM((MMULT(ISNUMBER(MATCH(" & x1 & "," & y1 & ",0))+0,{1;1;1;1;1;1})=4)+0)

Örneğin aşağıdaki Türkçe yapısı ile;

=Topla((dçarp(esayıysa(kaçıncı(r4:w8;c4:h4;0))+0;{1\1\1\1\1\1})>3)+0)

C4:h4 dizisi r4:e8 arasında satır bazında 4 yada daha fazla kaç tane eşleşen olduğunu sayar. Bunun gibi toplamda 3 formül sonucuna göre kodlar hareket eder.

Kodu satır satır çalıştırmak için vba ekranına girerek f8 ile çalıştırabilirsiniz yalnız bu bu satır sayısına göre saatlerinizi alabilir. Son1 ve son2 değerlerine daha küçük satır sayısı vererek deneyin isterseniz.
Yada kodun içine msgbox koyarak adımlar takip edilir fakat satır sayısına göre süre yine saatlerinizi alabilir.

Şuan telefondan yazdığım için formülü yazdım fakat denemedim. Umarım parantez hatası yapmamışımdır.

Siz 6. Satırdaki 1 4 5 8 9 10 serisi hangi durumda elendiğini yazarsanız emin olun sorun çözülecektir. Çünkü mevcut açıklamanıza göre kodun yapısı bana göre doğru.

4 lü diziyi 6 lı dizide kontrol et, eğer bulursa ve bu bulunan dizi daha önce sonuç dizisinde satır bazında 4 yada daha fazla dizi değeri ile eşlemiyorsa yaz. Yazdıktan sonra bu kapsama giren dizileri ele.
Aksi olan tüm durumlarda ilgili 6 lı dizileri ele ve bir sonraki 4 lü diziyi kontrol et.

.

Hocam bende telden yazıyorum, sizden istirhamım şu videoyu hiç atlamadan üşenmeden sonuna kadar izleyin lütfen. 6.SEÇİM çözümü içinde.... yine olmadı derseniz 10 saatte olsa tek tek yapacağım :roll:

https://vimeo.com/260247588
 
Sayın rgulec50,

Videoyu izlemiştim, tekrar izledim. Bana göre bir sorun yok. Hata aynı mantıkla yeteri kadar silme işlemini de yaparak denedim. Sizde gereken kontrolü yapıp kodun 6. satırdaki sonuç verisinin neden elemesi gerektiğini açıklarsanız sevinirim.

Silme işlemiyle ilgili yardımcı olması için formül ve koşullu biçimlendirmeli bir dosya ekliyorum. Bu dosyada bana göre, B2 değeri "DOĞRU" sonucunu üretirse kopyalama işlemi yapılabilir. DOĞRU olduğunda hücre kırmızı olacaktır.

Formülleri tüm sonuçlar için değil, silmede yardımcı olsun diye 6.seçime kadar uyguladım.

O sütunundaki formül, seçilecek dizi sonuç sütunundaki satırda daha önce 4 yada daha fazla değer içeriyormu mu kontrol eder.
P sütunundaki formül, 4 lü dizi sonuç sütunundaki satırda var mı diye kontrol eder.
F1 deki formül sonucu eleme sonrası sıfır değerini üretmeli. Diziler sıralı olduğu için atlama olacağını sanmıyorum fakat ben yinede ekledim.

Sizin bakmanız gereken sonuç hücresi B2 dir. Kırmızı olursa dizi geçerli. Tabi bana göre.

.
 

Ekli dosyalar

Alternatif olarak ilk eklediğiniz dosyadan anladığım kadarı ile yola çıkmıştım .

Ekli dosyada CommandButton1 ,CommandButton2, CommandButton3 komut düğmeleri var

sırası ile bunları tıkla.

CommandButton1 ve CommandButton2 biraz uzun sürüyor bekleyiniz.

K ve L sütunları yardımcı sütun olarak kullanıldı.
 

Ekli dosyalar

46 nolu mesajdaki dosyayı güncelledim.
 
Sayın rgulec50,

Videoyu izlemiştim, tekrar izledim. Bana göre bir sorun yok. Hata aynı mantıkla yeteri kadar silme işlemini de yaparak denedim. Sizde gereken kontrolü yapıp kodun 6. satırdaki sonuç verisinin neden elemesi gerektiğini açıklarsanız sevinirim.

Silme işlemiyle ilgili yardımcı olması için formül ve koşullu biçimlendirmeli bir dosya ekliyorum. Bu dosyada bana göre, B2 değeri "DOĞRU" sonucunu üretirse kopyalama işlemi yapılabilir. DOĞRU olduğunda hücre kırmızı olacaktır.

Formülleri tüm sonuçlar için değil, silmede yardımcı olsun diye 6.seçime kadar uyguladım.

O sütunundaki formül, seçilecek dizi sonuç sütunundaki satırda daha önce 4 yada daha fazla değer içeriyormu mu kontrol eder.
P sütunundaki formül, 4 lü dizi sonuç sütunundaki satırda var mı diye kontrol eder.
F1 deki formül sonucu eleme sonrası sıfır değerini üretmeli. Diziler sıralı olduğu için atlama olacağını sanmıyorum fakat ben yinede ekledim.

Sizin bakmanız gereken sonuç hücresi B2 dir. Kırmızı olursa dizi geçerli. Tabi bana göre.

.

sabahtan beri 3 deneme yapabildim, sorunuza cevabım yok, sanırım benim yaptığım kurguda hata var .. :redface:

fakat çözüme bir adım daha yaklaştık, en azından hataları hızlı görebiliyorum... doğru kurguyu bulduğum an buradan paylaşacağım...

42 li liste doğru, ona ulaşmak için farklı kurgu yapabilirseniz bu da bir yol tabii... emeğinize sağlık....

46 nolu mesajdaki dosyayı güncelledim.

ilginiz için tşk ettim hocam , fakat ömer hocama dediğim gibi bi yerde bişeyleri atlıyoruz onu çözmek lazım...
 
Son düzenleme:
Merhaba.

Mükerrerlik olayını anladım ama bir hususu sormak istiyorum.

24 numaralı cevapta verdiğiniz olması gereken listesinin 5'inci satırından ( 1 2 3 16 17 18)
6'ncı seçenekteki ( 1 4 7 10 13 16 ) satırına gelirken;

►K:N sütun aralığındaki 1 4 7 10 seçeneğinden önce gelen 1 4 5 8 seçeneği için işlem yapıldığında
(bu seçeneğe kadar sorunsuz gelindiğini düşünerek elbette) ,
►C:H sütun aralığındaki 1 4 5 8 9 10 seçeneği neden seçilmiyor acaba?
.
 
Merhaba.

Mükerrerlik olayını anladım ama bir hususu sormak istiyorum.

24 numaralı cevapta verdiğiniz olması gereken listesinin 5'inci satırından ( 1 2 3 16 17 18)
6'ncı seçenekteki ( 1 4 7 10 13 16 ) satırına gelirken;

►K:N sütun aralığındaki 1 4 7 10 seçeneğinden önce gelen 1 4 5 8 seçeneği için işlem yapıldığında
(bu seçeneğe kadar sorunsuz gelindiğini düşünerek elbette) ,
►C:H sütun aralığındaki 1 4 5 8 9 10 seçeneği neden seçilmiyor acaba?
.

takıldığımız nokta orası, bulursanız çözümü bizimle de paylaşın lütfen.
 
Siz oluşması gereken listeye nereden ulaştınız?

Yani işin kaynağı neresi?
 
Son ceabınız beni çok şaşırttı doğrusu.
Bu cevabınızdan benim anladığım; olması gereken listesini sizin hazırlamadığınız.

İzah edemiyorsanız, şematize ettiğiniz yapıda sorun vardır diye düşünüyorum.

İlginç.
.
 
Siz oluşması gereken listeye nereden ulaştınız?

Yani işin kaynağı neresi?

Son ceabınız beni çok şaşırttı doğrusu.
Bu cevabınızdan benim anladığım; olması gereken listesini sizin hazırlamadığınız.

İzah edemiyorsanız, şematize ettiğiniz yapıda sorun vardır diye düşünüyorum.

İlginç.
.

listeyi netten buldum, çok beğendim, algoritmasını çözümleyip farklı sayıda dizilerde kullanmayı umuyorum. Doğruluğunun tek kanıtı 18 sayıdan herhangi 6 sayı seçtiğiniz zaman 4 kesin oluyor 42 dizi içinde....

Bir algoritması var mıdır derseniz "olmalı" diye düşünüyorum. Ömer hocamın hazırladığı kodu değiştirerek hızlı denemeler yapıyorum fırsat buldukça...

Çözüme ulaşırsam buradan paylaşırım, ilgilenen, emek veren herkese tşk ederim.
 
Netten bulduğunuzu tahmin etmiştim. Bulduğunuz yerde algoritmasından bahsetmiyorlar mı?

Adresi verirseniz araştırma şansımız olur.
 
Netten bulduğunuzu tahmin etmiştim. Bulduğunuz yerde algoritmasından bahsetmiyorlar mı?

Adresi verirseniz araştırma şansımız olur.

yok hocam öyle bi'şey olsa ne sizi ne kendimi yorarım inanın. eskiden indirdiğim arşiv dosyalardan...

üzerinde çalıştığım istatistiki bir konu var, daha önce dediğim gibi bu 42 li seçilimi çok beğendim arşivlemiştim lazım olursa algoritmasını çözerim nasılsa diye :redface: ......

açıkçası algoritmasını çözersem bi sonraki aşamada sizden yardım isteyeceğim konu bunu 6 lı ve 4 lü diziden bağımsız hale getirecek bir kod olacaktı... :roll: yani atıyorum 9 lu 3lü seçilim gibi v.s. :agla:

ilginiz için tekrar tşk ederim. :ok::

şuuu %99,99 doğru yazdığım mesajım neredeydi bulup oranı düşüreyim bari :kafa: :rolleyes::oops::gidiyorum:
 
Son düzenleme:
listeyi netten buldum, çok beğendim, algoritmasını çözümleyip farklı sayıda dizilerde kullanmayı umuyorum. Doğruluğunun tek kanıtı 18 sayıdan herhangi 6 sayı seçtiğiniz zaman 4 kesin oluyor 42 dizi içinde....

Çok eliyorsunuz. 18 sayının içine 6 sayı garanti soktuğunuzda 4, 5 ve 6 çıkma olasılığı var ancak sadece 4 sayı soktuğunuzda 4 garanti değil 42 adet olasılık içinde. 104 olasılık olması gerek.

Fazla eliyorsunuz.

Sayısal lotonun çıktığı tarihten beri bunları çok inceledim. Siz en iyisi vaz geçin.

Ömer beyin yaptığı kodlar başlangıçta çalışıyorsa sonunda da çalışır.

O da 42 yi aşıyorsa elden ne gelir? :)
 
Çok eliyorsunuz. 18 sayının içine 6 sayı garanti soktuğunuzda 4, 5 ve 6 çıkma olasılığı var ancak sadece 4 sayı soktuğunuzda 4 garanti değil 42 adet olasılık içinde. 104 olasılık olması gerek.

Fazla eliyorsunuz.

Sayısal lotonun çıktığı tarihten beri bunları çok inceledim. Siz en iyisi vaz geçin.

Ömer beyin yaptığı kodlar başlangıçta çalışıyorsa sonunda da çalışır.

O da 42 yi aşıyorsa elden ne gelir? :)

nasıl garanti değil hocam?

1 den 18 e kadar 6 sayı seçin, 42 dizi içinde en az 1 adet 4 garanti var... Uymayan 6 lı diziyi bulursanız (şimdiye kadar bana denk gelmedi) o diziyi burada paylaşın, bizde boşa uğraşmayalım..
 
Tekrar merhaba.

Olması gereken dediğiniz liste oluşmuyor ancak,
sizin elle yaptığınız işlemler, akışı görebileceğiniz şekilde adım adım yürütülüyor, yararlı olabilir.

Kod'u;
-- istediğiniz 4'lü grup seçeneğine kadar aralıksız,
-- ardından adım adım,
-- tüm sonuçlar alınıncaya kadar aralıksız
çalıştırabilirsiniz.

Ekli belgeyi inceleyip, şematize ettiğiniz akışı kontrol edebilirsiniz.

Kolay gelsin.
.
 

Ekli dosyalar

Tekrar merhaba.

Olması gereken dediğiniz liste oluşmuyor ancak,
sizin elle yaptığınız işlemler, akışı görebileceğiniz şekilde adım adım yürütülüyor, yararlı olabilir.

Kod'u;
-- istediğiniz 4'lü grup seçeneğine kadar aralıksız,
-- ardından adım adım,
-- tüm sonuçlar alınıncaya kadar aralıksız
çalıştırabilirsiniz.

Ekli belgeyi inceleyip, şematize ettiğiniz akışı kontrol edebilirsiniz.

Kolay gelsin.
.

ilginiz için tşk ederim, akşam kontrol edip bilgi veririm.
 
Geri
Üst