0 212 951 05 08   bilgi@ofisdata.com

Yazılarımız

OfisData

ANALİZ İÇİN EXCEL FONKSİYONLARI: MANTIK, ARAMA VE ÖZETLEME AİLELERİ

Kurumsal raporlama ve analiz işlerinde Excel hâlâ çoğu ekibin ortak dili. Ancak “Excel biliyorum” demek, analizi gerçekten hızlandıran fonksiyon ailelerini doğru kurgulayabildiğiniz anlamına gelmiyor. Mantık, arama ve özetleme fonksiyonları; veri hazırlığından KPI üretimine, hata yönetiminden performans optimizasyonuna kadar analizin omurgasını oluşturur.

Bu makalede, analiz için Excel fonksiyonlarını “aile yaklaşımıyla” ele alacağız: hangi problem tipinde hangi aile devreye girer, örüntüler nasıl kurulur, formül bakımı ve hız nasıl iyileştirilir. Amaç; tek tek fonksiyon ezberlemek değil, tekrar eden iş ihtiyaçlarına dayanıklı bir formül tasarımı geliştirmek.

İçerik boyunca, özellikle kurumsal yazılım geliştirme ekiplerinde sık görülen ihtiyaçlara (sürümleme, izlenebilirlik, veri tutarlılığı, performans) odaklanacağız. İsterseniz bu yapı taşlarını daha sistemli bir programda pekiştirmek için İleri Excel eğitimi içeriğine de göz atabilirsiniz.

Çeşitli veri tabloları üzerinde mantık, arama ve özetleme çıktılarının yan yana üretildiği çalışma sayfası

Fonksiyon aileleriyle düşünmek: Analiz problemini doğru parçalamak

Analiz işlerinin büyük bölümü üç temel soruya indirgenebilir: “Bu koşul doğru mu?”, “Bu değeri nereden bulurum?” ve “Bu grupta toplam/ortalama nedir?”. İşte bu üç soru, sırasıyla mantık, arama-eşleştirme ve özetleme ailelerinin alanıdır. Bir formül tasarlarken önce sorunun türünü netleştirmeniz, hem okunabilirlik hem de performans açısından avantaj sağlar.

Bir KPI üretirken tipik akış şuna benzer: önce veri satırını doğru kaynaktan bulursunuz (arama), ardından koşulları uygularsınız (mantık), en son da sonuçları toplulaştırırsınız (özetleme). Bu sıralamayı bilmek, formülleri daha modüler kurgulamanıza yardımcı olur. En yaygın hata, tüm işi tek bir devasa IF içine gömmek ve birkaç ay sonra kimsenin bakım yapamadığı bir yapı oluşturmaktır.

Kurumsal tarafta ayrıca “hesap mantığının izlenebilirliği” önemlidir. Formülün ne yaptığını bir başkası (veya üç ay sonra siz) hızla anlayabilmelidir. Bu nedenle, fonksiyon ailelerini birleştirirken adlandırma, ara değişken, hata yönetimi ve test hücreleri gibi pratikler kritik hale gelir.

Analiz akışını standartlaştırmak için pratik bir kontrol listesi

  • Önce veri modeli: hangi tablo “gerçek kaynak”, hangi tablo “referans”?
  • Arama stratejisi: tek anahtar mı, birleşik anahtar mı kullanılacak?
  • Koşullar: iş kuralı açık mı, istisnalar net mi?
  • Özetleme: satır bazlı mı, grup bazlı mı, dönem bazlı mı sonuç isteniyor?
  • Hata yaklaşımı: boş değer, bulunamayan anahtar, bölme hatası nasıl ele alınacak?

Mantık fonksiyonları: İş kuralını net, test edilebilir hale getirmek

Mantık fonksiyonları (IF, IFS, AND, OR, SWITCH) iş kurallarını hesaplamaya dönüştürür. Analitik bir dosyada bu fonksiyonlar genellikle “segmentasyon”, “eşik kontrolü”, “durum kodu üretimi” ve “uygunluk/uygunsuzluk” kararlarında kullanılır. Burada hedef; olabildiğince şeffaf ve sürdürülebilir bir akış kurmaktır.

Örneğin bir satış performans raporunda, “hedefin üstü”, “hedefe yakın”, “kritik” gibi durumlar üretirsiniz. Bu sınıflama doğru değilse, üstteki özetleme ne kadar iyi olursa olsun yönetim kararları hatalı olur. Bu yüzden mantık katmanını ayrı düşünmek gerekir.

IF ve IFS ile durum sınıflandırma örüntüleri

