DÜŞEYARA mı XLOOKUP mu? Hangisini Ne Zaman Kullanmalı

İki Fonksiyon, Bir Soru

DÜŞEYARA Excel'in en eski ve en sevilen fonksiyonlarından biridir. XLOOKUP ise 2019 sonunda Microsoft 365 aboneliğine eklenen modern bir alternatiftir. Bu yazıda iki fonksiyonu performans, esneklik, hata yönetimi ve uyumluluk açısından kıyaslıyor; hangisini ne zaman kullanmanız gerektiğine dair net bir karar çerçevesi sunuyoruz.

Kısa cevap: Eğer Microsoft 365 ya da Excel 2021 kullanıyorsanız ve dosyanızı yalnızca aynı sürümleri kullanan kişilerle paylaşacaksanız XLOOKUP daha iyi bir tercihtir. Eski sürümlerle uyumluluk gerektiren ya da yeniden kullanılan eski şablonlarda DÜŞEYARA hâlâ savunulabilir. Detaylar aşağıda.

DÜŞEYARA'nın Çalışma Mantığı

DÜŞEYARA (VLOOKUP) bir tablo dizisinin en sol sütununda dikey olarak değer arar. Eşleşmeyi bulduğunda istenen sütun numarasındaki değeri döndürür.

=DÜŞEYARA(A2; B:E; 3; YANLIŞ)

Burada A2'deki değer B sütununda aranır, üçüncü sütun olan D sütunundan değer çekilir. YANLIŞ tam eşleşmeyi garanti eder. Bu basit yapı milyonlarca rapor üretmiş olsa da iki ciddi kısıtı vardır: arama sütunu mutlaka tablonun en solunda olmalıdır ve sütun numarasını sabit yazdığınız için araya yeni sütun eklendiğinde formül bozulur.

XLOOKUP'ın Getirdikleri

XLOOKUP hem dikey hem yatay arama yapar, sola arama yapabilir, varsayılan olarak tam eşleşme kullanır ve eşleşme bulunamazsa döndürülecek değeri parametre olarak alır.

=XLOOKUP(A2; B:B; D:D; "Bulunamadı")

Aynı işi yapar ama parametreleri çok daha okunaklıdır. Sütun ekleme/çıkarma artık formülü bozmaz çünkü sütunlar isimle değil aralıkla referanslanır. Üstelik son parametre sayesinde EĞERHATA sarmalamasına gerek kalmaz.

Karşılaştırma Tablosu

ÖzellikDÜŞEYARAXLOOKUP
Sürüm desteğiTüm sürümlerMicrosoft 365, Excel 2021+
Sola aramaHayır (INDIS-KAÇINCI gerek)Evet, doğal
Yatay aramaHayır (YATAYARA)Evet
Varsayılan eşleşmeYaklaşık (riskli)Tam eşleşme
Bulunamayan değer#YOK hatasıParametre ile özel mesaj
Sütun ekleme dayanıklılığıDüşükYüksek
Performans (1 milyon satır)OrtaHızlı
Joker karakterEvetEvet (parametre ile)

Senaryolar — Hangisi Kullanılmalı?

Senaryo 1: Eski Şirket Şablonu

Şirketinizin 2010'dan beri kullandığı bir maaş bordrosu şablonu var. Beş kişi farklı sürümlerde Excel kullanıyor. Burada DÜŞEYARA tek mantıklı seçenektir, çünkü XLOOKUP eski sürümlerde #AD? hatası verir.

Senaryo 2: Sola Arama Gerekli

Müşteri kodunu biliyorsunuz ve aynı tablonun solundaki kayıt tarihini almak istiyorsunuz. DÜŞEYARA bunu doğrudan yapamaz; INDIS-KAÇINCI kombinasyonu gerekir. XLOOKUP'ta tek satırda halledersiniz.

=XLOOKUP(A2; D:D; B:B)

Senaryo 3: Hata Yönetimi

Bir e-ticaret raporunda ürün kodu bulunamayan satırlar için "Aktif değil" yazmak istiyorsunuz. DÜŞEYARA ile EĞERHATA(DÜŞEYARA(...); "Aktif değil") sarmalamak zorundasınız. XLOOKUP'ta dördüncü parametre bu işi tek başına yapar.

Senaryo 4: Çoklu Sonuç Döndürme

Modern Excel'de XLOOKUP birden fazla sütunu tek seferde çekebilir. Bir sipariş kodundan müşteri adı, şehir ve kargo şirketini aynı anda almak için:

=XLOOKUP(A2; B:B; D:F)

Üç hücreye birden taşan bir dizi döndürür. DÜŞEYARA bunu yapamaz; üç ayrı formül yazmanız gerekir.

