Skip to main content

Excel에서 여러 개의 해당 값을 vlookup하고 연결하는 방법은 무엇입니까?

Author: Xiaoyang Last Modified: 2025-08-06

Excel에서 VLOOKUP을 사용할 때, 이 함수는 일반적으로 주어진 조회 기준에 대해 처음 발견한 일치하는 값만 반환합니다. 그러나 특정 키와 관련된 모든 일치하는 값을 검색하고 결합해야 하는 경우가 많습니다. 예를 들어, 한 클래스의 모든 학생들을 나열하거나 특정 카테고리와 관련된 모든 제품을 표시하는 경우 등이 있습니다. 표준 VLOOKUP 함수는 이러한 점에서 제한적이기 때문에, 여러 개의 해당 결과를 하나의 셀에 연결하는 방법에 대해 궁금할 수 있습니다. 아래에서는 다양한 Excel 버전과 사용자 선호도에 적합한 몇 가지 실용적이고 효율적인 방법을 탐구하겠습니다.


TEXTJOIN 및 FILTER 함수로 여러 개의 해당 값을 vlookup하고 연결하기

Excel 365 또는 Excel 2021을 사용 중이라면, TEXTJOIN과 FILTER 함수의 조합은 모든 일치하는 값을 vlookup하고 연결하는 데 있어 효율적인 수식 기반 접근 방식을 제공합니다. 이 솔루션은 특히 동적이고 업데이트되는 데이터 세트에 적합하며, 소스 데이터가 변경되면 자동으로 결과를 새로 고칩니다. FILTER 함수를 지원하는 최신 Office 버전에서 가장 잘 적용됩니다.

대상 셀에 다음 수식을 입력한 후, 다른 행에도 적용하려면 수식을 아래로 드래그하세요. 모든 해당되는 일치하는 값들이 추출되어 하나의 셀에 결합됩니다. 스크린샷 참조:

=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$16, $A$2:$A$16=D2, ""))

vlookup and concatenate multiple values with TEXTJOIN and FILTER Functions

이 수식의 설명:
  1. FILTER($B$2:$B$16, $A$2:$A$16=D2, "")수식의 이 부분은 $A$2:$A$16의 각 값을 확인합니다. D2와 일치하면 $B$2:$B$16의 해당 값이 결과 배열에 포함됩니다.
    • $B$2:$B$16: 일치하는 값이 검색될 범위입니다.
    • $A$2:$A$16=D2: 값이 선택되는 조건 — $A$2:$A$16이 D2의 내용과 같은 경우만 처리됩니다.
  2. TEXTJOIN(", ", TRUE, ...)이 함수는 FILTER 함수의 출력(일치 항목의 배열)을 가져와 지정된 구분 기호(쉼표와 공백)로 하나의 문자열로 연결하며, 비어 있는 항목은 자동으로 무시합니다.
    • ", ": 쉼표와 공백을 구분 기호로 설정합니다. 필요에 따라 세미콜론이나 줄 바꿈 등 다른 기호로 변경할 수 있습니다.
    • TRUE: 연결 과정에서 빈 셀을 무시하여 깔끔하게 형식화된 출력을 얻습니다.

특별 참고: 이 방법은 Excel 365 또는 2021이 필요하며, 이전 버전(예: Excel 2019, 2016 또는 그 이전 버전)에서는 작동하지 않습니다. 적용 전 항상 Excel 버전을 확인하세요.

: 조회 값(예: D2)이 변경되거나 데이터 범위에 추가 일치 항목이 추가되면 결과는 추가 작업 없이 자동으로 업데이트됩니다.

잠재적인 제한 사항: 매우 큰 데이터 세트에서 수식 계산 시간이 증가할 수 있습니다. 또한 사용자는 조회 또는 결과 범위에 병합된 셀이 없는지 확인해야 합니다. 그렇지 않으면 수식 오류가 발생할 수 있습니다.


Kutools for Excel로 여러 개의 해당 값을 vlookup하고 연결하기

내장 수식 방법이 어렵거나 TEXTJOIN 및 FILTER와 같은 고급 기능을 지원하지 않는 Excel 버전을 사용 중이라면, Kutools for Excel은 사용자 친화적인 그래픽 솔루션을 제공합니다. Kutools의 일대다 조회 기능을 통해 몇 가지 단계로 여러 일치 결과를 조회하고 연결할 수 있어 초보자와 숙련자 모두에게 적합합니다. Kutools를 사용하면 복잡한 수식이나 코드를 작성할 필요가 없으며, 반복적인 조회와 집계가 필요한 대규모 또는 가변적 데이터 세트를 처리할 때 특히 유용합니다.

Kutools for Excel은 300개 이상의 고급 기능을 제공하여 복잡한 작업을 간소화하고 창의성과 효율성을 향상시킵니다. AI 기능과 통합되어 Kutools는 정확하게 작업을 자동화하며, 데이터 관리를 손쉽게 만듭니다. Kutools for Excel의 상세 정보...무료 체험하기...