IF tek koşul için idealdir; çoklu koşullarda IFS okunabilirliği artırır. Birden çok eşik varsa, IFS ile “yüksekten düşüğe” veya “düşükten yükseğe” tutarlı bir sıralama seçin. Ayrıca metin çıktıları üretirken, rapor dilini standartlaştırmak için aynı terimleri kullanın.

AND/OR ile birleşik koşullar ve yanlış pozitifleri engellemek

Kurumsal senaryolarda kural genellikle “birden fazla koşul aynı anda sağlanmalı” şeklindedir. AND ile birlikte, OR kullanırken parantez düzenine dikkat etmek gerekir. Sık görülen bir problem, OR’un gereğinden geniş tutulması nedeniyle yanlış pozitif sonuçların artmasıdır. Bu durumda önce iş kuralını cümle halinde yazıp ardından koşullara çevirmek iyi bir yöntemdir.

IFERROR, ISBLANK ve hata yönetimi: Raporun kırılmasını önlemek

Hata yönetimi “hataları saklamak” değil, hataları anlamlı hale getirmektir. IFERROR ile “Bulunamadı” gibi bir çıktı üretmek, özellikle arama fonksiyonlarıyla birlikte kullanıldığında raporların daha dayanıklı olmasını sağlar. Ancak IFERROR her şeyi yutmasın; bazen hatayı görünür bırakmak (örneğin test sayfasında) daha doğrudur.

Boş hücreleri yönetmek için ISBLANK veya doğrudan ="" kontrolü kullanılabilir. Veri entegrasyonu olan dosyalarda “boş ama sıfır değil” ayrımı kritik olabilir; bu nedenle iş anlamını (null vs 0) netleştirin.

Arama ve eşleştirme: Doğru satırı bulmadan analiz başlamaz

Arama fonksiyonları, bir anahtardan (ürün kodu, çalışan id, müşteri no) bir değeri çekmek için kullanılır. Modern Excel’de XLOOKUP bu alanın yıldızıdır; ancak INDEX/MATCH gibi klasik yapıların hâlâ önemli avantajları vardır. Burada belirleyici olan; anahtarın benzersizliği, tablonun büyüklüğü ve bakım kolaylığıdır.

Arama kurgusu yanlışsa, özetler “güzel görünen” ama hatalı sonuçlar üretir. Özellikle yazılım ekiplerinin raporlarında, farklı sistemlerden gelen anahtarlar (ör. CRM id ile ERP id) karıştığında XLOOKUP’un bulunamayan kayıt davranışı ve hata yönetimi iyi tasarlanmalıdır.

Ürün kodu üzerinden açıklama ve fiyat alanlarını farklı tablodan çeken arama kurgusunun örnek hücreleri

XLOOKUP ile esnek arama: Bulunamadı çıktısını bilinçli tasarlamak

XLOOKUP, aranan değeri bir sütunda bulup başka bir sütundan döndürür. En güçlü yanlarından biri “bulunamadı” durumunda varsayılan değer döndürebilmesidir. Bu sayede raporlarınız, eksik kayıt olduğunda hata yerine anlamlı bir iş mesajı üretir.

INDEX/MATCH: Büyük tabloda kontrol ve taşınabilirlik

INDEX/MATCH, özellikle sütun ekleme/silme gibi değişikliklerde daha dayanıklı olabilir. Ayrıca MATCH ile tam eşleşme (0) kullanımı, anahtarların netliği açısından güvenlidir. Çok büyük veri setlerinde, doğru aralığı sınırlamak ve referansları tablo olarak tanımlamak performansa katkı sağlar.

Birleşik anahtarlar ve XMATCH ile modern eşleştirme stratejileri

Kurumsal veri modellerinde tek anahtar her zaman yeterli olmaz: ülke+ürün, dönem+müşteri gibi birleşik anahtarlar gerekebilir. Bu durumda yardımcı bir “Key” sütunu oluşturmak, formül karmaşıklığını azaltır. XMATCH, MATCH’in modern alternatifidir ve bazı senaryolarda daha esnek eşleştirme sağlar.

=XLOOKUP(A2, Urunler[UrunKodu], Urunler[Fiyat], "Kayıt yok", 0)
=INDEX(Musteriler[Segment], MATCH(B2, Musteriler[MusteriNo], 0))
=XLOOKUP(C2&"|"&D2, Harita[UlkeUrunKey], Harita[VergiOrani], "Eşleşme yok", 0)

Özetleme ve koşullu toplama: KPI’ların asıl üretim hattı

Özetleme fonksiyonları (SUMIFS, COUNTIFS, AVERAGEIFS, AGGREGATE, SUBTOTAL) analiz sonuçlarını yönetilebilir metriklere dönüştürür. Kurumsal raporlarda en yaygın ihtiyaç, belirli koşulları sağlayan satırların toplamını/adetini/ortalamasını almaktır. Bu fonksiyonlar doğru kurgulandığında, pivot tablo kullanmadan bile hızlı KPI panelleri üretilebilir.

