Minimuma en yakın sayı ve bulma formu

Katılım
7 Temmuz 2004
Mesajlar
48
Merhaba,

A2:a10 arasında çeşitli sayılar var,Bu sayıların en küçüğüne yakın bir sayı nasıl formullendirilir veya makro yazılabilirmi acaba? Ã?rneğin : en küçük sayı 4.2 olsun ...kodla bunun 0.1 altı yani 4.1 otomatik bulunabilirmi?

Ekteki Excel kitabında sayfa 1 de formu açtığımda combox.1 den rakam seçtiğimde ve bul dediğimde listbox1.da istenilen rakamın sağındaki sütunda bulunan verileri gösteremedim.Yardımcı olacak arkadaşlara şimdiden sevgi-teşekkür ve selamlar

Bu arada bu güzel forumu oluşturan ve yardımcı olam moderator arkadaşlara teşekkürlerimi sunmak isterim.
 
Katılım
7 Temmuz 2004
Mesajlar
48
2 ayrı sorum var demeyi unutmuşum.
Ã?zür dilerim.

1.soru : minimum sayı bulma idi.
2.ncisi ise userform'dan veri bulmak konusundaydı.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birinci sorunuz için aşağıdaki formülü kullanın.

=KÜÇÜK(A1:A10;2)

İkinci sorunuz içinde ekteki dosyayı inceleyin. Yalnız burada listboxun sütun genişliklerini yarlamanız gerekecektir. Bunun için userform initialize olayına aşağıdaki gibi bir satır ekleyin ve satırdaki sayıları değiştirerek sütun genişliklerini ayarlayın. Ayrıca comboboxa veri almak içinde userforma bir kod ilave ettim.

[vb:1:01c8a8e4fa]ListBox1.ColumnWidths = "50;50;50;50;50;50;50;50;50;50;50"
[/vb:1:01c8a8e4fa]
 
Katılım
20 Nisan 2005
Mesajlar
451
Altın Üyelik Bitiş Tarihi
18.11.2019
leventm' Alıntı:
Birinci sorunuz için aşağıdaki formülü kullanın.

=KÜÇÜK(A1:A10;2)

Bunu Yaptığımda gidip sadece o satırı göstermesi
makro ile nasıl yapılır
 
Katılım
7 Temmuz 2004
Mesajlar
48
Sn LeventM

Cevabınız için çok teşekkürler.

Cevabınızı okuduktan sonra

1.nci sorumun yanlış sorduğumu
2.nci sorumda ise yine benden kaynaklanan bir problem olduğunu anladım.

Sırasıyla,

1nci sorumda en düşük değere yakın derken ..diyelimki en düşük değer 3 olsun...buna eşit veya eksiği (0.1 veya 0.2 gibi) demem gerekiyordu.yani formulu uyguladığımda muhakkak bulunan en düşük değerin altında veya eşit bir rakam bulmam gerekiyor.

2.nci sorumda ise : benim istediğim şeyin tablo açısından uygun olmadığını farkettim.Ek'teki dosyada istediğim şeyi yazdım aslında 3 kolon benim için yetiyor...sorun A kolonunda aynı değerde birden fazla rakam olabilir ve bunun karşılıkları B ve C kolonunda farklı olabilir.BUL dendiğinde sırayla listbox'da bu değerler sıralanabilirmi?

Tekrar Teşekkürlerimi sunarım.
 
Katılım
7 Temmuz 2004
Mesajlar
48
Merhaba

Ekli dosyayı göndermeyi unutmuşum.Bugün kafam çok dalgın..herkesden özür...
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
1nci sorumda en düşük değere yakın derken ..diyelimki en düşük değer 3 olsun...buna eşit veya eksiği (0.1 veya 0.2 gibi)
Birinci sorunuzda bir çelişki var ya en küçük değer bulunmalı yada en küçük ikinci değer bulunmalı. Sorunuzu; en küçük değerin 0,1 veya 0,2 küçüğü varsa bu değeri yoksa en küçük değeri bulsun şeklinde anlayarak aşağıdaki formülü öneriyorum.

=EÐER(YADA(MİN(A2:A10)-0,1=KÜÇÜK(A2:A10;2);MİN(A2:A10)-0,2=KÜÇÜK(A2:A10;2));KÜÇÜK(A2:A10;2);MİN(A2:A10))

İkinci sorunuz için ekteki örneği inceleyin.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Unutmadım. Mesajımı birinci sorunuz için editle düzeltiyordum.
 
Katılım
7 Temmuz 2004
Mesajlar
48
Sn LeventM

hakkınızı helal edin...sizi çok yordum gerçekten...son olarak gönderdiğiniz dosya tıkır tıkır çalışıyor...Burada son kez şunu isteyeceğim...2-3-4 nolu sütunlar değilde 9-10-11 nolu sutun verilerini listboxda nasıl görebilirim.

Ek'te dosyayı gönderdim.

Not : Birde verileri 5000 satıra kadar artırtığımda userform biraz geç açılıyor.İnitialize ile ilgili olabilirmi?

Çok Çok teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
For b = 2 To 4

Combo içindeki kodda bulunan yukarıdaki satırı aşağıdaki ile değiştirin.

For b = 9 To 11

Combobaxa veriler userform açılırken alınıyor, veri sayısının fazla olması sebebi ile açılışı uzun sürecektir. Bunun yerine userformu açıp verileri verileri sonradan aldırmakta mümkün fakat bu durumdada yine nyavaş çalışacak ve işlem yapamayacaksınız. Dolayısıyla bunu hızlandıracak kesin bir çözümü bulmak zor.
 
Katılım
7 Temmuz 2004
Mesajlar
48
Kodu dediğinizgibi düzenledim ama olmadı.sanırım bir yerde eksik yapıyorum

For b = 9 To 11
ListBox1.AddItem
ListBox1.List(c - 1, b - 2) = Cells(a, b).Value
If IsNumeric(Cells(a, b)) = True Then ListBox1.List(c - 1, b - 2) = Round(Cells(a, b), 0)
Next

Teşekkürler
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Haklısınız b-2 yazan yerleride b-9 yapın.
 
Katılım
7 Temmuz 2004
Mesajlar
48
şimdi oldu..Çalışıyor

teşekkürler...Hakkınızı ödemem gerçekten zor

iyi çalışmalar,

Allah işinizi rast getirsin.
 
Üst