Başka bir çalışma kitabında değerleri nasıl arar veya bulursunuz?
Bu makale, başka bir çalışma kitabından değerleri nasıl arayacağınız ve veri döndürme konusunu ele almaktadır. Ayrıca, başka bir çalışma kitabından değerleri nasıl bulup arayabileceğinizi de anlatacağım. Burada size üç ayrıntılı çözüm sunacağım.
- Excel'de başka bir çalışma kitabından veri arama ve değerleri döndürme
- VBA ile kapalı bir çalışma kitabından veri arama ve değerleri döndürme
Excel'de başka bir çalışma kitabından veri arama ve değerleri döndürme
Örneğin, Excel'de bir Meyve Satın Alma tablosu oluşturuyorsunuz ve şu anda diğer bir çalışma kitabından meyveleri aramanız ve aşağıdaki ekran görüntülerinde gösterildiği gibi karşılık gelen fiyatları döndürmeniz gerekiyor. Size bu sorunu Excel'deki VLOOKUP işleviyle nasıl çözebileceğinizi göstereceğim.
1. Arama yapacağınız ve değerleri döndüreceğiniz her iki çalışma kitabını da açın.
2. Fiyatı döndüreceğiniz boş bir hücre seçin ve formülü yazın: =VLOOKUP(B2,[Price.xlsx]Sheet1!$A$1:$B$24,2,FALSE) İçine yazdıktan sonra, bu formülü gerektiği gibi uygulamak için Dolgu Tutamacını sürükleyin.

Notlar:
(1) Yukarıdaki formülde, B2, başka bir çalışma kitabından arayacağınız meyveyi temsil eder; Price.xlsx, arama yapacağınız çalışma kitabının dosya adını belirtir; Sheet1, arama yapacağınız sayfa adıdır ve A$1:$B$24 ise arama yapacağınız aralıktır. Bu değerleri ihtiyaçlarınıza göre değiştirebilirsiniz.
(2) Arama yaptığınız çalışma kitabını kapattıktan sonra, formül otomatik olarak şu şekilde güncellenir: =VLOOKUP(B2,'W:\test\[Price.xlsx]Sheet1'!$A$1:$B$24,2,FALSE), W:\test\, baktığınız çalışma kitabının kaydedildiği yoldur.
Şimdiye kadar, tüm fiyatlar sol taraftaki ekran görüntüsünde gösterildiği gibi doğru bir şekilde döndürülmüştür. Ve eğer baktığınız orijinal çalışma kitabı değişirse, bu fiyatlar otomatik olarak güncellenecektir.
![]() | Formülü hatırlamak çok mu karmaşık? Formülü, gelecekte tek tıklamayla yeniden kullanmak üzere Bir Auto Text girdisi olarak kaydedin! Daha fazla oku… Ücretsiz deneme |

Kutools AI ile Excel Sihirini Keşfedin
- Akıllı Yürütme: Hücre işlemleri gerçekleştirin, verileri analiz edin ve grafikler oluşturun—tümü basit komutlarla sürülür.
- Özel Formüller: İş akışlarınızı hızlandırmak için özel formüller oluşturun.
- VBA Kodlama: VBA kodunu kolayca yazın ve uygulayın.
- Formül Yorumlama: Karmaşık formülleri kolayca anlayın.
- Metin Çevirisi: Elektronik tablolarınız içindeki dil engellerini aşın.
VBA ile kapalı bir çalışma kitabından veri arama ve değerleri döndürme
VLOOKUP fonksiyonunda kaydetme yolu, dosya adı ve çalışma sayfasını yapılandırmak biraz kafa karıştırıcı olabilir. Bu yöntem, bu işlemi kolayca çözmek için size bir VBA tanıtacaktır.
1. Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.
2. Ekle > Modül'e tıklayın ve ardından aşağıdaki VBA kodunu açılan modül penceresine yapıştırın.
VBA: Kapalı bir çalışma kitabından veri arama ve değerleri döndürme
Private Function GetColumn(Num As Integer) As String
If Num <= 26 Then
GetColumn = Chr(Num + 64)
Else
GetColumn = Chr((Num - 1) \ 26 + 64) & Chr((Num - 1) Mod 26 + 65)
End If
End Function
Sub FindValue()
Dim xAddress As String
Dim xString As String
Dim xFileName As Variant
Dim xUserRange As Range
Dim xRg As Range
Dim xFCell As Range
Dim xSourceSh As Worksheet
Dim xSourceWb As Workbook
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xUserRange = Application.InputBox("Lookup values :", "Kutools for Excel", xAddress, Type:=8)
If Err <> 0 Then Exit Sub
Set xUserRange = Application.Intersect(xUserRange, Application.ActiveSheet.UsedRange)
xFileName = Application.GetOpenFilename("Excel Files (*.xlsx), *.xlsx", 1, "Select a Workbook")
If xFileName = False Then Exit Sub
Application.ScreenUpdating = False
Set xSourceWb = Workbooks.Open(xFileName)
Set xSourceSh = xSourceWb.Worksheets.Item(1)
xString = "='" & xSourceWb.Path & Application.PathSeparator & _
"[" & xSourceWb.Name & "]" & xSourceSh.Name & "'!$"
For Each xRg In xUserRange
Set xFCell = xSourceSh.Cells.Find(xRg.Value, , xlValues, xlWhole, , , False)
If Not (xFCell Is Nothing) Then
xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row
End If
Next
xSourceWb.Close False
Application.ScreenUpdating = True
End Sub
Not: Bu VBA, seçilen sütundan 2 sütun sonrasındaki bir sütuna değer döndürecektir. Örneğin, bu VBA'yı uygularken sütun B'yi seçersem, değerler Sütun D'ye dönecektir. Hedef sütunu değiştirmeniz gerekiyorsa, lütfen şu kodu bulun: xRg.Offset(0, 2).Formula = xString & GetColumn(xFCell.Column + 1) & "$" & xFCell.Row , ve değiştirin 2 ihtiyaçlarınıza göre başka bir sayıya. 3. Bu VBA'yı çalıştırmak için F5 tuşuna basın veya Çalıştır düğmesine tıklayın.
4. Açılan iletişim kutusunda, arama yapacağınız veri aralığını belirtin ve Tamam düğmesine tıklayın.
5. Şimdi lütfen açılır 'Bir Çalışma Kitabı Seçin' iletişim kutusunda değerleri arayacağınız çalışma kitabını seçin ve Aç düğmesine tıklayın.
Şimdi, seçilen tüm değerler belirtilen kapalı çalışma kitabında aranmış durumda ve karşılık gelen değerler belirlenen sütunda döndürülmüştür. Ekran görüntüsüne bakınız:
En İyi Ofis Verimlilik Araçları
Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar. En çok ihtiyacınız olan özelliği almak için buraya tıklayın...
Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır
- Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
- Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
- Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!