Özellikle “çok kriterli” senaryolarda SUMIFS ve COUNTIFS vazgeçilmezdir. Buradaki kritik nokta, kriter aralıklarının boyutlarının aynı olması ve kriterlerin iş anlamına uygun seçilmesidir. Örneğin tarih kriterinde metin-tarih karışımı varsa sonuçlar sessizce yanlışlaşabilir.

SUMIFS: Çok kriterli toplama ile hedef metrik üretmek

SUMIFS ile birden fazla koşulu aynı anda uygularsınız. Analiz dosyalarında genellikle “dönem”, “bölge”, “ürün grubu” ve “durum” kriterleri birlikte kullanılır. Kriterleri hücrelerden okumak, raporu parametreli hale getirir ve farklı senaryoları hızlıca test etmenizi sağlar.

COUNTIFS: Veri kalitesi, istisna sayımı ve SLA takipleri

COUNTIFS, sadece sayım değil; veri kalitesi kontrollerinde de etkilidir. Örneğin “boş e-posta sayısı”, “SLA aşımı yaşayan kayıt sayısı”, “hatalı durum kodu adedi” gibi metrikler, geliştirici ekiplerin operasyonel görünürlüğünü artırır. Bu tip kontrolleri ayrı bir “Kalite” sekmesinde toplamak iyi bir uygulamadır.

SUBTOTAL ve AGGREGATE: Filtreli raporlarda doğru sonuç almak

Kullanıcıların filtrelediği listelerde basit SUM, gizlenen satırları da hesaplayabilir. SUBTOTAL ve AGGREGATE, filtrelenmiş verilerde doğru özetler üretmek için kullanılır. Özellikle self-service rapor dosyalarında, kullanıcıların filtre uyguladığı panolarda bu ayrım önemlidir.

=SUMIFS(Satislar[Tutar], Satislar[Donem], $H$2, Satislar[Bolge], $H$3, Satislar[Durum], "Onaylı")
=COUNTIFS(Talepler[SLA_Durumu], "Aşıldı", Talepler[Oncelik], "Yüksek")
=SUBTOTAL(109, Satislar[Tutar])

Dinamik dizi fonksiyonları: Filtrele, sırala, tekilleştir, otomatik yay

Modern Excel’de dinamik dizi fonksiyonları (FILTER, SORT, UNIQUE, SEQUENCE gibi) analizi daha “sorgu” benzeri bir deneyime yaklaştırır. Bu fonksiyonlar, raporların manuel kopyala-yapıştır bağımlılığını azaltır. Ayrıca bir hücreden yayılan sonuçlar, tablo tasarımını sadeleştirir.

Dinamik dizi yaklaşımında dikkat edilmesi gereken, sonuçların yayılacağı alanın boş olması ve rapor düzeninin buna göre planlanmasıdır. Kurumsal şablonlarda bu alanları ayırmak, sonradan eklenen not/hücrelerle çakışmaları engeller.

FILTER ile “görünür veri seti” üretip üstüne metrik kurmak

FILTER ile belirli koşulları sağlayan kayıtları ayrı bir çıktıda üretirsiniz. Böylece kullanıcılar “hangi kayıtlar bu KPI’ı oluşturuyor?” sorusunun cevabını doğrudan görür. Bu yaklaşım, metriklerin açıklanabilirliğini artırır ve denetim süreçlerinde fayda sağlar.

UNIQUE ve SORT ile referans listelerini otomatik güncellemek

Dropdown kaynakları, pivot öncesi referans listeleri veya yönetim özetleri için UNIQUE çok etkilidir. UNIQUE çıktılarını SORT ile düzenleyerek daha iyi bir kullanıcı deneyimi sağlarsınız. Özellikle “müşteri listesi”, “ürün grubu listesi” gibi alanlarda, manuel bakım ihtiyacını ciddi şekilde düşürür.

Formül okunabilirliği ve performans: LET ve LAMBDA ile sürdürülebilirlik

Analiz dosyaları büyüdükçe performans ve bakım maliyeti artar. Aynı arama işlemini farklı hücrelerde tekrar tekrar yapmak, hesaplamayı yavaşlatır. Ayrıca uzun formüller ekip içinde paylaşılırken anlaşılması zorlaşır. Bu noktada LET ve LAMBDA ile “değişken tanımlama” ve “yeniden kullanılabilir hesap” yaklaşımı devreye girer.