Performans Notları

Microsoft mühendislik ekibinin yayımladığı kıyaslamalarda XLOOKUP, ikili arama (binary search) seçeneği sayesinde sıralı veride DÜŞEYARA'nın iki katı hızda çalışıyor. Pratikte ise dosya boyutu yüz bin satırın altındaysa fark hissedilmiyor. Performans tek başına bir karar kriteri olmamalı; bakım kolaylığı ve hata güvenliği daha önemli.

Senaryo 5: Yatay Tabloda Arama

Aylık veriler bazen satır bazlı değil, sütun bazlı düzenlenir: Ocak, Şubat, Mart şeklinde sütunlar uzar. DÜŞEYARA bu durumda işe yaramaz; YATAYARA gerekir. XLOOKUP ise yön farkı gözetmeden tek başına çalışır.

=XLOOKUP("Mart"; B1:M1; B2:M2)

Aynı formül, başlık satırını dikey arama olarak da yazıp aynı şekilde sonuç verir. Excel formülü için yön kavramı ortadan kalkar; bu küçük zarafet, gerçek hayattaki tabloların düzensizliği karşısında çok değerli olur.

Senaryo 6: Listenin Sondan İlk Eşleşmesi

Bir müşterinin son siparişini bulmak istediğinizi düşünün. Sipariş listesi tarihe göre sıralı değil. DÜŞEYARA her zaman ilk eşleşmeyi döner ve tersini yapamaz. XLOOKUP'ın altıncı parametresi (arama yönü) bu işi tek satırda halleder:

=XLOOKUP(A2; D:D; E:E; ""; 0; -1)

Son parametre -1 verildiğinde arama sondan başa doğru ilerler ve bulduğu ilk eşleşmeyi döndürür. Aynı işi DÜŞEYARA ile yapmak için ek sütun, sıralama ve formül zinciri gerekir.

İNDİS-KAÇINCI: Üçüncü Yol

İki fonksiyondan tarihsel olarak en güçlü alternatif İNDİS-KAÇINCI kombinasyonudur. XLOOKUP yokken pek çok ileri kullanıcı bu yolu seçmiştir.

=İNDİS(D:D; KAÇINCI(A2; B:B; 0))

Sola arama yapar, sütun ekleme dayanıklılığı yüksektir, dosya boyutuna karşı performansı iyidir. Tek dezavantajı sözdiziminin ilk bakışta XLOOKUP'tan biraz daha karmaşık olmasıdır. Eski sürümlerle uyumluluk gerektiğinde DÜŞEYARA yerine İNDİS-KAÇINCI tercih edilebilir.

Hangi Sürümde Hangisi Var?

Excel SürümüDÜŞEYARAİNDİS-KAÇINCIXLOOKUP
Excel 2007VarVarYok
Excel 2013VarVarYok
Excel 2016VarVarYok
Excel 2019VarVarYok
Excel 2021VarVarVar
Microsoft 365VarVarVar

Geçiş Stratejisi

  1. Mevcut DÜŞEYARA formüllerinizi Ctrl + H ile bulup XLOOKUP eşdeğerini elle yazın.
  2. Sonuçları yan yana kontrol edin; özellikle yaklaşık eşleşme kullanılan yerlerde davranış değişebilir.
  3. Şirket şablonlarını güncellemeden önce tüm kullanıcıların Microsoft 365 sürümünde olduğundan emin olun.
  4. Geçici dönem için EĞERHATA(XLOOKUP(...); DÜŞEYARA(...)) sarmalayıp her iki sürümde çalışan formüller yazabilirsiniz.

İlgili Fonksiyonlar

Aynı problem için ek araçlar: DÜŞEYARA, XLOOKUP, İNDİS, KAÇINCI.

İlginç Bir Detay: Yaklaşık Eşleşme Aslında Faydalı

DÜŞEYARA'nın yaklaşık eşleşme parametresi (son argüman DOĞRU) hata kaynağı olarak ün salmıştır, ancak doğru kullanıldığında çok güçlüdür. Vergi dilimleri, komisyon basamakları, indirim eşikleri gibi sıralı sayı tablolarında yaklaşık eşleşme idealdir.

=DÜŞEYARA(B2; KomisyonTablosu; 2; DOĞRU)

Burada B2 satıcının cirosu, komisyon tablosu ise alt sınırı ve oranı içerir. Yaklaşık eşleşme, ciroya en uygun basamağı bulup ilgili komisyon oranını döner. Aynı işi XLOOKUP'ta yapmak için beşinci parametre olarak -1 ya da 1 verirsiniz. Yaklaşık eşleşmede iki kural altın değerindedir: ilki, arama sütunu mutlaka artan sırada olmalı; ikincisi, eşik tablosu ayrı bir sayfada saklanmalı, formülün okunmasını kolaylaştırır.

