Kurs
VLOOKUP(), bir sütunda bir değeri arayıp aynı satırdaki başka bir sütundan karşılık gelen değeri döndüren bir Google Sheets işlevidir. Ona neyi bulacağını söylersiniz, nereye bakacağını belirtirsiniz ve size gereken veriyi getirir.
Elle arama ve eşleştirmenin çok zaman alacağı büyük veri kümeleriyle çalışırken özellikle faydalıdır. Ancak ortak bir değeri kullanarak iki tabloyu bağlamanız gerektiği her durumda VLOOKUP() başvuracağınız işlevdir.
Bu rehberde, söz dizimini, adım adım nasıl kullanılacağını, yanlış sonuçlara yol açan nedenleri ve INDEX MATCH() veya XLOOKUP() gibi alternatiflere ne zaman geçilmesi gerektiğini öğreneceksiniz.
Google Sheets’te VLOOKUP()’ın Söz Dizimi Nedir?
VLOOKUP()’ın söz dizimi şöyledir:
=VLOOKUP(search_key, range, index, [is_sorted])
Burada:
-
search_keyaramak istediğiniz değerdir -
rangearamanın yapılacağı tablodur -
indexsonucun döndürüleceği sütun numarasıdır -
[is_sorted]birebir eşleşme isteyip istemediğinizi tanımlar
Google Sheets’te VLOOKUP() Nasıl Yapılır?
Google Sheets’te VLOOKUP() yapmak için:
-
Hangi değeri aramak istediğinize karar verin: Bu bir kimlik (ID), ad veya herhangi bir benzersiz değer olabilir.
-
Tablo aralığınızı belirleyin: Arama değerinizi içeren sütunun bu aralıktaki ilk sütun olduğundan emin olun.
-
Hangi verinin döndürülmesini istediğinizi seçin: Bu, sonucu içeren sütundur (ör. ad, fiyat, durum).
-
VLOOKUP()formülünü yeni bir hücreye girin: Arama değerinizi, tablo aralığını ve döndürülecek sütunu referans verin. -
Kesin veya yaklaşık eşleşme kullanın (
FALSEveyaTRUE): Çoğu durumda, hatalı sonuçlardan kaçınmak için kesin eşleşme istersiniz (buna birazdan değineceğiz).
Elinizde şu tablo varsa:
|
A (ID) |
B (Ad) |
|
101 |
George |
|
102 |
Sarah |
|
103 |
Lily |
Ve 102 kimliğine (ID) karşılık gelen adı bulmak istiyorsanız şunu kullanın:
=VLOOKUP(102, A2:B4, 2, FALSE)
Bu, Google Sheets’e şunları söyler:
- A sütununda 102’yi ara
- B sütunundaki değeri döndür
- Birebir eşleşme ver
Sonuç olarak Sarah döner.

VLOOKUP() örneği. Görsel: Yazar.
VLOOKUP() Nasıl Çalışır (Adım Adım Mantık)
VLOOKUP() basit bir dikey arama süreci izler. Seçtiğiniz aralığın ilk sütunundan başlar, ardından ilk eşleşmeyi bulana kadar aşağı doğru satır satır tarar.
Eşleşmeyi bulduğunda aynı satırda kalır. Sonra belirttiğiniz sütuna doğru yana hareket eder ve o değeri döndürür.
İşte adım adım nasıl çalıştığı:
- Aralığın ilk sütununda başlar
- Sütun boyunca aşağı doğru arar
- İlk eşleşen değeri bulur
- Aynı satırda yana hareket eder
- Belirtilen sütundan veriyi döndürür
Diyelim ki E1007 Çalışan ID’sinin iş unvanını bulmak istiyorsunuz. Bunun için şu formülü kullanın:
=VLOOKUP("E1007", A:G, 5, FALSE)