LET ile ara sonuçları adlandırıp formül içinde tekrar kullanabilirsiniz. Bu hem hesaplama tekrarını azaltır hem de okuyan kişiye “hangi parça neyi temsil ediyor” bilgisini verir. LAMBDA ise belirli bir hesap mantığını fonksiyon gibi paketleyerek ekip standardı oluşturmanıza yardımcı olur.

Ara değişkenlerle kurgulanmış LET yapısında, tek formülle ölçüm üretip hücrelere açık isimler veren düzen

LET ile tekrarı azaltma ve hesap adımlarını görünür kılma

LET’i özellikle “arama + koşul + özet” zincirlerinde düşünün. Örneğin önce ilgili satırın değerini çekip sonra sınıflandırma yapıyorsanız, aynı XLOOKUP’u iki kez çağırmak yerine LET ile bir kez çağırıp sonucu farklı mantık adımlarında kullanabilirsiniz. Bu yaklaşım, büyük dosyalarda hissedilir hız kazanımı sağlar.

LAMBDA ile ekip standardı: Hesap mantığını fonksiyonlaştırma

LAMBDA, belirli bir KPI hesaplamasını veya segment kuralını paylaşılan bir fonksiyon haline getirir. Böylece aynı kuralı farklı dosyalarda tekrar yazmak yerine, tek bir tanımın kullanılmasını sağlarsınız. Yazılım ekipleri için bu, “tek doğruluk kaynağı” yaklaşımına benzer bir disiplin getirir. Yine de LAMBDA’yı devreye almadan önce kuralın stabil olduğundan emin olun.

Performans ipuçları: Hesaplamayı hızlandıran pratikler

  1. Arama aralıklarını gereksiz büyütmeyin; tablo (structured reference) kullanın.
  2. Volatil fonksiyonları (ör. NOW, RAND) rapor sekmelerinde sınırlı kullanın.
  3. Aynı hesap adımını tekrar etmeyin; LET ile ara değerleri tekrar kullanın.
  4. Hata yönetimini hedefli kurun; her yere IFERROR sarmalamak yerine kritik noktaları belirleyin.
  5. Test hücreleri oluşturup örnek anahtarlarla doğrulama yapın; bu yaklaşım bakım süresini düşürür.

Gerçekçi bir mini senaryo: Mantık + Arama + Özetleme birlikte nasıl çalışır?

Diyelim ki bir ekip, gelen taleplerin (ticket) aylık maliyetini ve SLA riskini takip ediyor. Her talebin “Öncelik”, “Süre”, “Durum”, “Birim” gibi alanları var. Ayrıca bir referans tablosunda her öncelik için saatlik maliyet bulunuyor. Hedef, belirli ay ve birim için toplam maliyeti üretmek ve SLA aşımı olanları ayrı saymak.

Bu senaryoda önce arama ile “önceliğe göre saatlik maliyeti” çekersiniz. Sonra mantıkla “SLA aşıldı mı?” durumunu üretirsiniz. En sonda SUMIFS/COUNTIFS ile dönem ve birime göre özetlersiniz. Aşağıdaki örnekte LET ile ara adımları görünür kılan bir yaklaşım gösterilmiştir.

=LET(
  oncelik, A2,
  sureSaat, B2,
  saatlik, XLOOKUP(oncelik, Maliyet[Oncelik], Maliyet[SaatlikBedel], 0, 0),
  tutar, sureSaat*saatlik,
  tutar
)

Bu örneği bir tablo sütununa uyguladığınızda, artık özetleme tarafında doğrudan “Tutar” üzerinden ilerlersiniz. SLA aşımlarını ise ayrı bir sütunda IF/IFS ile üretip COUNTIFS ile sayabilirsiniz. Böylece hesap mantığı satır bazında netleşir, rapor sekmesi de daha temiz kalır.

Sonuç: Analiz için Excel fonksiyonları, doğru mimariyle ölçeklenir

Analiz dosyalarını “tek seferlik çalışma” gibi görmek, kurumsal ortamda hızla duvara toslatır. Çünkü raporlar büyür, veri kaynakları değişir, iş kuralları evrilir. Mantık, arama ve özetleme fonksiyonlarını birer aile olarak ele alıp doğru yerde doğru aracı seçtiğinizde; hem daha hızlı üretir hem de daha güvenilir sonuçlar elde edersiniz.

Özetle; önce doğru satırı bulup (arama), sonra iş kuralını uygulayın (mantık), en sonda KPI’ları üretin (özetleme). Okunabilirliği LET/LAMBDA ile güçlendirin, hata yönetimini bilinçli tasarlayın ve performansı ölçerek ilerleyin. Bu yaklaşım, Excel’i “hızlı hesap” aracından çıkarıp ekipler için sürdürülebilir bir analiz katmanına dönüştürür.

 OFİS DATA