• DİKKAT

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

Renkli hücreleri koşula göre sayma

Katılım
17 Haziran 2008
Mesajlar
14
Excel Vers. ve Dili
excel 2003 - 2007
Merhabalar,

Aşağıdaki linkte renkli hücrelerle ilgili hazırlanmış fonksiyona koşul ekleme şansımız varmıdır.

Renkli Hücreleri Toplama - Sayma

Excelin 2003 versiyonunu kullanıyorum.


Not: Mesajınız tarafımdan düzenlenmiştir. Ayrı bir başlığa taşıdım. Sizin sorunuzu sorduğunuz bölüm paylaşımların sunulduğu bölümdür. (Korhan AYHAN)
 
Son düzenleme:
Selamlar,

Aşağıdaki fonksiyonu kullanabilirsiniz.

Kod:
Option Explicit
 
Function RENKLİ_SAY(Aralık As Range, Ölçüt As Variant, _
Optional Sembol As String = ">", Optional Renk_Kodu As Byte = 3)
    Dim Hücre As Range, Sorgu As String
 
    Application.Volatile True
 
    For Each Hücre In Aralık
        Sorgu = IIf(Hücre.Value = Empty, 0, Hücre.Value) & Sembol & Ölçüt
        If Evaluate(Sorgu) And Hücre.Font.ColorIndex = Renk_Kodu Then RENKLİ_SAY = RENKLİ_SAY + 1
    Next
End Function


Hücrede kullanım şekli;

Kod:
[B][COLOR=blue]=RENKLİ_SAY(Hücre_Aralığı;Ölçüt;Sembol;Renk_Kodu)[/COLOR][/B]


Hücre_Aralığı = Sayılmasını istediğiniz alandır.

Ölçüt = Seçtiğiniz alanda uygulamak istediğiniz kriterdir.

Sembol = Büyüklük, küçüklük, eşitlik gibi matematiksel işaretlerdir. (=,>,< gibi)
Sembol kriteri opsiyoneldir. Boş bırakabilirsiniz. Boş bıraktığınızda büyüktür (>) işaretine göre sorgulama yapar.

Renk_Kodu = Seçtiğiniz alandaki hücrelerin yazı tipi rengini ifade eder. Bu kriterde opsiyoneldir. Boş bırakabilirsiniz. Boş bıraktığınızda 3 (kırmızı) renk indeksine göre işlem yapar.


Sizin dosyanıza göre aşağıdaki iki şekilde de fonksiyonu kullanabilirsiniz.

1. Kullanım şekli; (Fonksiyondaki tüm kriterler kullanılmıştır)
Kod:
=RENKLİ_SAY(D4:D22;0;[COLOR=red]">";3[/COLOR])

Kırmızı bölümler opsiyoneldir. Dediğim gibi silersenizde fonksiyon sanki bu kriterler varmış gibi hesaplama yapar. Alttaki kullanım şekli buna örnektir.

2. Kullanım şekli;
Kod:
=RENKLİ_SAY(D4:D22;0)


Dosyanıza gerekli uyarlama yapılmıştır. İncelermisiniz.
 

Ekli dosyalar

Arkadaşım çok teşekkür ederim.İki sorum olacak; 1- Bu büyüktür ifadesi "kaçtan büyüktür"? mesele 1 den büyüktür nasıl aayarlayacağız? 2- Sonuç değeri bulmamız için mutlaka fomülü yeniden çalıştırmamız mı gerekecek?,Çünkü veri sütunu değişince sonuç değişmiyor. mutlaka formülü yenilemek gerekiyor.Bu mantıkla mı çalışıyor?
Herşeye rağmen teşekkür ederim.işimi gördü...
 
Selamlar,

1 den büyük değerler için aşağıdaki şekilde kullanmalısınız.

Kod:
=RENKLİ_SAY(D4:D22;[B][COLOR=red]1[/COLOR][/B][COLOR=black];">";3[/COLOR])

Renk üzerine yazılmış olan kullanıcı tanımlı fonksiyonlar diğer fonksiyonlar gibi anında tepki vermezler. Çünkü excel renk değişimlerini algılamaz. Bu sebeple formülü başka hücrelere uyguladıktan sonra F9 yada KAYDET tuşlarına basarsanız hesaplamalarınız yenilenmiş olur.

Ya da ben sürekli bu tuşlara basmaktan sıkılıyorum diyorsanız kitabınızın ThisWorkbook bölümüne aşağıdaki kodu uygulayabilirsiniz. Bu şekilde sayfalarda herhangi bir hücreyi tıkladığınızda ya da yön tuşları ile sayfa içinde gezindiğinizde hesaplama yeniden yapılacaktır.

Kod:
Option Explicit
 
Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.CalculateFull
End Sub
 
Korhan bey,

Fonkisyon için teşekkürler tam aradığım şey ancak hücrelerin formatı tarih olunca ya da bir tarihden büyük veya küçük şeklinde bir kriter girince #DEĞER! hatası alıyorum. Yardım ederseniz sevinirim
Saygılarımla
 
Geri
Üst