Excel’de şarta göre sayma formülleri, belirli bir şarta sahip hücrelerin adetlerini bulmak için kullanılır. İlk başta biraz amaç dışı gibi görülebilir, en nihayetinde verinin kendisi ile iş yapmıyoruz ancak daha önce anlattığım KAYDIR, INDIS ve KAÇINCI gibi formüller ile beraber kullanıldığında çok çok güzel sonuçlar almamızı sağlayabilir. Şimdi isterseniz bu formüller nelerdir onlara bakalım. Sonrasında sırası ile açıklamalarını yapalım.

  • EĞERSAY
  • ÇOKEĞERSAY
  • BAĞ_DEĞ_DOLU_SAY
  • BAĞ_DEĞ_SAY

Yapacağım uygulamalar için örnek dosyaya buradan erişebilirsiniz.

İsterseniz öncelikle formülün yazılımına bakalım:

=EĞERSAY(Aralık, Ölçüt)

İngilizce Excel kullananlar için formül COUNTIF. Oldukça basit bir yazılımı var. Önce ölçütü arayacağımız aralığı tanımlıyoruz. Bu aralık daha önce kullandığımız aralık döndüren formüllerin sonuçları da olabilir, örnek KAYDIR.

Ölçüt ise aralıkta bulmak istediğimiz değer. Örnek üzerinden açıklama yapalım.

Şimdi tabloda ilk Sütunda kaç tane “Hasan” ismi var bulalım. Formülümüz:

=EĞERSAY($B$2:$B$41;”Hasan”)

Formülümüz nasıl çalışıyor? B2:B41 aralığındaki tüm hücrelerin değerlerini “Hasan” değeri ile kıyaslıyor. Eğer hücre değeri “Hasan” ile eşleşiyor ise bu kıyasın sonucu “DOĞRU”, eğer eşleşme yoksa sonuç “YANLIŞ” oluyor. DOĞRU ifadesinin matematik karşılığı 1, YANLIŞ’ın ise 0’dır. Yani formül kıyaslama sonrasında 0 ve 1’lerden oluşan bir dizin elde ediyor ve bu dizindeki tüm 1’lerin toplamını geri döndürüyor.

Formülün sonucu 3.

Formülün nasıl çalıştığını gösteren bir resmi de aşağıda veriyorum.

EğerSay formülün Çalışma Yöntemi
EğerSay formülün Çalışma Yöntemi

Bu tabloda kaç tane metin mevcut bulmak için ufak bir hile yapacağız, daha önce anlattığım joker karakterleri hatırlıyor musunuz? Hatırlarsanız “*” karakteri birden fazla harf yerine geçiyordu, işte burada kıstas kısmına “*” yazarsak sadece metin girilmiş hücrelerin adetlerini buluruz, örnek:

=EĞERSAY($B$2:$I$41;”*”)

Bu formülü yazıp çalıştırdığınızda A-H aralığında metin değeri barındıran tüm hücreler sayılacaktır. Tablo başlıklarını da dahil ettiğimiz için de sonuç 124 olarak geri döndürülecektir. Gördüğünüz gibi bu formülde joker karakterleri kullanabiliyoruz, ve gayet güzel sonuçlar alabiliyoruz.

Sonu “t” ile biten isimleri bulmak için yazmamız gereken formül:

=EĞERSAY($B$2:$B$41;”*t”)

Sonuç 12.

Formülümüzü tarihlerde kullanabilir miyiz? Evet. Formülümüz:

=EĞERSAY($D$2:$D$41;”11/10/2016″)

Sonuç 13.

Bu formülde de ilk yazımda bahsettiğim karşılaştırma kıstaslarını da kullanabilirsiniz. Misal 12/10/2016 ve öncesinde yapılan satışlar için kullanacağımız formül:

=EĞERSAY($D$2:$D$41;”<=12/10/2016″)

Burada dikkat edeceğiniz husus büyük küçük gibi ifadelerin yazılış şekli. Burada ben 12/10/2016 tarihinden önce olan satışları bulmak istiyorum bu nedenle tarihten önce “<=” ifadesi kullandım, yani bu tarih bu aralıkta bulunan değerlerden büyük ve eşit olacak.

Temel olarak bir önceki formül ile aynı ancak daha fazla kıstas tanımlayabildiğimiz bir formül. Yazılımı:

=ÇOKEĞERSAY(Ölçüt Aralığı, Ölçüt,…)

İngilizce olarak COUNTIFS. Bir önceki formülde kullandığımız tek aralık tek kıstas yerine çoklu kıstaslar tanımlayabiliyoruz. Temel farkımız bu. Tek aralık tek kıstas kullanırsanız bir önceki formüldeki örneklerin aynılarını yapabilirsiniz. Ek olarak belirli tarihler arasında kalan satış adetlerini de bulabilirsiniz. Bir örnekle açıklayalım, burada belli tarihler arasındaki satışları bulmak isteyelim:

=ÇOKEĞERSAY($D$2:$D$41;”>=11/10/2016″;$D$2:$D$41;”<=12/10/2016″)

Sonuç 26.

Burada yapılan da bir önceki formülün yaptığı ile temelde aynı. Örnek olarak burada tarih sütunu için iki tane kıstas girilmiş. Bu kıstaslara göre ilgili sütunda yer alan her bir hücredeki tarih değeri girilen kıstaslardaki tarihlere göre büyük kontrolü yapılıp sonuç “1” veya “0” olarak çıkarılıyor sonrasında yine diğer tarihten küçük olup olmadığı kontrol edilerek yine “1” ve “0” olarak sonuçları alınıyor. Sonra bu iki sonuç çarpılarak nihai bir değer elde ediliyor. Aralıktaki tüm hücreler için bu kontroller yapıldıktan sonra elde edilen çarpım sonuçları toplanarak formülün sonucu olarak geri döndürülüyor.

Bu formül ile siz belli satış cirosundan fazla olan belli kişilerin yaptığı satışların adedini bulmak için veya belli tarihler arasında belli kişilerin kaç adet kadar satış yaptığını da bulabilecek formüller yazabilirsiniz.

Bir önceki formülden tek farkı birden fazla aralığa birden fazla kıstas tanımlayabilmeniz. Bunun haricinde gerek yazım kuralları gerek kıstaslar için kullanacağınız ifadeler bir önceki formülle aynı. Bu nedenle bu formülle ilgili daha fazla açıklama yapmaya gerek olduğunu düşünmüyorum.

Bu formülün amacı bir aralıkta boş olmayan hücrelerin adetini bulmak. Kullanım açısından incelediğimizde çok fazla yerde kullanıldığını düşünmüyorum ancak isim tanımlamalarda özellikle değişken aralık tanımlamalarında ben sıklıkla kullanıyorum. Bununla ilgili detaylı bir örnek yapacağım.

 Formülün yazılımı:

=BAĞ_DEĞ_DOLU_SAY(değer1; [değer2];…)

İngilizce olarak COUNTA formülüdür. değer1 kısmına aralık giriyoruz. İsterseniz birden fazla aralık girebilirsiniz. Bu formül hücrede bir değer, metin, boş metin, hata, özel karakter var ise sayar. Boş metinden kastım “” ifadesidir. Hücrenin içeriği boş ise saymaz.

Bu formül ile dikkat etmeniz gereken bir hususta saydığınız aralıktaki bir hücrede boş değer döndüren “EĞER” gibi bir  formül olması durumudur. Bu durumda BAĞ_DEĞ_DOLU_SAY formülü ile bu hücre, hücrenin içeriği bir formül olduğu için sayılacak ve farketmeseniz de sayılan hücre adedi fazla çıkacaktır.

Bu formül ise belli bir aralıkta sadece rakam içeren hücrelerin adetlerini bulmamıza yarıyor. Aralıkta metin içeren hücreler var ise bu hücreler sayma eklenmiyor. BAĞ_DEĞ_DOLU_SAY formülünden farklı bu. Gelin formülün yazılmasına bir bakalım.

=BAĞ_DEĞ_SAY(aralik1, aralik2,….)

Burada da, gördüğünüz gibi, birden fazla aralık ta girilebilir. Her bir aralıkta yer alan hücrelerin içerikleri kontrol edilerek eğer rakam var ise toplama eklenir ve sonuç gösterilir. Bu formül, içinde boş değer döndüren formüller olan hücreleri saymaz. BAĞ_DEĞ_DOLU_SAY formülünden bir farkı da budur.

İlginizi Çekebilecek Diğer Yazılar
  1. Merhaba.
    Ben iki sutundaki metinlerin karşılığını toplamak istiyorum.
    yani istanbul da kalan kızlar.
    istanbul da kalan erkekler
    kartal da kalan erkekler
    kartalda kalan kızlar
    gibi farklı toplamlar almak için nasıl bir formul yapmalıyım.Teşekkürler

    • farklı kıstaslara göre toplama yazımda benzer toplama işlemlerinin nasıl yapılacağından bahsetmiştim.

  2. Merhaba, ben belirli bir saat aralığında olan verilere belirli bir değer vermek istiyorum. Mesela verinin saati 10:00:00 ile 13:00:00 arasındaysa OK yazsın değilse YOK yazsın gibi. Yardımcı olabilir misiniz

    • Merhaba,
      EĞER(VE(MOD(ŞİMDİ();1)>=ZAMANSAYISI(“10:00:00”);MOD(ŞİMDİ();1)<=ZAMANSAYISI("13:00:00"));"OK";"YOK") formülü ile çözebilirsiniz.

    • Merhaba, Metin içeren 2 hücreyi karşılaştırıyorum, birinde Türkçe karakter var diğerinde yok, Türkçe karakteri göz aradı ederek karşılaştırma yapmanın yolu var mı

      • merhaba,

        bunun basit bir yöntemi yok. ya iç içe yerinekoy formülü ile tüm Türkçe karakterlerin yerine İngilizce olanları getireceksiniz ya da bir makro ile bu işlemi yapacaksınız. bazı formüller ile bu karakterleri silmek mümkün ama karşılaştırma esnasında sorun çıkarır.

  3. Merhaba,

    Ben iki sayı aralığındaki sayıları sayan formülü arıyorum ama bir türlü bulamadım. Yardımcı olabilir misiniz?

    • merhaba,
      Biraz daha açık olabilir misiniz? Bu sayılar iki farklı hücrede ve arada kalan hücrelerdeki sayıları mı toplamak istiyorsunuz?

  4. merhaba benim istediğim tam olarak şu
    A A A D D : Burası tek bir hücre
    A : Burası da alttaki hücre, yani üstteki B2 hücresiyse burası B3 hücresi.
    Benim isteğim ise buradaki A sayısını yazan formülü bulmak. Yanı burada 4 tane A var. Bunu çıkaran bir formül istiyorum. Yardımcı olabilir misiniz?

    • merhaba
      Bu A rakamlarının hepsini mi çıkarmak istiyorsunuz? sadece en soldakikini mi? rakam kaç basamak? aralarındaki ayrım hangi karakter ile (boşluk, virgül vs.) buna göre eğer sadece en soldakini alacak iseniz ve aralarında boşluk var ise –SOLDAN(B1;BUL(” “;B1)-1) formülü ile çekebilirsiniz. eğer tüm rakamları çekmek istiyorsanız bunun için –SAĞDAN(B1;UZUNLUK(B1)-BUL(” “;B1)) formülü ile metnin geri kalanını çekmeniz gerek.

Leave a Reply