Google Sheets’te VLOOKUP(). Görsel: Yazar.
Bu formül:
-
E1007’yi A sütununda bulur -
Aynı satırda yana ilerler
-
5. sütunu (İş Unvanı) döndürür
-
Sonuç olarak Yazılım Mühendisi verir.
Not: VLOOKUP() yalnızca soldan sağa arama yapabilir. Arama sütununuz aralıktaki ilk sütun değilse işlev çalışmaz. Bu durumda verinizi yeniden düzenlemeniz veya farklı bir işlev kullanmanız gerekir. Buna birazdan değineceğiz.
VLOOKUP()’ta Kesin Eşleşme ve Yaklaşık Eşleşme
Kesin eşleşme yalnızca değer birebir aynı olduğunda sonuç döndürür. Yaklaşık eşleşme ise genellikle sıralı verilere dayanarak, birebir eşleşme bulunamadığında en yakın değeri döndürür.
VLOOKUP()’ta bunu son argüman kontrol eder. Son argüman olan FALSE veya TRUE, çoğu kişinin yanıldığı yerdir; çünkü TRUE masum görünür ama öyle değildir.
- FALSE yalnızca kesin eşleşme demektir. Değer yoksa #N/A alırsınız; bu aslında yardımcıdır.
- TRUE, birebir eşleşme olmadığında en yakın küçük değeri döndürür; bu bir geri dönüş gibi görünse de gerçekte sessiz bir yanlış cevaptır. Ayrıca verinizin sıralı olduğunu varsayar. Değilse sonuç tanımsızdır.
Bence TRUE’yu yalnızca vergi dilimleri veya not aralıkları gibi kademeli aramalarda kullanın; çünkü tasarım gereği yaklaşık sonuç doğrudur. Onun dışındaki her şey için FALSE kullanın.
Kesin eşleşme (FALSE)
Bu, VLOOKUP()’a “Yalnızca bu değeri birebir bulursan sonuç döndür” der. Örneğin, =VLOOKUP("E1005", A:G, 7, FALSE) formülü E1005’i arar, 7. sütundan maaşı döndürür ve 90000 sonucunu verir.
Değer yoksa #N/A hatası alırsınız.

VLOOKUP()’ta kesin eşleşme. Görsel: Yazar.
Yaklaşık eşleşme (TRUE)
Bu, VLOOKUP()’a “Birebir eşleşme bulamazsan, onun altındaki en yakın değeri döndür” der. Bu kulağa faydalı gelebilir — bazen öyledir, ama bazen de sessizce yanlış cevap verir.
Örneğin, E1011 veri setimizde yok. Son çalışan ID’si E1010. Dolayısıyla =VLOOKUP("E1011", A:G, 7, TRUE) formülünü kullanırsanız, VLOOKUP() hata döndürmez. Bunun yerine en yakın küçük eşleşme olan E1010’ın değerini döndürür. Hücrede 88000 görüntülenir.
Yani E1011 eksik olsa bile, TRUE yaklaşık eşleşmeye izin verdiği için VLOOKUP() yine de bir sonuç verir.

VLOOKUP()’ta yaklaşık eşleşme. Görsel: Yazar.
Şimdi aynı verinin sırasının bozuk olduğunu ve formüle mevcut çalışan ID’sini girdiğimi varsayın: =VLOOKUP("E1011", A:G, 7, TRUE).
Bu sefer formül, arama sütunu sıralı olmadığından ve yaklaşık eşleşme sıralı veriye bağlı olduğundan hatalı bir maaş döndürür.

Sıralanmamış liste nedeniyle VLOOKUP()’ta yaklaşık eşleşme hata verir. Görsel: Yazar.
VLOOKUP()’ta Yaygın Hatalar ve Çözüm Yolları
Şimdi VLOOKUP() ile karşılaşabileceğiniz en yaygın sorunlara ve çözümlerine bakalım:
#N/A hatası
#N/A hatası, VLOOKUP()’ın istediğiniz değeri bulamadığı anlamına gelir.
Diyelim ki şu formül var: =VLOOKUP("E9999", A:G, 7, FALSE)
Eğer E9999 aralığın ilk sütununda değilse formül #N/A döndürür.
Bu, değerin sayfada farklı yazılması (fazladan boşluklar veya metin biçimlendirme sorunları gibi) durumlarında da olabilir.
Çözmek için:
-
Değerin aralığın ilk sütununda bulunduğundan emin olun
-
Mümkün olduğunda değeri elle yazmak yerine doğru hücre başvurusunu kullanın
-
Metin değerini sabit yazıyorsanız tırnak işaretleri ekleyin
-
Verilerdeki baştaki veya sondaki boşlukları kaldırın
-
Kesin eşleşmeye ihtiyaç duyduğunuzda yalnızca
FALSEkullanın
Yanlış sütun indeksi
Sütun indeksi, VLOOKUP()’a seçili aralık içinde hangi sütundan döndürme yapacağını söyler. İndeks numarası çok büyükse formül #REF! döndürür.
=VLOOKUP("E1005", A:G, 8, FALSE) ifadesi #REF! döndürür; çünkü A:G aralığında yalnızca 7 sütun vardır.

