Belli alandakı en kucuk cıft sayıyı veren fonksıyon bulamadıgım hatam

Katılım
24 Ekim 2009
Mesajlar
11
Excel Vers. ve Dili
excel 2007 (eng-tr)
ıyı gunler oncelıkle ben bellı bır alanda en kucuk cıft sayıyı veren fonksıyonu yazmaya calıstım ama nedense fonksıyon calısmadı daha yenı basladım bu işe acaba bılen bırısı hatamın nerde oldugunu solerse sevınırım istedıgınız kadar hucreye kelime tek sayı ve cıft sayı gırceksınız bos hucrede bırakabılırsınız bu fonksıyonla bu alandakı en kucuk cıft sayıyı bulcaksınız amac buydu ama yapamadım. yazdıgım kodların resmını koyuyorum sımdıden kolay gelsın.
 

Ekli dosyalar

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
:cool:
kullanışı;
=cift_kucuk(A1:E10)

Kod:
Function cift_kucuk(alan As Range)
Dim kucuk As Double, hcr As Range
kucuk = WorksheetFunction.Max(alan) + 1
For Each hcr In alan
    If hcr.Value <> "" And IsNumeric(hcr.Value) Then
        If hcr.Value Mod 2 = 0 Then
            If hcr.Value < kucuk Then kucuk = hcr.Value
        End If
    End If
Next
cift_kucuk = kucuk
End Function
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
İsterseniz böyle kullanırsanı isteğe göre çift yada tek sayıda en küçük sayıyı bulabilirsiniz.:cool:
cift sayı için 0 tek sayı için 1 kullanınız.
Kullanışı:)ft sayıda en küçüğü bulur);
=cift_tek_kucuk(B8:E15;0)

Kod:
Function cift_tek_kucuk(alan As Range, ct As Integer) As Double
Dim kucuk As Double, hcr As Range
kucuk = WorksheetFunction.Max(alan) + 1
For Each hcr In alan
    If hcr.Value <> "" And IsNumeric(hcr.Value) Then
        If hcr.Value Mod 2 = ct Then
            If hcr.Value < kucuk Then kucuk = hcr.Value
        End If
    End If
Next
cift_tek_kucuk = kucuk
End Function
 
Katılım
24 Ekim 2009
Mesajlar
11
Excel Vers. ve Dili
excel 2007 (eng-tr)
cok tesekur ederım pekı benıım yazdıgım neden calısmıyor acaba ? hatayı bulabıldınmı bı sorum daha olcak WorksheetFunction.Max komutu ne işe yarıyor
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
cok tesekur ederım pekı benıım yazdıgım neden calısmıyor acaba ? hatayı bulabıldınmı bı sorum daha olcak WorksheetFunction.Max komutu ne işe yarıyor
o alandaki en büyük değeri buluyor.
ona 1 ekleyerek kücük değerine atıyoruz.
Aksi takdirde kücük değri 0 oludu daha başlarken yapılan bütün sorgulamalarda devre dışı kalrdı.
Siz nerde hata yaptınız ona bakmadım.Ona siz benim yaptığım fonksiyona bakarak siz karar verceksiniz.:cool:
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Merhaba,

Buda yerleşik fonksiyonlarla olanı. Alternatif olsun.

Kod:
=MİN(EĞER(MOD(A1:B10;2)=0;EĞER(A1:B10<>"";A1:B10)))
Dizi formülüdür. ctrl shift enter tuş kombinasyonu ile girişini tamalayınız..

.
 

modoste

Altın Üye
Katılım
31 Mayıs 2008
Mesajlar
3,645
Excel Vers. ve Dili
Microsoft OFFİCE Ev ve İş 2019 TR
Altın Üyelik Bitiş Tarihi
18-03-2025
soru benim sorum değil ama alternatif çözümde formüllü çalışma için teşekkür ettim Ömer Hocam
 
Üst