Karar Çerçevesi — Üç Soru

Hangisini kullanacağınıza dair karar bir formül seçimi değil, bir bakım stratejisi kararıdır. Aşağıdaki üç soruyu sırayla cevaplayın:

  1. Dosyayı kim açacak? Tek başına çalışıyorsanız ya da ekibiniz Microsoft 365'teyse XLOOKUP. Eski sürümler dolaşımdaysa DÜŞEYARA ya da İNDİS-KAÇINCI.
  2. Şablon ne kadar sık değişecek? Sütun ekleme, sıra değiştirme sık olacaksa XLOOKUP veya İNDİS-KAÇINCI hayat kurtarır. Statik şablonlarda DÜŞEYARA yetiyor.
  3. Hata yönetimi kritik mi? Müşteriye giden raporda #YOK görmek istemiyorsanız XLOOKUP'ın dördüncü parametresi en temiz çözüm. EĞERHATA sarmalama da iş görür.

Sıkça Karşılaşılan Sorular

Eğitimlerimiz ve yardım masamızda en çok aldığımız sorulardan derlenen yanıtlar:

  • "DÜŞEYARA neden boş hücre döndürüyor?" Çoğunlukla aranan sütundaki değer metin, kaynak değer sayı (ya da tersi). Aranan değeri =A2&"" ile metne çevirip ya da =A2*1 ile sayıya çevirip deneyin.
  • "XLOOKUP yazınca #AD? hatası alıyorum." Excel sürümünüz desteklemiyor. Microsoft 365 ya da Excel 2021'e geçiş gerekir; alternatif olarak İNDİS-KAÇINCI kullanın.
  • "Birden fazla eşleşme nasıl bulunur?" Tekil arama fonksiyonları yalnızca ilk (ya da son) eşleşmeyi döner. Çoklu sonuç için FİLTRE kullanın: =FİLTRE(D:D; B:B=A2).
  • "İki kritere göre arama yapabilir miyim?" XLOOKUP'ta arama dizisini ampersand ile birleştirin: =XLOOKUP(A2&B2; C:C&D:D; E:E). DÜŞEYARA için yardımcı sütun gerekir.

Hangi Hatayı Hangisi Nasıl Yönetir?

DurumDÜŞEYARAXLOOKUP
Eşleşme bulunamaz#YOKParametreden gelen değer
Sütun numarası yanlış#BAŞV!İlgili değil
Aranan değer boş0 ya da boşEşleşmenin değeri
Veri tipi uyuşmazlığı#YOK#YOK
Joker karakterOtomatik (4. arg YANLIŞ ise)5. parametre 2 ile açılır

Performans Detayı: Tam Sütun Referansları

Hem DÜŞEYARA hem XLOOKUP A:A gibi tam sütun referanslarını destekler, fakat bu kullanım büyük dosyalarda hesaplama süresini uzatır. Aralığı A2:A10000 gibi sınırlandırmak ya da Tablo (Ctrl + T) kullanmak çok daha iyi performans verir. Tablolar büyüdükçe alan otomatik genişler, bu sayede formülü hiç güncellemek zorunda kalmazsınız.

Veri Güvenliği ve Doğrulama

Bir arama formülünün ürettiği değer karar mekanizmasına giriyorsa (örneğin maaş hesabı, sözleşme süresi) yalnızca formüle güvenmek yetmez. Aramanın bulunamadığı durumlar için açık bir uyarı bırakın:

=XLOOKUP(A2; B:B; D:D; "EŞLEŞME YOK")

Bu açık etiket, aşağı akıştaki raporun bir hata gibi davranmasını engeller. DÜŞEYARA ile aynı güvenlik için EĞERHATA(DÜŞEYARA(...); "EŞLEŞME YOK") kullanılmalıdır.

Sonuç

DÜŞEYARA hâlâ ölmedi; ekosistemin büyük bölümü onunla çalışıyor. Ancak yeni şablon kuruyorsanız ve sürüm kısıtınız yoksa XLOOKUP'a geçmek için hiçbir gerekçe kalmıyor. Daha güvenli, daha okunaklı ve uzun vadede daha az bakım demek. Önümüzdeki beş yıl içinde DÜŞEYARA'nın yerini tamamen XLOOKUP'a bırakacağı tahmini Microsoft tarafında da konuşuluyor. Bugün karar vermeniz gereken şey hangisinin "doğru" olduğu değil, bir sonraki dosyanızı hangisi ile yazmaya başlayacağınız. Şüphedeyseniz: yeni dosya, yeni formül.