Excel Veritabanı Fonksiyonları (Database Functions)

Bu yazımızda sizlerle Excel Veritabanı Fonksiyonları’na İngilizce ifadesiyle Database Functions uygulamalarına ilişkin örnekler üzerinde çalışma yapacağız.

Veritabanı fonksiyonları İleri Excel eğitimlerinin en önemli konularından biridir.

Microsoft’a göre veritabanı fonksiyonunun tanımı:

Listede veya veritabanında bulunan bir kayıt alanında (sütunda), belirttiğiniz koşulları karşılayan sayılar içeren hücreleri hesaplar.

Yukardaki tanımın anlaşılması biraz zor gibi ama veritabanı fonksiyonları aksine çok kolay bir fonksiyon yapısıdır. Veritabanı fonksiyonları Excel’in çok işlevsel fonksiyonları olmalarına rağmen çok bilinmeyen fonksiyonlardır. Sql mantığından yola çıkarak tablolar üzerinden formül ile istenilen değerlerin bulunması yarar. Mantıksal fonksiyonlar olan Etopla, Eğersay, Eğerortalama, Çoketopla, Çokeğerortalama, Çokeğersay gibi fonksiyonlar ile yapacağımız işlemleri çok daha pratik ve kısa formüller ile yapmamızı sağlar. Veritabanı fonksiyonlarında normal Excel tabloları veritabanı kabul edilir. Ayrıca ölçüt tablosu oluşturmamız gerekir. Bu konuyu bir örnek üzerinden anlattığımızda daha anlaşılır olacaktır.

Aşağıdaki gibi bir tablomuz var ve bu tablodan bir değer bulmak istiyoruz.

 

 

 

 

 

 

 

 

 

 

Bunun için sorumuz ise şöyle: Ali isimli satış temsilcilerinin 15 Ağustos 2009 tarihinden önce Adana’da yapmış oldukları Satış tutarının toplamı nedir?

Evet yukarıdaki soruyu görenlerin ilk aklına gelecek şeyler şunlardır;

  1. Veriyi filtrelerim sonra en son elimde kalan veriden toplamı bulurum.Bu şekilde bir çözüme gidebilirsiniz ama soruda birkaç değişiklik yaptığınızda hemen filtreleri tekrar düzenlemek zorunda kalacaksınız ki eğer o tablolar farklı işlemler için kullanılıyorsa tümden bir karmaşaya sebebiyet verir.
  2. ÇokEtopla kullanırım. En çok kullanılan çözümlerden biridir ama bu çözümde de performansta düşme söz konusu olacaktır. Ayrıca her ölçüt için formül içine 2 parametre daha girmek gerekir ve formüller uzar gider haliyle hata yapma ihtimali de çok yükselir.
  3. Veritabanı fonksiyonlarını kullanırım. En sağlıklı çözüm yöntemi veritabanı fonksiyonlarını kullanmaktır. DSum ya da Türkçesi ile VSeçTopla kullanırım diyebilirsiniz.

Avantajları:

Hızlıdır, Formüller diğerlerine göre çok kısadır, Hata yapma ihtimali çok azdır.

Dejavantajı: Ölçütlere girilen değerler tablodakiler ile bire bir aynı olmak zorundadır ki bu diğer durumlar için de geçerlidir.

Veritabanı fonksiyonların ayırt etmek de çok kolaydır. Bütün veritabanı fonksiyonları Türkçe’de VSeç kelimesi ile İngilizce de ise D karakteri ile başlar. Örneğin VSeçTopla fonksiyonu DSum fonksiyonudur gibi. Toplamda 12 tanedir. En çok kullanlanları ise DSum, DAvarage, DMax, DMin ve DCount fonksiyonlarıdır.

Aşağıdaki Excel’de bulunan Veritabanı fonksiyoları bulunmaktadır.

