Excel'de bir değeri arayarak birden fazla karşılık gelen değeri nasıl döndürebilirim?

Bu öğretici, aşağıda ekran görüntülerinde gösterildiği gibi Excel'de bir değeri arayarak birden fazla karşılık gelen değeri döndürmeyi anlatmaktadır:
Dizi formülü ile birden fazla karşılık gelen değeri döndürme
Filtre ile birden fazla karşılık gelen değeri döndürme
Tanımlı Fonksiyon ile birden fazla karşılık gelen değeri döndürme
Dizi formülü ile birden fazla karşılık gelen değeri döndürme
İşte uzun bir dizi formülü, bir değeri aramak ve birden fazla karşılık gelen değeri döndürmek için yardımcı olabilir.
1. Aramak istediğiniz değeri boş bir hücreye girin. Ekran görüntüsüne bakın:
2. Bitişik hücreye şu formülü yazın: =EĞER(HATAOLUŞTU(MİNDEX($A$1:$B$7,KÜÇÜK(EĞER($A$1:$A$7=$D$4,SATIR($A$1:$A$7)),SATIR(1:1)),2)),"",
MİNDEX($A$1:$B$7,KÜÇÜK(EĞER($A$1:$A$7=$D$4,SATIR($A$1:$A$7)),SATIR(1:1)),2)) ve ardından Shift + Ctrl + Enter tuşlarına birlikte basın, sonra Otomatik Doldurma yardımıyla hücreleri ilk boş hücreye kadar aşağı doğru doldurun. Ekran görüntüsüne bakın:
Not: Yukarıdaki formülde $A$1:$B$7 veri aralığını, $A$1:$A$7 ise belirli bir değeri aradığınız sütun aralığını temsil eder, $D$4 1. adımda arama değerini girdiğiniz hücreyi ifade eder, 2 ise ikinci sütunda karşılık gelen değerleri bulmayı belirtir.
Filtre ile birden fazla karşılık gelen değeri döndürme
Excel'de aynı sorunu çözmek için Filtre özelliğini de kullanabilirsiniz.
1. Arama yapmak istediğiniz sütun aralığını seçin ve tıklayın Veri > Filtre. Ekran görüntüsüne bakın:
2. Ardından seçtiğiniz aralığın ilk hücresindeki ok düğmesine tıklayın ve açılır listede yalnızca aramak istediğiniz değeri işaretleyin. Ekran görüntüsüne bakın:
3. Tamam'a tıklayın, şimdi yalnızca arama değeri ve onun karşılık gelen değerlerinin filtrelendiğini göreceksiniz.
Tanımlı Fonksiyon ile birden fazla karşılık gelen değeri döndürme
Eğer Tanımlı Fonksiyon ilginizi çekiyorsa, bu sorunu Tanımlı Fonksiyon ile de çözebilirsiniz.
1. Alt + F11 tuşlarına basarak Microsoft Visual Basic For Applications penceresini açın.
2. Modül > Ekle'ye tıklayarak bir Modül penceresi açın ve aşağıdaki VBA'yı pencereye kopyalayın.
VBA: Bir değeri arayarak birden fazla karşılık gelen değeri döndürme.
Function MyVlookup(pWorkRng As Range, pRng As Range, pColumnIndex As Integer, Optional pType As String = "v")
'Updateby20140827
Dim xRow As Single
Dim xCol As Single
Dim arr() As Variant
ReDim arr(0)
For i = 1 To pRng.Rows.Count
If pWorkRng = pRng.Cells(i, 1) Then
arr(UBound(arr)) = pRng.Cells(i, pColumnIndex)
ReDim Preserve arr(UBound(arr) + 1)
End If
Next
If pType = "h" Then
xCol = Range(Application.Caller.Address).Columns.Count
For i = UBound(arr) To xCol
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = arr
Else
xRow = Range(Application.Caller.Address).Rows.Count
For i = UBound(arr) To xRow
arr(UBound(arr)) = ""
ReDim Preserve arr(UBound(arr) + 1)
Next
ReDim Preserve arr(UBound(arr) - 1)
MyVlookup = Application.WorksheetFunction.Transpose(arr)
End If
End Function
3. Pencereyi kapatın ve bir hücreye şu formülü yazın =MyVlookup(A10,$A$2:$B$7,2) ( A10 arama değerini, $A$2:$B$7 veri aralığını, 2 sütun indeks numarasını ifade eder). Ve Shift + Ctrl + Enter tuşlarına basın. Ardından dolgu tutamacını hücreler boyunca aşağı çekin, imleci Formül Çubuğu(F)'na yerleştirin ve tekrar Shift + Ctrl + Enter tuşlarına basın.
İpucu: Eğer yatay hücrelerde değerleri döndürmek istiyorsanız, şu formülü yazabilirsiniz =MyVlookup(A10, $A$2:$B$7, 2, "h").
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!