Excel'de Boyalı Hücrelerin Sayılması: Filtreden Formüllere

Kerem Aydın·13 Temmuz 2026·⏱4 dk

EĞERSAY gibi standart fonksiyonlarla Excel'de dolgu veya yazı tipi rengine göre hücre saymak mümkün değildir, çünkü bu fonksiyonlar yalnızca değerleri analiz eder. Ancak görevi dört farklı yolla çözmek mümkündür: hızlı manuel filtrelemeden, normal bir formül gibi çalışacak kendi makro fonksiyonunuzu (VBA) oluşturmaya kadar. Yöntem seçimi, Excel sürümünüze ve otomasyon ihtiyacınıza bağlıdır.

Kısa cevap: Kod yazmadan en hızlı yol, renk filtresini kullanmak ve durum çubuğundaki satır sayısına bakmaktır. Veriler değiştiğinde otomatik yeniden hesaplama için CountColor adında bir fonksiyon oluşturan bir VBA makrosu gereklidir.

Yöntem 1: Renk Filtresi (Formül ve Kod Gerektirmez)

Bu yöntem, verileri tek seferlik kontrol etmek için idealdir. Formül yazmayı gerektirmez ve Excel'in tüm sürümlerinde çalışır.

  1. Tablonun başlık satırını veya tüm veri aralığını seçin.
  2. Veri sekmesinde Filtre düğmesine tıklayın (veya Ctrl + Shift + L kısayolunu kullanın).
  3. İlgili sütundaki filtre okuna tıklayın.
  4. Renge Göre Filtrele seçeneğini seçin ve istediğiniz dolgu veya yazı tipi tonunu belirleyin.
  5. Excel penceresinin sol alt köşesine (durum çubuğu) bakın. Orada «Bulunan: X / Y kayıt» şeklinde bir ifade göreceksiniz. X sayısı, boyalı hücrelerin sayısını temsil eder.

Durum çubuğu gizliyse, üzerine sağ tıklayın ve "Seçili Hücre Sayısı" öğesinin yanındaki kutucuğun işaretli olduğundan emin olun.

Yöntem 2: VBA Kullanıcı Tanımlı Fonksiyon (Otomatik Sayım)

Hücre sayısının, renk veya veriler değiştiğinde otomatik olarak yeniden hesaplanmasını istiyorsanız, standart araçlar yeterli olmayacaktır. Makro düzenleyicisi aracılığıyla bir kullanıcı tanımlı fonksiyon (UDF) oluşturmanız gerekecektir. Bu, Excel 2010–2026 için evrensel bir çözümdür.

Fonksiyon oluşturma talimatları:

  1. VBA düzenleyicisini açmak için Alt + F11 tuşlarına basın.
  2. Menüden Insert > Module seçeneğini seçin.
  3. Aşağıdaki kodu kopyalayıp modülün beyaz penceresine yapıştırın:
Function CountByColor(rng As Range, colorCell As Range) As Long
    Dim cell As Range
    Dim targetColor As Long
    Dim count As Long
    
    ' Örnek hücreden renk kodunu al
    targetColor = colorCell.Interior.Color
    
    ' Aralıkta dolaş
    For Each cell In rng
        If cell.Interior.Color = targetColor Then
            count = count + 1
        End If
    Next cell
    
    CountByColor = count
End Function
  1. VBA düzenleyicisini kapatın (Alt + Q) ve tabloya geri dönün.
  2. Yeni formülü normal bir fonksiyon gibi kullanın: =CountByColor(A1:A100; D1) Burada A1:A100 sayılacak aralıktır ve D1 ise istediğiniz renkle boyanmış herhangi bir hücredir (örnek).

VBA üzerinden renklerle çalışan fonksiyonlar, hücre rengi basitçe değiştirildiğinde her zaman otomatik olarak güncellenmeyebilir. Yeniden boyadıktan sonra sonuç değişmediyse, F9 (kitaplığı yeniden hesapla) tuşuna basın veya dosyayı kaydedin (Ctrl + S).

Yöntem 3: Sıralama ve EĞERSAYDOLU Fonksiyonu

Şirketinizin güvenlik politikası nedeniyle makro kullanımına izin verilmiyorsa, sıralama ve sayma kombinasyonunu kullanabilirsiniz.

  1. Sütunu renge göre sıralayın (Veri > Sırala > seçeneklerde rengi seçin). Tüm boyalı hücreler tek bir yerde toplanacaktır.
  2. Renkli bloğun sınırlarını görsel olarak belirleyin.
  3. Bu belirli aralık için EĞERSAYDOLU veya SAY fonksiyonunu kullanın: =EĞERSAYDOLU(A2:A15)

Yöntemin dezavantajı: Yeni veriler eklendiğinde sıralamayı ve formülü manuel olarak güncellemeniz gerekir.

Sorun Çözme Yöntemlerinin Karşılaştırılması

YöntemZorlukOtomasyonExcel SürümüNe Zaman Kullanılır
FiltreDüşükYokHerhangi biriHızlı, tek seferlik kontrol
VBA FonksiyonuOrtaEvet (yeniden hesaplamalı)Herhangi biriSürekli raporlar, panolar
SıralamaDüşükYokHerhangi biriMakrolar yasaklıysa
EklentilerYüksekEvet365/2021Eklentiler zaten yüklüyse

Sık Yapılan Hatalar ve İnce Detaylar

  • Aynı Rengin Farklı Tonları. Excel, renkleri sayısal kodlara (RGB) göre ayırt eder. Açık kırmızı ve koyu kırmızı program için iki farklı renktir. VBA kullanırken, örnek hücrenin hedef hücrelerle tam olarak aynı tonda olduğundan emin olun.
  • Koşullu Biçimlendirme. Hücre rengi "Koşullu Biçimlendirme" ile belirlenmişse, VBA'daki .Interior.Color özelliği "Renk Yok" kodunu döndürebilir (çünkü hücre fiziksel olarak boyanmamıştır, renk görsel olarak uygulanır). Bu tür durumlar için DisplayFormat özelliklerini kontrol eden daha karmaşık komut dosyaları gerekir.
  • Dosya Kaydetme. Makro içeren dosyalar (Yöntem 2) "Makro Etkin Excel Çalışma Kitabı" (.xlsm) formatında kaydedilmelidir. Normal formatta (.xlsx) kod, kaydetme sırasında silinecektir.

SSS

Dolgu yerine yazı tipi rengini sayabilir miyim? Evet. VBA kodunda targetColor = colorCell.Interior.Color satırını targetColor = colorCell.Font.Color olarak değiştirin. Çalışma mantığı aynı kalacaktır.

Bu Google E-Tablolar'da çalışıyor mu? Google E-Tablolar'da renge göre sayım yapan yerleşik bir fonksiyon yoktur, ancak yukarıda açıklanan VBA'ya benzer şekilde çalışan Apps Script komut dosyaları yazmak orada daha kolaydır.

Neden CountByColor fonksiyonu #AD? hatası veriyor? #AD? (veya #NAME?) hatası, Excel'in fonksiyonu görmediği anlamına gelir. Kodun bir modüle kaydedildiğini kontrol edin ve dosya adının .xlsm uzantısına sahip olduğundan emin olun. Ayrıca, kodda fonksiyonun adını değiştirip değiştirmeyeceğinizi de kontrol edin.