• DİKKAT

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

Verilerin hangi aralıkta dağıldığını bulma..

  • Konbuyu başlatan Konbuyu başlatan c_235
  • Başlangıç tarihi Başlangıç tarihi
Katılım
23 Ocak 2007
Mesajlar
55
Excel Vers. ve Dili
2003
Kolay gelsin arkadaşlar......
Önceden hesaplamış olduğum verileri, kendi oluşturduğum bir dizi içerisinde hangi aralıkta kaldığını bulan bir program sazmak istiyorum..

örneğin : k=500 olsun ve 20 bölerek,her bir aralığı belirleyelim.
aralık:0 başlayıp 25'er adımla artacak ve 500 'de duracak..
Önceden hesaplamış olduğum verileri bu dizi içerisinde nerede kaldığını bulmam gerekiyor.. heasplamış olduğum veriler dosya içerisindedir, ve k=500 olacaktır..
 

Ekli dosyalar

Merhaba,
sorunuz çok açık değil ama ekteki örneği inceleyiniz,
iyi çalışmalar.
 

Ekli dosyalar

Son düzenleme:
Merhaba ,ilgilendiğiniz için çok teşkkür ederim , bu şekilde değil sorunu detaylı anlatayım,,
Şimdi A sutununda 25 tane veri var. bunu belli bir dizi içerisinde nereye düştüğünü saınayacağım...

A sutunundaki veriler ;223,53484
231,41884
221,80036
215,33548
215,33548
197,35996
220,6966
193,891
200,1982
227,0038
209,02828
177,80764
189,47596
210,92044
184,11484
212,8126
202,72108
202,72108
209,02828
195,62548
184,90324
206,5054
201,93268
218,96212
203,66716


Şimdi k parametresi 25 adımla artacak[0,25,50,...500]

Örneğin;(0-25) arasında herhangibir veri yok keza yine (100-125) veri yok
(175-200) arasında 7 tane veri dağıldığını görülmektedir., işte verilerin hangi aralıkta düştüğünü bu şekilde bulmam gerekiyorr......Benim yaptığım bir makro aşağıda ekledim ,ama bundaki sorun çok fazla veri eklediğimde excel çok yavaşlıyor.....yazdığım makroyu biraz daha geliştirmek istiorum yinde ilgilendiğin iiçin çok teşkkür ederim

[YAZDIĞIM KOD]
k=500
say = 25
For i = 1 To 21
say1 = 0
say2 = 0
say3 = 0
say4 = 0
say5 = 0
say6 = 0
say7 = 0
say8 = 0
say9 = 0
say10 = 0
say11 = 0
say12 = 0
say13 = 0
say14 = 0
say15 = 0
say16 = 0
say17 = 0
say18 = 0
say19 = 0
say20 = 0
say21 = 0

For j = 1 To 25
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) = 0 Then say1 = say1 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 0 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (k / 20) Then say2 = say2 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (2 * k / 20) Then say3 = say3 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 2 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (3 * k / 20) Then say4 = say4 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 3 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (4 * k / 20) Then say5 = say5 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 4 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (5 * k / 20) Then say6 = say6 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 5 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (6 * k / 20) Then say7 = say7 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 6 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (7 * k / 20) Then say8 = say8 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 7 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (8 * k / 20) Then say9 = say9 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 8 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (9 * k / 20) Then say10 = say10 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 9 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (10 * k / 20) Then say11 = say11 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 10 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (11 * k / 20) Then say12 = say12 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 11 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (12 * k / 20) Then say13 = say13 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 12 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (13 * k / 20) Then say14 = say14 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 13 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (14 * k / 20) Then say15 = say15 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 14 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (15 * k / 20) Then say16 = say16 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 15 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (16 * k / 20) Then say17 = say17 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 16 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (17 * k / 20) Then say18 = say18 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 17 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (18 * k / 20) Then say19 = say19 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 18 * k / 20 And Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) < (19 * k / 20) Then say20 = say20 + 1
If Sheets("Üçlü sıra").Cells(j + say + 1, i + 1) > 19 * k / 20 Then say21 = say21 + 1
Next
Sheets("Üçlü sıra").Cells(say + j - 20, i + 30) = say1 / 22
Sheets("Üçlü sıra").Cells(say + j - 19, i + 30) = say2 / 22
Sheets("Üçlü sıra").Cells(say + j - 18, i + 30) = say3 / 22
Sheets("Üçlü sıra").Cells(say + j - 17, i + 30) = say4 / 22
Sheets("Üçlü sıra").Cells(say + j - 16, i + 30) = say5 / 22
Sheets("Üçlü sıra").Cells(say + j - 15, i + 30) = say6 / 22
Sheets("Üçlü sıra").Cells(say + j - 14, i + 30) = say7 / 22
Sheets("Üçlü sıra").Cells(say + j - 13, i + 30) = say8 / 22
Sheets("Üçlü sıra").Cells(say + j - 12, i + 30) = say9 / 22
Sheets("Üçlü sıra").Cells(say + j - 11, i + 30) = say10 / 22
Sheets("Üçlü sıra").Cells(say + j - 10, i + 30) = say11 / 22
Sheets("Üçlü sıra").Cells(say + j - 9, i + 30) = say12 / 22
Sheets("Üçlü sıra").Cells(say + j - 8, i + 30) = say13 / 22
Sheets("Üçlü sıra").Cells(say + j - 7, i + 30) = say14 / 22
Sheets("Üçlü sıra").Cells(say + j - 6, i + 30) = say15 / 22
Sheets("Üçlü sıra").Cells(say + j - 5, i + 30) = say16 / 22
Sheets("Üçlü sıra").Cells(say + j - 4, i + 30) = say17 / 22
Sheets("Üçlü sıra").Cells(say + j - 3, i + 30) = say18 / 22
Sheets("Üçlü sıra").Cells(say + j - 2, i + 30) = say19 / 22
Sheets("Üçlü sıra").Cells(say + j - 1, i + 30) = say20 / 22
Sheets("Üçlü sıra").Cells(say + j, i + 30) = say21 / 22
Next
 
Merhabalar,

Eğer anlattıklarınızdan anladığım şey doğru ise; makro kullanmadan bu işi yapabilirsiniz.

Ekteki dosyayı inceleyiniz. Aralık ve artış parametrelerini değiştirerek, frekansı gözlemleyiniz.

.
 

Ekli dosyalar

Tam stediğim gibi olmuş çok sağolun, ama ben yaklaşık 200 bin tane veriyi bu şekilde sınamam gerekiyor ,benim yazdığım kod çalışor ama çok yavaş çalışıyor, bu işlemi daha az kodla nasıl yapabiliriz..?
 
Merhaba,
güncellenmiş dosyayı incelermisiniz, kolay gelsin.
 
Mükemmel olmuş dostum ellerine sağlık....
 
Geri
Üst