Fonksiyon Açıklama
DAVERAGE Belirtilen koşulları sağlayan bir listenin veya veritabanının alanındaki değerlerin ortalamasını hesaplar.
DCOUNT Belirtilen koşulları sağlayan bir listede veya veritabanında bir alanda sayı içeren hücre sayısını döndürür
DCOUNTA Belirli koşulları sağlayan bir liste veya veritabanının alanındaki boş olmayan hücrelerin sayısını döndürür
DGET Belirtilen koşulları sağlayan bir listenin veya veritabanının alanından tek bir değer döndürür
DMAX Belirtilen koşulları sağlayan bir listenin veya veritabanının alanındaki maksimum değeri döndürür
DMIN Belirli koşulları sağlayan bir liste veya veritabanının alanından minimum değeri döndürür
DPRODUCT Belirtilen koşulları sağlayan bir liste veya veritabanının alanındaki değerlerin çarpımını hesaplar.
DSTDEV Belirli koşulları sağlayan bir liste veya veritabanının alanındaki standart sapmayı (popülasyonun bir örneğini temel alarak hesaplar) hesaplar.
DSTDEVP Belirtilen koşulları sağlayan, bir liste veya veritabanının alanındaki standart sapmayı (tüm popülasyona dayalı olarak) hesaplar.
DSUM Belirtilen koşulları sağlayan bir liste veya veritabanındaki alanın toplam değerini hesaplar.
DVAR Belirli koşulları sağlayan, bir liste veya veritabanının alanındaki değerlerin varyansını (bir popülasyondan bir örneğe dayalı olarak) hesaplar.
DVARP Belirli koşulları sağlayan bir listedeki veya veritabanındaki bir alandaki (tüm popülasyona dayalı olarak) varyansı hesaplar.

Veritabanı fonksiyonlarını kullanırken söz dizimi aşağıdaki gibidir.

=VSEÇTOPLA(veritabanı, alan, ölçüt)

VSEÇTOPLA işlevinin söz diziminde aşağıdaki bağımsız değişkenler bulunur:

  • Veritabanı    Gereklidir. Listeyi veya veritabanını oluşturan hücre aralığıdır. Başlıkları ile beraber taratmak gerekir.
  • Alan    Gereklidir. İlgili hesaplama için hangi sütunun kullanıldığını belirtir. Örneğimizde bulmak istediğimiz sonuç “Satış Tutarı” toplamlarıdır. Başlığı çift tırnak içine yazmak yerine sütunun listedeki konumunu gösteren bir sayıda (tırnak işareti arasına almadan) girebilirsiniz. Örneğin: ilk sütun için 1, ikinci sütun için 2, vb.
  • Ölçüt    Gereklidir. Belirttiğiniz koşulları içeren bir hücre aralığıdır. Başlıkları ile beraber taratılmak zorundadır.

Tekrar gelelim sorumuza;

Ali isimli satış temsilcilerinin 15 Ağustos 2009 tarihinden önce Adana’da yapmış oldukları Bilgisayar Satış tutarının toplamı nedir?

Bu soru için öncelikle her bir alan kadar ölçüt çıkarmamız gerekiyor.

Soruda İsim, Tarih, Bölge ve Ürün bilgileri geçtiği için 4 ölçüt alanımız var.

Ölçütleri aşağıdaki gibi çıkarırken iki duruma dikkat etmemiz gerekiyor. Birincisi Ölçüt başlıklarının tablo başlıkları ile aynı olması gerekiyor, İkincisi ise yazdığımız değerlerin tabloda bulunan bir veri olması gerekiyor. Aksi durumda sonuç sıfır 0 (Sıfır) gelebilir.

 

 

 

İlk önce bu soruyu ÇOKETOPLA fonksiyonu ile çözelim:

Yukarıda görüldüğü üzere fonksiyon karmaşık ve uzun olduğu için sonra değiştirilmesi gerekirse dikkatli şekilde düzenlenmesi gerekiyor. Aksi durumda çalışmayabilir.

Şimdi de VSEÇTOPLA fonksiyonunu kullanacağız. 4 farklı parametre olmasına rağmen formül uzunluğu aşağıdaki görüntüden daha uzun olmaz.

Görüldüğü üzere bu fonksiyon yapılarında ölçütler tablosu taratıldığı için parametreleri fonksiyonlara tek tek girmek gerekmez buda bizim için az kod çok iş anlamına gelir.

Başaka bir yazı görüşmek üzere.