Ana içeriğe atla

Excel'de bir hücrede birden çok değer döndürmek için vlookup nasıl yapılır?

Normalde Excel'de, DÜŞEYARA işlevini kullandığınızda, ölçütlerle eşleşen birden çok değer varsa, yalnızca ilkini alabilirsiniz. Ancak bazen, aşağıdaki ekran görüntüsü gibi kriterleri karşılayan tüm karşılık gelen değerleri tek bir hücreye döndürmek istersiniz, bunu nasıl çözebilirsiniz?

Vlookup, METİNBİRLEŞTİR işleviyle birden çok değeri tek bir hücreye döndürmek için (Excel 2019 ve Office 365)

Vlookup, Kullanıcı Tanımlı İşlevle birden çok değeri tek bir hücreye döndürmek için

Vlookup kullanışlı bir özellikle birden fazla değeri tek bir hücreye döndürmek için


Vlookup, METİNBİRLEŞTİR işleviyle birden çok değeri tek bir hücreye döndürmek için (Excel 2019 ve Office 365)

Excel 2019 ve Office 365 gibi Excel'in daha yüksek sürümüne sahipseniz, yeni bir işlev vardır - METİN BİRLEŞTİRME, bu güçlü işlevle, hızlı bir şekilde bakabilir ve eşleşen tüm değerleri tek bir hücreye döndürebilirsiniz.

Tüm eşleşen değerleri tek bir hücreye döndürmek için Vlookup

Lütfen aşağıdaki formülü sonucu koymak istediğiniz boş bir hücreye uygulayın, ardından tuşuna basın Ctrl + Üst Karakter + Enter ilk sonucu elde etmek için anahtarları bir araya getirin ve ardından doldurma tutamacını bu formülü kullanmak istediğiniz hücreye sürükleyin ve aşağıdaki ekran görüntüsü gibi karşılık gelen tüm değerleri alacaksınız:

=TEXTJOIN(",",TRUE,IF($A$2:$A$11=E2,$C$2:$C$11,""))

Not: Yukarıdaki formülde, A2: A11 arama aralığı arama verilerini içeriyor mu, E2 arama değeridir, C2: C11 eşleşen değerleri döndürmek istediğiniz veri aralığıdır ",", birden çok kaydı ayırmak için ayırıcıdır.

Vlookup, tüm eşleşen değerleri yinelenmeden tek bir hücreye döndürmek için

Arama verilerine dayalı olarak eşleşen tüm değerleri yineleme olmadan döndürmek istiyorsanız, aşağıdaki formül size yardımcı olabilir.

Lütfen aşağıdaki formülü kopyalayıp boş bir hücreye yapıştırın, ardından Ctrl + Üst Karakter + Enter ilk sonucu elde etmek için anahtarları bir araya getirin ve ardından bu formülü diğer hücreleri doldurmak için kopyalayın ve aşağıda gösterilen ekran görüntüsü gibi, karşılık gelen değerleri olmadan karşılık gelen tüm değerleri alacaksınız:

=TEXTJOIN(",", TRUE, IF(IFERROR(MATCH($C$2:$C$11, IF(E2=$A$2:$A$11, $C$2:$C$11, ""), 0),"")=MATCH(ROW($C$2:$C$11), ROW($C$2:$C$11)), $C$2:$C$11, ""))

Not: Yukarıdaki formülde, A2: A11 arama aralığı arama verilerini içeriyor mu, E2 arama değeridir, C2: C11 eşleşen değerleri döndürmek istediğiniz veri aralığıdır ",", birden çok kaydı ayırmak için ayırıcıdır.

Vlookup, Kullanıcı Tanımlı İşlevle birden çok değeri tek bir hücreye döndürmek için

Yukarıdaki METİN BİRLEŞTİRME işlevi yalnızca Excel 2019 ve Office 365 için kullanılabilir; daha düşük Excel sürümlerine sahipseniz, bu görevi tamamlamak için bazı kodlar kullanmanız gerekir.

Tüm eşleşen değerleri tek bir hücreye döndürmek için Vlookup

1. Basılı tutun ALT + F11 anahtarlar ve açılır Uygulamalar için Microsoft Visual Basic pencere.

2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresi.

