Ana içeriğe atla

VLOOKUP() Excel: Nedir ve Nasıl Kullanılır?

Tablolar arasında veri bulun. Değerleri hızla arayın. Bilgilerinizi manuel arama olmadan düzenleyin.
Güncel 22 Nis 2026  · 7 dk. oku

Muhtemelen VLOOKUP() hakkında bir şeyler duymuşsunuzdur. Excel’deki en bilinen işlevlerden biridir (hatta belki de en bilineni). Nasıl çalıştığını kavradığınızda onu kullanmayı seveceksiniz; çünkü nam salmış derecede zor ve zaman alan bir sorunu çözer. VLOOKUP, aslında Microsoft’un size epey zaman kazandırma yoludur. 

Bu yazıda, VLOOKUP()’ın nasıl çalıştığını anlaşılır hale getirecek ve en yaygın kullanım alanlarında sizi adım adım yönlendireceğim. Argümanlardan birini unutursanız bu yazıya her zaman geri dönebilirsiniz. 

VLOOKUP() Ne Yapar?

Artık zemini hazırladığıma göre, VLOOKUP() aslında ne yapar, bunu netleştirelim. 

Özünde VLOOKUP(), bir tablonun (veya hücre aralığının) ilk sütununda bir değeri arar ve aynı satırdaki başka bir sütundan bir değer döndürür. 

Bunu şöyle düşünün: "Listemde bu öğeyi bul ve aynı satırdan başka bir şeyi bana ver."

Her seferinde kullandığınız dört önemli argüman vardır: 

=VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
  • lookup_value: Aramak istediğiniz değer.

  • table_array: Verilerinizi içeren hücre aralığı (hem arama yapılacak sütunu hem de döndürülecek sütun(lar)ı kapsar).

  • col_index_num: Değerin döndürüleceği table_array içindeki sütun numarası (en soldaki için 1’den başlar).

  • [range_lookup]: İsteğe bağlı. Birebir eşleşme için FALSE girin (genellikle istediğiniz budur) veya yaklaşık eşleşme için TRUE girin.

VLOOKUP(), argümanlarını anlamanız gereken bir işlevdir. Her işlev böyle değildir ama VLOOKUP() kesinlikle böyledir. 

Excel VLOOKUP() Temel Örnek

Şimdi VLOOKUP()’ı işe koşalım. Diyelim ki elinizde şöyle basit bir ürün ve fiyat tablosu var: 

Excel VLOOKUP temel örnek

Bir muzun fiyatını öğrenmek istediğinizi düşünün. Şunu kullanabilirsiniz:

=VLOOKUP("Banana", A2:B4, 2, FALSE)
  • "Banana" aradığınız değerdir.

  • A2:B4 veri aralığıdır.

  • 2, Excel’e ikinci sütundan, yani Price sütunundan değeri döndürmesini söyler.

  • FALSE tam eşleşme istediğiniz anlamına gelir. (Bu özel argüman hakkında daha sonra daha fazla konuşacağız. En kafa karıştırıcı olan budur.)

Bu formül $0.30 döndürecektir. 

Ancak değeri formüle sabitlemek her zaman ideal değildir; bu da bizi bir sonraki noktaya getiriyor:

Sabit Değer Yerine Hücre Başvuruları ile VLOOKUP()

Son örnekte arama değerini sabitledim. Pratikte, çoğu zaman bir hücreye başvurmak istersiniz. Bu, formülünüzü dinamik ve yeniden kullanılabilir hale getirir. Örneğin, D2 hücresine "Orange" yazarsanız, şunu kullanabilirsiniz:

Hücre başvuruları ile Excel VLOOKUP

=VLOOKUP(D2, A2:B4, 2, FALSE)

Artık D2’deki değeri her değiştirdiğinizde, formül ilgili fiyatı getirir ve formülün kendisini düzenlemenize gerek kalmadığını görürsünüz. 

VLOOKUP(): Tam Eşleşme ve Yaklaşık Eşleşme

Şimdi muhtemelen dördüncü argüman olan [range_lookup]’u merak ediyorsunuz. Bazen fark etmez ama bazen sonuçlarınız üzerinde büyük etkisi olur. Kural olarak, çoğu zaman tam eşleşme için FALSE istersiniz.

  • Adlar, kimlikler (ID) veya ürün kodları gibi kesin eşleşme gerektiren durumlarda FALSE kullanın.

  • Vergi dilimleri veya notlama ölçekleri gibi aralıklar için TRUE kullanın; burada aşıma yapmadan en yakın değeri istersiniz. Şunu unutmayın (ve bu da önemlidir): TRUE kullanırken arama sütununuz artan düzende sıralanmış olmalıdır.

Bir yaklaşık eşleşme örneğine bakalım:

Diyelim ki şu vergi oranı tablosuna sahipsiniz:

Yaklaşık eşleşme ile Excel VLOOKUP

Geliriniz $15,000 ise:

=VLOOKUP(15000, A2:B4, 2, TRUE)

Excel, 15000’ten küçük veya ona eşit en yakın değeri (yani 10000) bulur ve %15 döndürür.

Yine de, çoğu arama için FALSE ile devam edin.

Yaygın Tuzaklar ve Sınırlamalar

