Kurs
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ğitable_arrayiçindeki sütun numarası (en soldaki için1’den başlar). -
[range_lookup]: İsteğe bağlı. Birebir eşleşme içinFALSEgirin (genellikle istediğiniz budur) veya yaklaşık eşleşme içinTRUEgirin.
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:

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:B4veri aralığıdır. -
2, Excel’e ikinci sütundan, yani Price sütunundan değeri döndürmesini söyler. -
FALSEtam 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:

=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
FALSEkullanın. -
Vergi dilimleri veya notlama ölçekleri gibi aralıklar için
TRUEkullanın; burada aşıma yapmadan en yakın değeri istersiniz. Şunu unutmayın (ve bu da önemlidir):TRUEkullanı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:

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 zamantable_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_numyanlış sütunu işaret ediyor olabilir. Bazen, bir şeyi bozarsanız, tüm bir sütunda#N/Ahataları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ğimVLOOKUP()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 hemVLOOKUP()’ın hem deINDEX()/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 (
TRUEile) için arama sütununuzun artan düzende sıralı olduğundan emin olun. -
Kısmi eşleşmeler:
VLOOKUP(),range_lookupiçinTRUEkullanmadı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:
- Başka Bir Sayfadan VLOOKUP(): Excel’de Nasıl Yapılır
- Birden Fazla Kriterle VLOOKUP() Nasıl Yapılır
- Excel’de VLOOKUP() ile IF() Nasıl Birleştirilir
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.

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!