VBA kodu: Bir hücreye birden çok değer döndürmek için Vlookup

Function ConcatenateIf(CriteriaRange As Range, Condition As Variant, ConcatenateRange As Range, Optional Separator As String = ",") As Variant
'Updateby Extendoffice
Dim xResult As String
On Error Resume Next
If CriteriaRange.Count <> ConcatenateRange.Count Then
    ConcatenateIf = CVErr(xlErrRef)
    Exit Function
End If
For i = 1 To CriteriaRange.Count
    If CriteriaRange.Cells(i).Value = Condition Then
        xResult = xResult & Separator & ConcatenateRange.Cells(i).Value
    End If
Next i
If xResult <> "" Then
    xResult = VBA.Mid(xResult, VBA.Len(Separator) + 1)
End If
ConcatenateIf = xResult
Exit Function
End Function

3. Ardından bu kodu kaydedip kapatın, çalışma sayfasına geri dönün ve şu formülü girin: =CONCATENATEIF($A$2:$A$11, E2, $C$2:$C$11, ", ") Sonucu yerleştirmek istediğiniz belirli bir boş hücreye yerleştirin, ardından istediğiniz tüm ilgili değerleri tek bir hücrede almak için dolgu tutamacını aşağı sürükleyin, ekran görüntüsüne bakın:

Not: Yukarıdaki formülde, A2: A11 arama aralığı arama verilerini içeriyor mu, E2 arama değeridir, C2: C11 eşleşen değerleri döndürmek istediğiniz veri aralığıdır ",", birden çok kaydı ayırmak için ayırıcıdır.

Vlookup, tüm eşleşen değerleri yinelenmeden tek bir hücreye döndürmek için

Döndürülen eşleşen değerlerde kopyaları yok saymak için lütfen aşağıdaki kodu uygulayın.

1. Basılı tutun Alt + F11 tuşlarını açmak için Uygulamalar için Microsoft Visual Basic pencere.

2. tıklayın Ekle > modülve aşağıdaki kodu Modül Penceresi.

VBA kodu: Vlookup ve tek bir hücreye birden fazla benzersiz eşleşen değer döndürür

Function MultipleLookupNoRept(Lookupvalue As String, LookupRange As Range, ColumnNumber As Integer)
'Updateby Extendoffice
    Dim xDic As New Dictionary
    Dim xRows As Long
    Dim xStr As String
    Dim i As Long
    On Error Resume Next
    xRows = LookupRange.Rows.Count
    For i = 1 To xRows
        If LookupRange.Columns(1).Cells(i).Value = Lookupvalue Then
            xDic.Add LookupRange.Columns(ColumnNumber).Cells(i).Value, ""
        End If
    Next
    xStr = ""
    MultipleLookupNoRept = xStr
    If xDic.Count > 0 Then
        For i = 0 To xDic.Count - 1
            xStr = xStr & xDic.Keys(i) & ","
        Next
        MultipleLookupNoRept = Left(xStr, Len(xStr) - 1)
    End If
End Function

3. Kodu ekledikten sonra, ardından Tools > Referanslar açıldığında Uygulamalar için Microsoft Visual Basic pencerede ve ardından dışarıda Referanslar - VBAProject iletişim kutusu, işaretleyin Microsoft Komut Dosyası Çalışma Zamanı seçeneği Mevcut Referanslar liste kutusu, ekran görüntülerine bakın:

4. Sonra tıklayın OK iletişim kutusunu kapatmak, kod penceresini kaydedip kapatmak, çalışma sayfasına geri dönün ve şu formülü girin: =MultipleLookupNoRept(E2,$A$2:$C$11,3) into a blank cell where you want to output the result, and then drag the fill hanlde down to get all matching values, see screenshot:

Not: Yukarıdaki formülde, A2: C11 kullanmak istediğiniz veri aralığı, E2 arama değeri, sayı 3 döndürülen değerleri içeren sütun numarasıdır.

Vlookup kullanışlı bir özellikle birden fazla değeri tek bir hücreye döndürmek için

 Eğer varsa Kutools for Excel, Onun ile Gelişmiş Kombine Satırları özelliği, satırları aynı değere göre hızlı bir şekilde birleştirebilir veya birleştirebilir ve ihtiyaç duyduğunuzda bazı hesaplamalar yapabilirsiniz.