Her şey gibi, VLOOKUP()’ın da sınırlamaları vardır; böylece ileride tökezlemezsiniz. Dikkat etmeniz gereken birkaç nokta:

  • Sadece soldan sağa arar. Aklıma gelen en büyük sınırlama budur. VLOOKUP() her zaman table_array’ınızın ilk sütununda arama yapar ve sağındaki sütunlardan veri döndürür. Soldaki veriyi aramanız gerekiyorsa başka bir yaklaşıma ihtiyacınız olacaktır.

  • Sütun numarası statiktir. Tablonuzda sütun eklerseniz veya silerseniz, col_index_num yanlış sütunu işaret ediyor olabilir. Bazen, bir şeyi bozarsanız, tüm bir sütunda #N/A hatalarını fark edersiniz; ama bazen sorun fark edilmesi daha zor olabilir. 

  • Büyük veri kümelerinde yavaş olabilir. Çok büyük tablolarda performansta gerçek ve fark edilir bir düşüş olabilir. Aradığınız değeri bulduysanız ve aramanın dinamik olmasına gerek yoksa, çalışma kitabınızın yükünü azaltmak için Kopyala > Yapıştır Özel kullanabilirsiniz. 

Bu sorunlarla karşılaşırsanız, INDEX()+MATCH() gibi alternatifleri veya Excel sürümünüzde mevcutsa daha yeni XLOOKUP() işlevini düşünün. (Bu işlevler arasındaki farkları yazının ilerleyen bir bölümünde çözmenize yardımcı olacağım.)

VLOOKUP() Formüllerinizi Daha Esnek Hale Getirmek

Artık temellerde rahatsanız, VLOOKUP() formüllerinizi daha esnek ve yönetimi kolay hale getirelim. Harika bir püf noktası, adlandırılmış aralıklar kullanmaktır. Örneğin, A2:B4’ü seçin, Ad Kutusu’na "ProductTable" yazın ve artık formülünüz bu adı referans alabilir:

=VLOOKUP(D2, ProductTable, 2, FALSE)

Bu, özellikle tablolarınız yer değiştiriyorsa, formüllerinizi okumayı ve bakımını çok daha kolaylaştırır.

VLOOKUP() Hatalarını Zarifçe Yönetmek

Bazen VLOOKUP() aradığınız değeri bulamaz ve #N/A hatasına yol açar. Elektronik tabloyu toparlamak ve daha kullanıcı dostu hale getirmek için bu hataları yakalamak amacıyla IFERROR() kullanabilirsiniz:

=IFERROR(VLOOKUP(D2, ProductTable, 2, FALSE), "Not found")

Bu şekilde, eksik değerler hata iletisi yerine "Not found" olarak görüntülenir; bu da göze daha hoş gelir.

VLOOKUP() vs. INDEX()/MATCH() vs. XLOOKUP()

Alternatif işlevlerden az önce bahsetmeye başlamıştım. 

INDEX() ve MATCH() birlikte sıklıkla önerilir; nedeni ise şudur:

  • INDEX()/MATCH(), yalnızca sağa değil, herhangi bir yöne bakmanıza olanak tanır; bu da az önce bahsettiğim VLOOKUP() sınırlamasının üstesinden gelir.

  • Arama sütununuzun aralıktaki ilk sütun olması gerekmez.

  • Sütun ekleme veya silme formülünüzü bozmaz.

Ve işte XLOOKUP()’ın VLOOKUP() ile karşılaştırması:

  • XLOOKUP(), işlevlerini tek ve daha sezgisel bir formülde birleştirerek hem VLOOKUP()’ın hem de INDEX()/MATCH()’in yerini alır.

  • Sola, sağa, yukarıya veya aşağıya bakabilirsiniz.

  • Arama sütununun sabit bir konumda olmasını gerektirmez.

  • Hiçbir şey bulunamazsa kullanılacak bir yedek değer tanımlayabilirsiniz; böylece daha önce gösterdiğim IFERROR() düzeltmesine gerek kalmadan o meşhur #N/A’dan kaçınmış olursunuz.

Bazı İpuçları ve Kısayollar

Tüm anlattıklarımızın üzerine, işte bazı kullanışlı VLOOKUP() ipuçları:

  • Mutlak başvurular: Formülünüzü aşağı kopyalarken aralığın sabit kalması için table_array’inizi $ işaretleriyle kilitleyin (örn. $A$2:$B$100).

  • Sıralama: Yaklaşık eşleşmeler ( TRUE ile) için arama sütununuzun artan düzende sıralı olduğundan emin olun.

  • Kısmi eşleşmeler: VLOOKUP(), range_lookup için TRUE kullanmadıkça veya yaratıcı yöntemler uygulamadıkça kısmi eşleşmeler için joker karakterleri doğrudan desteklemez.

Sonuç

Belirli VLOOKUP() kullanım senaryolarına ilişkin daha fazla harika eğitimimiz var. Koleksiyonumuzu okuyun:

Ardından, yapılandırılmış bir öğrenme yolu ve tüm bunları daha iyi bir bağlama oturtup becerilerinizi gerçekten geliştirmek için Excel ile Veri Analizi ve İleri Düzey Excel Fonksiyonları kurslarımıza kaydolun. Excel’de kendinizi geliştirmeye devam etmenin en iyi yolu budur.


Josef Waples's photo
Author
Josef Waples

Bilimsel dergilerde yayımlanan araştırma makalelerine katkıları olan bir veri bilimi yazarı ve editörüyüm. Özellikle lineer cebir, istatistik, R ve benzeri konularla ilgileniyorum. Aynı zamanda epey satranç da oynarım! 

Konular

DataCamp ile Excel Öğrenin

Kurs

Excel’e Giriş

4 sa
225.3K
Excel'in temellerine hakim olun ve etkili analizler yapmak için bu elektronik tablo aracını kullanmayı öğrenin.
Ayrıntıları GörRight Arrow
Kursa Başla
Devamını GörRight Arrow