• DİKKAT

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

Bir Aralıktaki Gizli Hücreleri Gözardı Etme

Katılım
28 Haziran 2007
Mesajlar
141
Excel Vers. ve Dili
microsoft office 2007 - ingilizce
Arkadaşlar merhaba,

Bir Excel çalışma kitabında verilen bir aralıktaki en küçük değeri bulmak için kullanılan formülde gizli hücreleri hesaba katmamak için ne yapabiliriz?

Örneğin; A1 ile A100 hücreleri arasındaki en küçük değeri bulmak için
Kod:
=MİN(A1:A100)
formülünü kullanabiliriz. Fakat mesela bu aralıktaki en küçük hücreyi barındıran hücre gizli hücre yapıldığı anda, bu hücreyi yok sayıp bir sonraki en küçük değeri bulmasını nasıl sağlayabiliriz?

Eklediğim örnek dosya üstünden anlatacak olursam; A1:A100 aralığındaki en küçük değeri barındıran A14 hücresi (=-45) gizli yapıldığı anda, bu aralıktaki en küçük değer olarak A16 hücresi (=-12) olarak alınsın istiyorum.

Bunu nasıl yapabilirim?
 

Ekli dosyalar

Kod:
=ALTTOPLAM(105;A1:100)
ile oluyor, şimdi çözdüm.
 
Merhaba,

Kullanıcı Tanımlı Fonksiyon isterseniz eğer, aşağıdaki kodları kullanınız.

Kullanımı :

Kod:
=EnKucuk(A1:A100)

Kod:
Function EnKucuk(Secim As Range)
    Application.Volatile
    
    Dim d As Variant
    Dim Hucre As Range
    d = 9999999999999#
    
    For Each Hucre In Secim
        If Hucre.Height > 0 Then
            If Hucre < d Then d = Hucre
        End If
    Next Hucre
    EnKucuk = d
    
End Function
 
mancubus ve Necdet YEşertener! Her ikinize de çok teşekkür ederim. Bunu hallettim fakat bu sefer şöyle bir sıkıntı ortaya çıktı.

Öncelikle, lütfen eklediğim dosyayı açınız.

Dosyada görüleceği üzere, A1:A1000 aralığındaki en küçük sayıyı bulduran bir dinamik formül bulunmaktadır. Yalnız bu formülün özelliği, A1:A1000 aralığında, hemen yanındaki B hücresinde "*" simgesi olmayan en küçük hücreyi bulmaktır.

Benim yapmak istediğim ALTTOPLAM formülünü A1:A1000 aralığına uygulatmak ve gizli hücreleri gözardı etmek. Bu konu hakkında yardımcı olabilir misiniz?
 

Ekli dosyalar

Merhaba,

Bende bu işlem için TOPLA.ÇARPIM ve ALTTOPLAM formüllerini beraber deneyerek minimum değeri almaya çalıştım fakat olumlu sonuç elde edemedim. Bu sebeple kullanıcı tanımlı fonksiyon hazırladım.

Hücrede kullanım şekli;
Kod:
[B][COLOR=blue]=F_MİN([COLOR=red]Veri_Aralığı;Kriter_Aralığı;Ölçüt[/COLOR])[/COLOR][/B]

Sizin dosyanıza uyarlarsak aşağıdaki şekilde kullanmalısınız.

Kod:
=F_MİN(A2:A1000;B2:B1000;"*")

Sondaki "*" bölümü opsiyoneldir. Dilerseniz aşağıdaki şekilde de kullanabilirsiniz.

Kod:
=F_MİN(A2:A1000;B2:B1000)

Fonksiyon "*" ifadesini yazmadığınız durumda da yazılıymış gibi sonuç verecektir.


Kullanılan kod;

Kod:
Function F_MİN(Veri_Araligi As Range, _
               Kriter_Araligi As Range, _
               Optional Olcut As String = "*")
    Dim Alan As Variant, Hucre As Range, Deger As Double
    
    Application.Volatile True
    
    Set Alan = Application.Union(Veri_Araligi, Kriter_Araligi)
    Deger = 9.999999E+307
    
    For Each Hucre In Alan
        If Hucre.RowHeight > 0 Then
            If Hucre.Next <> Olcut Then
                If Hucre.Value <> 0 And Hucre.Value < Deger Then Deger = Hucre.Value
            End If
        End If
    Next
    
    F_MİN = Deger
End Function

Fonksiyon sıfır değerleri dikkate almaz.
 
Geri
Üst