Not:Bunu uygulamak için Gelişmiş Kombine Satırlarıöncelikle Kutools for Excelve ardından özelliği hızlı ve kolay bir şekilde uygulayın.

Kurduktan sonra Kutools for Excellütfen aşağıdaki işlemleri yapın:

1. Bir sütun verilerini başka bir sütuna göre birleştirmek istediğiniz veri aralığını seçin.

2. tıklayın Kutools > Birleştir ve Böl > Gelişmiş Kombine Satırları, ekran görüntüsüne bakın:

3. Dışarı fırladı Gelişmiş Kombine Satırları iletişim kutusu:

  • Temel olarak birleştirilecek anahtar sütun adını tıklayın ve ardından Birincil anahtar
  • Ardından, verilerini anahtar sütununa göre birleştirmek istediğiniz başka bir sütunu tıklayın ve Birleştirmek Birleştirilmiş verileri ayırmak için bir ayırıcı seçmek için.

4. Sonra tıklayın OK düğmesi ve aşağıdaki sonuçları alacaksınız:

Kutools for Excel'i şimdi indirin ve ücretsiz deneyin!


Daha ilgili makaleler:

  • Bazı Temel ve Gelişmiş Örneklerle DÜŞEYARA İşlevi
  • Excel'de DÜŞEYARA işlevi, Excel kullanıcılarının çoğu için güçlü bir işlevdir ve veri aralığının en solunda bir değer aramak ve belirttiğiniz bir sütundan aynı satırda eşleşen bir değer döndürmek için kullanılır. Bu eğitim, Excel'deki bazı temel ve gelişmiş örneklerle DÜŞEYARA işlevinin nasıl kullanılacağından bahsediyor.
  • Bir veya birden çok ölçüte göre birden çok eşleşen değer döndür
  • Normalde, belirli bir değeri aramak ve eşleşen öğeyi döndürmek, DÜŞEYARA işlevini kullanarak çoğumuz için kolaydır. Ancak, bir veya daha fazla kritere göre birden çok eşleşen değer döndürmeyi hiç denediniz mi? Bu yazıda, bu karmaşık görevi Excel'de çözmek için bazı formüller tanıtacağım.
  • Vlookup Ve Dikey Olarak Birden Çok Değer Döndür
  • Normalde, ilk karşılık gelen değeri almak için Vlookup işlevini kullanabilirsiniz, ancak bazen, eşleşen tüm kayıtları belirli bir kritere göre döndürmek istersiniz. Bu yazıda, tüm eşleşen değerlerin dikey, yatay veya tek bir hücreye nasıl bakılacağı ve döndürüleceği hakkında konuşacağım.
  • Vlookup ve Açılır Listeden Birden Çok Değer Döndür
  • Excel'de, bir açılır listeden birden çok karşılık gelen değeri nasıl görüntüleyebilir ve döndürebilirsiniz; bu, açılır listeden bir öğe seçtiğinizde, tüm göreli değerlerinin aynı anda görüntülendiği anlamına gelir. Bu yazıda çözümü adım adım tanıtacağım.

En İyi Ofis Üretkenlik Araçları

🤖 Kutools AI Yardımcısı: Aşağıdakilere dayalı olarak veri analizinde devrim yaratın: Akıllı Yürütme   |  Kodunu oluşturun  |  Özel Formüller Oluşturun  |  Verileri Analiz Edin ve Grafikler Oluşturun  |  Kutools İşlevlerini Çağır...
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya Tanımla   |  Boş Satırları Sil   |  Veri Kaybı Olmadan Sütunları veya Hücreleri Birleştirin   |   Formülsüz Tur ...
Süper Arama: Çoklu Ölçütlü VLookup    Çoklu Değer VLookup  |   Birden Çok Sayfada VLookup   |   Bulanık Arama ....
Gelişmiş Açılır Liste: Hızla Açılır Liste Oluşturun   |  Bağımlı Açılır Liste   |  Çoklu Seçim Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekleme  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştırın ...
Öne Çıkan Özellikler: Izgara Odağı   |  Tasarım görünümü   |   Büyük Formül Çubuğu    Çalışma Kitabı ve Sayfa Yöneticisi   |  Kaynak Kütüphanesi (Otomatik metin)   |  Tarih Seçici   |  Çalışma Sayfalarını Birleştirin   |  Hücreleri Şifrele/Şifresini Çöz    E-postaları Listeye Göre Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtre...) ...
En İyi 15 Araç Seti12 Metin Tools (Metin ekle, Karakterleri Kaldır, ...)   |   50+ Grafik Türleri (Gantt şeması, ...)   |   40+ Pratik Formüller (Yaşı doğum gününe göre hesapla, ...)   |   19 sokma Tools (QR Kodunu Girin, Yoldan Resim Ekle, ...)   |   12 Dönüştürme Tools (Sayılardan Kelimelere, Para Birimi Dönüştürme, ...)   |   7 Birleştir ve Böl Tools (Gelişmiş Kombine Satırları, Bölünmüş hücreler, ...)   |   ... ve dahası

