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
| Özellik | DÜŞEYARA | XLOOKUP |
|---|---|---|
| Sürüm desteği | Tüm sürümler | Microsoft 365, Excel 2021+ |
| Sola arama | Hayır (INDIS-KAÇINCI gerek) | Evet, doğal |
| Yatay arama | Hayır (YATAYARA) | Evet |
| Varsayılan eşleşme | Yaklaşık (riskli) | Tam eşleşme |
| Bulunamayan değer | #YOK hatası | Parametre ile özel mesaj |
| Sütun ekleme dayanıklılığı | Düşük | Yüksek |
| Performans (1 milyon satır) | Orta | Hızlı |
| Joker karakter | Evet | Evet (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ÇINCI | XLOOKUP |
|---|---|---|---|
| Excel 2007 | Var | Var | Yok |
| Excel 2013 | Var | Var | Yok |
| Excel 2016 | Var | Var | Yok |
| Excel 2019 | Var | Var | Yok |
| Excel 2021 | Var | Var | Var |
| Microsoft 365 | Var | Var | Var |
Geçiş Stratejisi
- Mevcut DÜŞEYARA formüllerinizi
Ctrl + Hile bulup XLOOKUP eşdeğerini elle yazın. - Sonuçları yan yana kontrol edin; özellikle yaklaşık eşleşme kullanılan yerlerde davranış değişebilir.
- Şirket şablonlarını güncellemeden önce tüm kullanıcıların Microsoft 365 sürümünde olduğundan emin olun.
- 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:
- 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.
- Ş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.
- 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*1ile 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İLTREkullanı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?
| Durum | DÜŞEYARA | XLOOKUP |
|---|---|---|
| Eşleşme bulunamaz | #YOK | Parametreden 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 karakter | Otomatik (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.