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

Excel에서 여러 개의 해당 값을 vlookup하고 연결하기
TEXTJOIN 및 FILTER 함수로 여러 개의 해당 값을 vlookup하고 연결하기
Excel 365 또는 Excel 2021을 사용 중이라면, TEXTJOIN과 FILTER 함수의 조합은 모든 일치하는 값을 vlookup하고 연결하는 데 있어 효율적인 수식 기반 접근 방식을 제공합니다. 이 솔루션은 특히 동적이고 업데이트되는 데이터 세트에 적합하며, 소스 데이터가 변경되면 자동으로 결과를 새로 고칩니다. FILTER 함수를 지원하는 최신 Office 버전에서 가장 잘 적용됩니다.
대상 셀에 다음 수식을 입력한 후, 다른 행에도 적용하려면 수식을 아래로 드래그하세요. 모든 해당되는 일치하는 값들이 추출되어 하나의 셀에 결합됩니다. 스크린샷 참조:
=TEXTJOIN(", ", TRUE, FILTER($B$2:$B$16, $A$2:$A$16=D2, ""))
- 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의 내용과 같은 경우만 처리됩니다.
- 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 설치 후 다음 단계를 따르세요:
Kutools > 슈퍼 LOOKUP > 일대다 조회 (여러 결과 반환)를 클릭하여 설정 대화 상자를 엽니다. 이 대화 상자 내에서 다음과 같은 단계를 통해 조회 및 출력 설정을 빠르게 구성할 수 있습니다:
- 연결된 결과를 출력할 대상 셀과 검색하려는 값을 포함하는 셀을 선택합니다.
- 조회 키와 결과 열을 모두 포함하는 테이블 범위를 나타냅니다.
- 조회 키(Key Column)와 연결될 값(Return Column)이 포함된 열을 지정합니다.
- 설정을 확인하고 데이터를 처리하기 위해 확인 버튼을 클릭합니다.
결과: 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를 사용합니다. 필요한 경우 채우기 핸들을 아래로 드래그하여 수식을 다른 셀에 복사합니다. 특정 조회 값에 기반한 모든 해당 값이 쉼표와 공백으로 구분되어 하나의 셀에 반환되고 연결됩니다. 스크린샷 참조:
- 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. 버튼을 클릭하여 매크로를 실행합니다. 입력 상자는 데이터 범위, 조회 범위, 결과 범위를 선택하도록 요청합니다. 연결된 결과는 선택한 출력 셀에 직접 표시됩니다.
이 매크로 접근 방식은 특히 다양한 값으로 여러 연결 조회를 자주 수행하는 경우 유용합니다. 워크시트에 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 for Excel로 Excel 실력을 한 단계 업그레이드하고, 그 어떤 때보다 뛰어난 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능을 제공하여 생산성을 높이고 저장 시간을 줄여줍니다. 가장 필요한 기능을 지금 바로 확인하세요...
Office Tab이 오피스에 탭 인터페이스를 제공하여 작업을 훨씬 쉽게 만듭니다
- Word, Excel, PowerPoint에서 탭 기반 편집과 읽기를 활성화합니다.
- 여러 문서를 새 창이 아닌 동일한 창의 새 탭에서 열고 생성하세요.
- 생산성이50% 향상되며, 매일 수백 번의 마우스 클릭을 줄일 수 있습니다!