Kutools for Excel ile Excel Becerilerinizi Güçlendirin ve Daha Önce Hiç Olmadığı Gibi Verimliliği Deneyimleyin. Kutools for Excel, Üretkenliği Artırmak ve Zamandan Tasarruf Etmek için 300'den Fazla Gelişmiş Özellik Sunar.  En Çok İhtiyacınız Olan Özelliği Almak İçin Buraya Tıklayın...

Açıklama


Office Tab, Office'e Sekmeli Arayüz Getirir ve İşinizi Çok Daha Kolay Hale Getirir

  • Word, Excel, PowerPoint'te sekmeli düzenlemeyi ve okumayı etkinleştirin, Publisher, Access, Visio ve Project.
  • Yeni pencereler yerine aynı pencerenin yeni sekmelerinde birden çok belge açın ve oluşturun.
  • Üretkenliğinizi% 50 artırır ve her gün sizin için yüzlerce fare tıklamasını azaltır!
Comments (43)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have created a problem.
"I" have combined a "Textjoin" end "Vlookup" to return multiple values in to one single cell.
My problem is that the formula have to have an exact value to look for and I want it to lookup an "almost" match or Partial match.

Example: I have made a schedule how we ate going to work and a D1 is working from 07:30-16:00. And to lookup D1 is not the problem, the problem is that my boss sometimes puts other stuff togeather with the D1... Like "D1 +" or "D1 meeting".
Since my formula only lookup "D1" it misses for example the "D1 +".

My formula (that I have gotten from the web) =TEXTJOIN(" och ";SANT;OM($B$3:$B$15=$C$22:$F$22;$A$3:$A$15;""))It´s in swedish so "SANT" is "TRUE" and "OM" is "IF".

How can I make the formula lookup all the cells that have some form of "D1" in it and return all those to the same cell?
No matter if it says "D1 +" or "D1 meeting" or whatever.
The reson I want this, is because the boss always leave "D1" but can add other text behind the "D1"... and just because of that, my boss messes up my formula.
This comment was minimized by the moderator on the site
Hi!
This is a great VBA-Code which could help me a lot.But when I start the Function MultipleLookupNoRept Excel crashs...I´ve got a Dataset with about 6.000 Rows (Excel 2013).... is this too much for the VBA Function?

Thanks!
This comment was minimized by the moderator on the site
Hello Mr.XXL,Sorry to hear that. The row limit for Excel 2013 is 1048576. Therefore, maybe the VBA code is the reason for the crash.
Anyway, I would love to offer you another VBA code for Vlookup To Return All Matching Values Without Duplicates Into One Cell. Please use the VBA code below:
Option Explicit

Function Lookup_concat(Search_string As String, _
Search_in_col As Range, Return_val_col As Range)

Dim i As Long
Dim temp() As Variant
Dim result As String
ReDim temp(0)

For i = 1 To Search_in_col.Count
If Search_in_col.Cells(i, 1) = Search_string Then
temp(UBound(temp)) = Return_val_col.Cells(i, 1).Value
ReDim Preserve temp(UBound(temp) + 1)
End If
Next

If temp(0) <> "" Then
ReDim Preserve temp(UBound(temp) - 1)
Unique temp
For i = LBound(temp) To UBound(temp)
result = result & " " & temp(i)
Next i
Lookup_concat = Trim(result)
Else
Lookup_concat = ""
End If