Kutools for Excel 설치 후 다음 단계를 따르세요:

Kutools > 슈퍼 LOOKUP > 일대다 조회 (여러 결과 반환)를 클릭하여 설정 대화 상자를 엽니다. 이 대화 상자 내에서 다음과 같은 단계를 통해 조회 및 출력 설정을 빠르게 구성할 수 있습니다:

  1. 연결된 결과를 출력할 대상 셀과 검색하려는 값을 포함하는 셀을 선택합니다.
  2. 조회 키와 결과 열을 모두 포함하는 테이블 범위를 나타냅니다.
  3. 조회 키(Key Column)와 연결될 값(Return Column)이 포함된 열을 지정합니다.
  4. 설정을 확인하고 데이터를 처리하기 위해 확인 버튼을 클릭합니다.
     specify the options in the dialog box

결과: Kutools는 이제 선택한 출력 셀에 모든 일치하는 값과 연결된 값을 표시합니다. 스크린샷 참조:
concatenated based on the criteria by kutools

이 방법은 복잡한 수식이나 코드 없이 Excel 인터페이스에서 작업하는 것을 선호하는 사람들에게 강력히 추천됩니다. 또한 수식 오류 가능성을 줄이고 반복적인 조회 및 연결 작업의 생산성을 향상시킵니다.


사용자 정의 함수로 여러 개의 해당 값을 vlookup하고 연결하기

VBA(Visual Basic for Applications)에 능숙하거나 동적 배열 또는 FILTER 함수를 지원하지 않는 이전 Excel 버전을 사용하는 경우, 사용자 정의 함수(UDF)를 만들어 여러 결과를 유연하게 연결할 수 있습니다. 이 방법은 모든 Excel 버전과 호환되며 특정 구분 기호나 조건에 맞게 수정할 수 있습니다.

1. ALT + F11 키를 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

2. 삽입 > 모듈을 클릭하고 모듈 창에 다음 코드를 붙여넣습니다.

VBA 코드: 셀에서 여러 일치하는 값을 vlookup하고 연결하기

Function ConcatenateMatches(LookupValue As String, LookupRange As Range, ReturnRange As Range, Optional Delimiter As String = ", ") As String
'Updateby Extendoffice
    Dim Cell As Range
    Dim Result As String
    Result = ""
    For Each Cell In LookupRange
        If Cell.Value = LookupValue Then
            Result = Result & Cell.Offset(0, ReturnRange.Column - LookupRange.Column).Value & Delimiter
        End If
    Next Cell
    If Result <> "" Then
        Result = Left(Result, Len(Result) - Len(Delimiter))
    End If
    ConcatenateMatches = Result
End Function

3. VBA 편집기를 저장하고 닫습니다. 워크시트로 돌아가서 원하는 결과를 얻으려는 빈 셀에 =ConcatenateMatches(D2, $A$2:$A$16, $B$2:$B$16) 수식을 입력하여 UDF를 사용합니다. 필요한 경우 채우기 핸들을 아래로 드래그하여 수식을 다른 셀에 복사합니다. 특정 조회 값에 기반한 모든 해당 값이 쉼표와 공백으로 구분되어 하나의 셀에 반환되고 연결됩니다. 스크린샷 참조:

concatenated based on the criteria by vba

이 수식의 설명:
  • D2: 데이터 세트 내에서 일치하는 조회 값(LookupValue).
  • A2:A16: 함수가 조회 값을 검색하는 범위(LookupRange).
  • B2:B16: 조회 값이 일치할 때 연결할 값이 포함된 범위(ReturnRange).

VBA 코드로 여러 개의 해당 값을 vlookup하고 연결하기

반복적인 사용이 필요하거나 워크시트 셀에 사용자 정의 함수를 피하려는 경우, 준비된 VBA 매크로를 사용하여 결과를 직접 연결할 수 있습니다. 이 방법은 모든 사용자가 동일한 버전이나 추가 기능을 가지고 있지 않을 수 있는 공유 환경에서 잘 작동합니다.

1. 개발 도구 > Visual Basic을 클릭하여 VBA 편집기를 엽니다.

2. VBA 창에서 삽입 > 모듈을 클릭한 다음, 모듈에 이 코드를 붙여넣습니다.

Sub VLookupAndConcatenate()
    Dim ws As Worksheet
    Dim dataRange As Range, lookupRange As Range, resultRange As Range
    Dim dict As Object
    Dim i As Long, lastRow As Long
    Dim lookupValue As Variant, result As String
    Dim delimiter As String
    delimiter = ", "
    Set dict = CreateObject("Scripting.Dictionary")
    Set ws = ActiveSheet
    On Error Resume Next
    Set dataRange = Application.InputBox( _
        Prompt:="Please select the data range (contains lookup column and result column)", _
        Title:="Select Data Range", _
        Type:=8)
    On Error GoTo 0
    If dataRange Is Nothing Then Exit Sub
    On Error Resume Next
    Set lookupRange = Application.InputBox( _
        Prompt:="Please select the lookup range (single column)", _
        Title:="Select Lookup Range", _
        Type:=8)
    On Error GoTo 0
    If lookupRange Is Nothing Then Exit Sub
    On Error Resume Next
    Set resultRange = Application.InputBox( _
        Prompt:="Please select the starting cell for results output", _
        Title:="Select Output Location", _
        Type:=8)
    On Error GoTo 0
    If resultRange Is Nothing Then Exit Sub
    resultRange.Resize(lookupRange.Rows.Count, 1).ClearContents
    For i = 1 To dataRange.Rows.Count
        lookupValue = dataRange.Cells(i, 1).Value
        If Not dict.Exists(lookupValue) Then
            dict.Add lookupValue, dataRange.Cells(i, 2).Value
        Else
            dict(lookupValue) = dict(lookupValue) & delimiter & dataRange.Cells(i, 2).Value
        End If
    Next i
    For i = 1 To lookupRange.Rows.Count
        lookupValue = lookupRange.Cells(i, 1).Value
        If dict.Exists(lookupValue) Then
            resultRange.Cells(i, 1).Value = dict(lookupValue)
        Else
            resultRange.Cells(i, 1).Value = "Not Found"
        End If
    Next i
    MsgBox "Operation completed! Processed " & lookupRange.Rows.Count & " lookup values.", vbInformation
End Sub

3. Run button 버튼을 클릭하여 매크로를 실행합니다. 입력 상자는 데이터 범위, 조회 범위, 결과 범위를 선택하도록 요청합니다. 연결된 결과는 선택한 출력 셀에 직접 표시됩니다.

이 매크로 접근 방식은 특히 다양한 값으로 여러 연결 조회를 자주 수행하는 경우 유용합니다. 워크시트에 UDF 호출로 어지럽히지 않도록 하기 때문입니다.

필요한 경우 코드에서 구분 기호를 쉽게 조정할 수 있으며, 매크로를 확장하여 작업 흐름에 따라 결과를 셀이나 파일에 출력할 수 있습니다.

Excel에서 여러 개의 해당 값을 연결하는 것은 다양한 접근 방식을 사용하여 가능하며, 각각 상황에 따라 특정 이점을 제공합니다. 동적 배열 수식, Kutools for Excel과 같은 추가 기능 또는 VBA 기반 방법 중 어느 것을 선택하든, 데이터를 분석하고 그룹화된 데이터를 효율적으로 표시하는 능력을 향상시킬 것입니다. 데이터 세트의 크기와 복잡성에 따라 최적의 성능과 유지 관리 용이성을 제공하는 접근 방식을 고려하세요. 일상적인 작업에서 데이터 일관성을 확인하고, 병합된 셀을 피하며, 최상의 결과를 위해 참조 범위를 확인하세요. 수식 계산에서 오류가 발생하면 범위가 데이터와 일치하는지 확인하고 Excel 버전에 맞는 올바른 수식 입력 방법을 사용하고 있는지 다시 확인하세요.

더 많은 고급 Excel 기술과 광범위한 실용적인 가이드를 보려면 당사의 광범위한 튜토리얼 라이브러리를 방문하세요.

최고의 오피스 생산성 도구

🤖 Kutools AI Aide: 지능형 실행을 기반으로 데이터 분석 혁신 지능형 실행   |  코드 생성  |  사용자 정의 수식 생성  |  데이터 분석 및 차트 생성  |  Kutools Functions 호출
인기 기능: 중복 찾기, 강조 또는 중복 표시  |  빈 행 삭제  |  데이터 손실 없이 열 또는 셀 병합  |  반올림...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 드롭다운 목록 신속 생성  |  의존형 드롭다운 목록  |  다중 선택 드롭다운 목록....
열 매니저: 지정 개수 열 추가  |  열 이동  |  숨겨진 열 표시 상태 전환 |  범위 및 열 비교 ...
주요 기능: 그리드 포커스  |  디자인 보기  |  향상된 수식 표시줄   통합 문서 & 시트 관리   |  자동 텍스트 라이브러리   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독   목록별 이메일 보내기  |  슈퍼 필터  |  특수 필터 (굵게/이탤릭/취소선 필터...)...
Top15 도구 세트12개 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...)  |  50+ 차트 유형(간트 차트, ...)  |  40+ 실용 수식(생일을 기반으로 나이 계산, ...)  |  19개 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...)  |  12개 변환 도구(단어로 변환하기, 통화 변환, ...)  |  7개 병합 & 분할 도구(고급 행 병합, 셀 분할, ...)  |  ... 그리고 그 외
Kutools를 원하는 언어로 사용하세요 – 영어, 스페인어, 독일어, 프랑스어, 중국어 등40가지 이상의 언어를 지원합니다!

Kutools for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...


Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다

  • Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
  • 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
  • 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!