Yanlış sütun indeksi hata verir. Görsel: Yazar.
Sütun numarası geçerli olsa da yanlış sütunu işaret ediyorsa hatalı sonuç da alabilirsiniz.
Örneğin:
=VLOOKUP("E1005", A:G, 5, FALSE)
Bu, maaş yerine iş unvanını döndürür.
Çözmek için:
- Sütunları, seçtiğiniz aralığın ilk sütunundan itibaren sayın
- Sütun numarasının döndürmek istediğiniz değere karşılık geldiğini kontrol edin
- Sütunun aralık içinde mevcut olduğundan emin olun
Yaklaşık eşleşme sorunları
Eğer TRUE kullanırsanız, VLOOKUP() birebir eşleşme zorunlu tutmak yerine en yakın küçük eşleşmeyi arar.
Eğer =VLOOKUP("E1011", A:G, 7, TRUE) yazarsanız ve veri setinde E1011 yoksa, formül hata döndürmek yerine E1010’a ait olan 88000 değerini döndürür.
Bu sonuç doğru gibi görünebilir ama birebir eşleşme değildir.
Çözmek için:
-
Kesin sonuca ihtiyaç duyduğunuzda
FALSEkullanın -
Yalnızca veri sıralıysa ve yaklaşık sonuç kabul edilebilirse
TRUEkullanın
Aralık sorunları
VLOOKUP(), seçilen aralık formülün yapmak istediği işle uyuşmadığında da çalışmayı durdurabilir.
Örneğin, =VLOOKUP("E1005", A:C, 7, FALSE) #REF! döndürür; çünkü A:C aralığı yalnızca 3 sütundan oluşur, ancak formül 7. sütunu ister.
Bir diğer yaygın sorun, arama sütununun aralıktaki ilk sütun olmamasıdır.
Şu formüle bakın:
=VLOOKUP("E1005", B:G, 7, FALSE)
Burada aralıktaki ilk sütun B sütunudur, A sütunu değil. VLOOKUP() yalnızca seçilen aralığın ilk sütununda arama yaptığından E1005’i bulamaz.
Çözmek için:
- Arama sütununun aralıktaki ilk sütun olduğundan emin olun
- Aralığın döndürmek istediğiniz sütunu içerdiğinden emin olun
- Formülü sonlandırmadan önce seçilen aralığı iki kez kontrol edin

Yanlış aralık hata verir. Görsel: Yazar.
Google Sheets’te Sayfalar Arasında VLOOKUP()
Aralıktan önce sayfa adını ekleyerek VLOOKUP() ile başka bir sayfadan veri çekebilirsiniz.
Biçim şu şekildedir:
=VLOOKUP(search_key, SheetName!range, index, FALSE)
SheetName! bölümü formüle hangi sayfada arama yapacağını söyler.
Diyelim ki verileriniz Employees adlı bir sayfada kayıtlı ve siz başka bir sayfada çalışıyorsunuz. E1005 çalışan ID’sinin departmanını bulmak için şunu kullanın:
=VLOOKUP("E1005", Employees!A:G, 4, FALSE)
Burada:
-
Employees!A:GEmployees sayfasında arar -
4Departman sütununu döndürür
Formül E1005 için departmanı döndürür.

VLOOKUP()’ta başka bir sayfaya başvurma. Görsel: Yazar.
Sayfa adlarında boşluk olduğunda
Sayfa adı boşluk içeriyorsa, şu şekilde tek tırnak içine alın:
=VLOOKUP("E1005", 'Employee Data'!A:G, 7, FALSE)
Tırnak işaretleri olmadan formül çalışmaz.
Google Sheets’te VLOOKUP() ve INDEX MATCH Karşılaştırması
VLOOKUP() sabit bir sütunda arama yapar ve konuma göre veri döndürür; INDEX MATCH ise doğrudan satır ve sütun başvurularını kullanarak değerleri bulur, bu nedenle tablo yapısı değişse bile çalışır.
VLOOKUP: yazması hızlı, bozulması kolay
Zaten gördünüz; =VLOOKUP("E1005", A:G, 7, FALSE) E1005 için maaşı bulur.
Şu durumlarda iyi çalışır:
- Arama sütunu soldadır
- Tablo yapısı değişmez
Yapı değiştiğinde sorunlar başlar.
Örneğin:
- Yeni bir sütun eklersiniz
- Maaş sütunu 7’den 8’e kayar
- Formül hâlâ 7’yi kullanır
Artık hata göstermeden yanlış değer döndürür.
INDEX MATCH: daha uzun, ama sağlam
Aynı aramayı şimdi INDEX MATCH ile görün:
=INDEX(G:G, MATCH("E1005", A:A, 0))
Burada:
-
MATCH()A sütunundaE1005’in konumunu bulur -
INDEX()aynı konumdaki G sütunundan değeri döndürür
Bu yöntem sütun numaralarına bağlı değildir; bu yüzden tablo değişse bile çalışmaya devam eder.

INDEX MATCH, veriyi VLOOKUP()’tan daha iyi işler. Görsel: Yazar.
Gerçekte nerede yardımcı olur
Verileriniz soldan sağa düzenlenmemişse INDEX MATCH kullanın. Diyelim ki A Sütunu Çalışan ID içeriyor ve C Sütunu Soyadı içeriyor. Soyada göre arama yapıp Çalışan ID’sini döndürmek istiyorsanız, bu sağdan sola bir aramadır.
VLOOKUP() bunu tabloyu değiştirmeden yapamaz, fakat INDEX MATCH doğrudan halleder:
=INDEX(A:A, MATCH("Wilson", C:C, 0))
Verinizi yeniden düzenlemenize gerek yok.
Google Sheets’te VLOOKUP() ve XLOOKUP Karşılaştırması
VLOOKUP() sabit bir yapı içinde arama yapar ve sınırlamalara sahiptir; XLOOKUP() ise her yönde aramaya izin verir. 2022’de Google Sheets’e eklendi ve artık birçok durumda daha iyi bir seçenektir.
Diyelim ki Soyadı Wilson’ı kullanarak Çalışan ID’sini bulmak istiyorsunuz. Bu, sağdan sola bir aramadır. VLOOKUP() bunu tabloyu yeniden düzenlemeden yapamaz, ancak XLOOKUP() yapabilir:
=XLOOKUP("Wilson", C:C, A:A)
Bu formül:
- Soyadı (C sütunu) içinde arar
- Çalışan ID’sini (A sütunu) döndürür

Google Sheets’te XLOOKUP(). Görsel: Yazar.
XLOOKUP() şu nedenlerle daha iyidir:
- Her yönde çalışır (sol veya sağ)
- Sütun numarası kullanmaz
- Varsayılan olarak kesin eşleşme döndürür
- Eşleşme bulunamadığında özel çıktı tanımlamaya izin verir
Son Düşünceler
Tek bir tavsiye verecek olsam: VLOOKUP()’ı alıştırma sayfası yerine gerçekten önemsediğiniz bir e-tabloda kurun. Veriler önemli olduğunda hatalar farklı çarpar. TRUE birinin maaşını sessizce yanlış verdiğinde, FALSE’un neden var olduğunu asla unutmazsınız.
Rahat ettiğinizde, farklı eşleşme türlerini deneyin, aralıklarınızı ayarlayın ve sonuçların ne zaman anlamını yitirmeye başladığını fark edin. Genellikle bu, INDEX MATCH() veya XLOOKUP() gibi daha esnek bir seçeneğin daha mantıklı olduğu noktadır.
Karmaşık konuları basitleştirmeyi seven bir içerik stratejistiyim. Splunk, Hackernoon ve Tiiny Host gibi şirketlerin hedef kitleleri için ilgi çekici ve bilgilendirici içerikler üretmelerine yardımcı oldum.
SSS
`VLOOKUP()`’u joker karakterlerle kullanabilir miyim?
Evet. Kesin eşleşme kullanırken arama anahtarında * (herhangi sayıda karakter) ve ? (tek karakter) kullanabilirsiniz.
Örneğin, =VLOOKUP("E10*", A:G, 2, FALSE)
Google Sheets’te `VLOOKUP()` büyük/küçük harfe duyarlı aramaları destekler mi?
Hayır. VLOOKUP() büyük/küçük harfe duyarlı değildir. “apple” ve “Apple” değerlerini aynı kabul eder. Büyük/küçük harfe duyarlı aramalar yapmak için FILTER() veya EXACT() gibi işlevleri kullanmanız gerekir.
`VLOOKUP()` bazen neden boş sonuç döndürür?
Eşleşen hücre boş olduğunda gerçekleşir; bu, formülün doğru çalıştığını ancak görüntülenecek veri olmadığını gösterir.
`VLOOKUP()` adlandırılmış aralıklara başvurabilir mi?
Evet. A:G kullanmak yerine, aralığınıza ad verebilir (ör. EmployeeData) ve formülde bunu kullanabilirsiniz.
Bunu yapmanın bir örneği şöyledir:
=VLOOKUP("E1005", EmployeeData, 7, FALSE)