End Function

Function Unique(tempArray As Variant)

Dim coll As New Collection
Dim Value As Variant

On Error Resume Next
For Each Value In tempArray
If Len(Value) > 0 Then coll.Add Value, CStr(Value)
Next Value
On Error GoTo 0

ReDim tempArray(0)

For Each Value In coll
tempArray(UBound(tempArray)) = Value
ReDim Preserve tempArray(UBound(tempArray) + 1)
Next Value

End Function

After you insert this VBA code in the Module, please type the formula =Lookup_concat(E2,$A$2:$A$14,$C$2:$C$14) into a blank cell where you want to output the result, and then drag the fill hanlde down to get all matching values. Please see the file I uploaded in this comment. Hope it solves your problem. 
Sincerely,Mandy

This comment was minimized by the moderator on the site
Hi, Thanks so much this worked!I used it to pull dates, that populated in the serial number format (<span style="letter-spacing: 0.2px; color: inherit; font-family: inherit; font-style: inherit; font-variant-ligatures: inherit; font-variant-caps: inherit; font-weight: inherit;">Changing the format to short date format using =TEXT(A2,”mm/dd/yy”) OR =DATEVALUE(A2) are not working. Do you have any solutions?</span>
This comment was minimized by the moderator on the site
Thank you for the explanations, however the function 'MultipleLookupNoRept' does not work on my file, could you tell me if an error exists.
This comment was minimized by the moderator on the site
Hi, Hasnae,Please check if you miss the third step -  check Microsoft Scripting Runtime option in the Available References list box.

This comment was minimized by the moderator on the site
Thank you so much for the code. Is there a way I can use the code to look up multiple values from multiple sheets? I tried to combine your function with IFERROR function but it doesn't seem to work.
This comment was minimized by the moderator on the site
Can this be modified to place the sum of those values? Instead of (400 400 400 400 400 400), can it sum them to show (2400)?
This comment was minimized by the moderator on the site
How with HLookUp function?
This comment was minimized by the moderator on the site
thanks for the code. I have modified it to allow you to optionally specify your own separator, Default is " ", if you specify the separator as"#cr" it will insert a CR/LF so the values will be on a separate line in the cell. It only applies the separator if there are multiple values

Function MYVLOOKUP(pValue As String, pWorkRng As Range, pIndex As Long, Optional ByVal pSep As Variant)

' ### Returns multiple values from a table into 1 cell ###

' pValue is the key value to lookup

' WorkRng is the Table you want to look up

' pIndex is the column # for the values to be returned from the pWorkRng

' pSep (optional) is the separator to be used. if omitted then default is a space (it doesn't apply the separator for the 1st entry)

' if the separtor = "#cr" it will separate the values on different line in the cell

Dim rng As Range

Dim sSep As String

Dim xResult As String

Dim Item1 As Boolean

Item1 = True



If IsMissing(pSep) = True Then

sSep = vbCr

Else

If pSep = "#cr" Then

sSep = vbCrLf

Else

sSep = pSep

End If

End If



xResult = ""

For Each rng In pWorkRng

If rng = pValue Then

If Item1 Then

xResult = xResult & rng.Offset(0, pIndex - 1)

Item1 = False

Else

xResult = xResult & sSep & rng.Offset(0, pIndex - 1)

End If

End If

Next

MYVLOOKUP = xResult

End Function
This comment was minimized by the moderator on the site
Thank you for this, the line breaks are what i needed to top this formula off! Question, is there a way to modify the code so that two values are compared? For example, similar to what we see with index and match, can i look for Product and Quantity columns, and based on those parameters it outputs results from the Region Column?
This comment was minimized by the moderator on the site
Thanks a lot for this code, it is very helpful. Does anyone know away to sum the values in the cell to just have at total of them.
Cheers
This comment was minimized by the moderator on the site
Hello, James, to sum values based on the corresponding items, the following article may help you, please chek it:
https://www.extendoffice.com/documents/excel/1268-excel-combine-duplicate-rows-and-sum.html
This comment was minimized by the moderator on the site
I have a server, it has connected with multiple applications. I want to compare compare two column and get the related applications details for that server.

What is the command for that.
There are no comments posted here yet
Load More
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations