Excel에서 3개의 열에서 공통된 값을 찾는 방법은 무엇입니까?
Excel에서 데이터 작업을 할 때 종종 목록을 비교하여 공유되거나 중복된 항목을 식별해야 합니다. 두 열을 비교하여 공통값을 찾는 것은 자주 수행되는 작업이지만, 세 개의 별도 열에 동시에 나타나는 값을 확인해야 하는 경우도 있습니다. 예를 들어 설문조사 데이터를 통합하거나, 매출 기록을 병합하거나, 여러 목록에서 중복 항목을 분석할 때 모든 세 열에 있는 항목 세트를 정확하게 추출하는 것이 중요합니다. 아래 스크린샷에서 보여주는 것처럼 말입니다. 이 문서에서는 Excel에서 이러한 문제를 해결하기 위한 몇 가지 실용적인 방법을 소개하며, 함수 또는 VBA를 선호하든지 상관없이 세 열 간의 공통값을 효율적이고 신뢰할 수 있게 찾아낼 수 있습니다.
배열 수식을 사용하여 3개 열에서 공통된 값 찾기
세 열 간의 공통값을 찾고 추출하려면 선택된 범위에 모두 표시되는 항목을 검색하도록 설계된 배열 수식을 사용할 수 있습니다. 추가적인 Excel 애드인이나 외부 도구에 의존하지 않고 데이터 세트에서 특정 값을 빠르게 확인하는데 특히 유용합니다.
첫 번째 공통값을 표시하려는 빈 셀에 다음 배열 수식을 입력하세요:
=LOOKUP("zzz",CHOOSE({1,2},"",INDEX(A$2:A$10,MATCH(0,COUNTIF(E$1:E1,A$2:A$10)+IF(IF(COUNTIF(B$2:B$8,A$2:A$10)>0,1,0)+IF(COUNTIF(C$2:C$9,A$2:A$10)>0,1,0)=2,0,1),0))))
이 배열 수식을 사용하는 방법:
- 선택한 셀에 수식을 입력한 후 Shift + Ctrl + Enter(Enter만 누르지 마세요)를 누릅니다. Excel은 배열 수식임을 나타내기 위해 수식을 중괄호로 묶습니다.
- 공백 셀이 나타날 때까지 열 아래로 수식을 드래그합니다. 그러면 세 열에서 공유되는 모든 값이 나열되고, 공백 셀은 더 이상 일치하는 값이 없음을 나타냅니다.
메모 및 매개변수 설명:
- 다른 배열 수식을 선호한다면, 이 수식 또한 세 열에 있는 모든 고유한 값을 반환합니다:
다시 한 번, 수식을 입력하거나 붙여넣은 후에 Shift + Ctrl + Enter 누르는 것을 기억하세요.=INDEX($A$2:$A$10, MATCH(0, COUNTIF($E$1:E1, $A$2:$A$10)+IF(IF(COUNTIF($B$2:$B$8, $A$2:$A$10)>0,1,0)+IF(COUNTIF($C$2:$C$9, $A$2:$A$10)>0,1,0)=2,0,1),0))
- 이러한 수식에서:
- A2:A10, B2:B8, C2:C9는 비교하려는 세 열 각각의 데이터 범위입니다.
- E1은 수식이 시작되는 위치 바로 위의 셀을 참조합니다(제외 논리를 위해). 실제 데이터 범위와 결과가 나타날 위치에 맞게 셀 참조를 조정하세요.
- 이러한 방법은 적당한 크기의 데이터 세트에는 잘 작동하지만, 배열 수식의 계산 요구 사항 때문에 매우 큰 데이터 세트에서는 느려질 수 있습니다.
- 중간에 원본 범위를 조정하지 않도록 주의하세요. 그렇게 하면 부정확한 결과나 수식 오류가 발생할 수 있습니다.
- 결과에 빈 행이 포함되어 있으면, 모든 공통값이 추출되었으며 나머지 셀에는 더 이상 교차점이 없다는 의미입니다.

Kutools AI로 엑셀의 마법을 풀다
- 스마트 실행: 셀 작업 수행, 데이터 분석 및 차트 생성 - 간단한 명령어로 모든 것을 처리합니다.
- 사용자 정의 수식: 작업을 간소화하기 위한 맞춤형 수식을 생성합니다.
- VBA 코딩: 손쉽게 VBA 코드를 작성하고 실행합니다.
- 수식 해석: 복잡한 수식도 쉽게 이해할 수 있습니다.
- 텍스트 번역: 스프레드시트 내 언어 장벽을 허물어 보세요.
세 열 모두에 있는 값을 추출하는 VBA 매크로
복잡한 수식을 입력하거나 복사하고 싶지 않은 경우, Excel VBA를 사용하여 데이터를 순환 처리하고 세 열 각각에 있는 값만 출력하도록 할 수 있습니다. 이 방법은 매우 큰 데이터 세트를 다루거나 동적 범위로 작업할 때 특히 유용합니다. VBA는 반복 작업과 사용자 정의 기준을 처리하는 데 더 효율적이기 때문입니다.
1. 개발 도구 > Visual Basic을 클릭하여 VBA 편집기를 엽니다(개발 도구 탭이 보이지 않는 경우 파일 > 옵션 > 리본 사용자 정의를 통해 활성화할 수 있습니다).
2. VBA 편집기에서 삽입 > 모듈을 클릭하여 새 모듈을 생성합니다. 그런 다음 아래 코드를 모듈 창에 붙여넣으세요.
Sub FindCommonValuesThreeColumns()
Dim dict1 As Object
Dim dict2 As Object
Dim dict3 As Object
Dim resultDict As Object
Dim rngA As Range
Dim rngB As Range
Dim rngC As Range
Dim cell As Range
Dim outputRow As Long
Dim key As Variant
On Error Resume Next
Set dict1 = CreateObject("Scripting.Dictionary")
Set dict2 = CreateObject("Scripting.Dictionary")
Set dict3 = CreateObject("Scripting.Dictionary")
Set resultDict = CreateObject("Scripting.Dictionary")
' Prompt the user to select the three column ranges
Set rngA = Application.InputBox("Select the first column range", "KutoolsforExcel", Selection.Address, Type:=8)
Set rngB = Application.InputBox("Select the second column range", "KutoolsforExcel", Selection.Address, Type:=8)
Set rngC = Application.InputBox("Select the third column range", "KutoolsforExcel", Selection.Address, Type:=8)
' Store all unique values from each column into corresponding dictionaries
For Each cell In rngA
If Not dict1.exists(cell.Value) And cell.Value <> "" Then
dict1.Add cell.Value, 1
End If
Next
For Each cell In rngB
If Not dict2.exists(cell.Value) And cell.Value <> "" Then
dict2.Add cell.Value, 1
End If
Next
For Each cell In rngC
If Not dict3.exists(cell.Value) And cell.Value <> "" Then
dict3.Add cell.Value, 1
End If
Next
' Check which values exist in all three dictionaries
For Each key In dict1.keys
If dict2.exists(key) And dict3.exists(key) Then
resultDict.Add key, 1
End If
Next
' Output result to next empty column on the active sheet
outputRow = 1
For Each key In resultDict.keys
Cells(outputRow, Columns.Count).End(xlToLeft).Offset(0, 1).Value = key
outputRow = outputRow + 1
Next
MsgBox "Common values extracted next to your data.", vbInformation, "KutoolsforExcel"
End Sub
3. 모듈이 선택된 상태에서 VBA 창에서 F5를 누르거나 실행(▶) 버튼을 클릭하여 코드를 실행합니다. 비교하려는 세 열 범위를 차례로 선택하라는 메시지가 표시됩니다. 각 프롬프트가 뜰 때마다 적절한 셀을 마우스로 강조 표시하세요.
4. 매크로는 선택 내용을 처리하고 현재 데이터 세트의 오른쪽에 있는 다음 빈 열에 세 열 모두에 있는 모든 값을 첫 번째 행부터 출력합니다.
이 방법은 대규모 또는 동적 데이터 세트로 작업할 때 효율적이며, 사전 논리를 복제하여 네 개 이상의 열로 쉽게 확장할 수 있습니다. 항상 매크로를 실행하기 전에 작업 내용을 저장하세요. 변경사항이 저장되지 않았다면 되돌릴 수 없습니다.
최고의 오피스 생산성 도구
🤖 | Kutools AI 도우미: 데이터 분석에 혁신을 가져옵니다. 방법: 지능형 실행 | 코드 생성 | 사용자 정의 수식 생성 | 데이터 분석 및 차트 생성 | Kutools Functions 호출… |
인기 기능: 중복 찾기, 강조 또는 중복 표시 | 빈 행 삭제 | 데이터 손실 없이 열 또는 셀 병합 | 반올림(수식 없이) ... | |
슈퍼 LOOKUP: 다중 조건 VLOOKUP | 다중 값 VLOOKUP | 다중 시트 조회 | 퍼지 매치 .... | |
고급 드롭다운 목록: 드롭다운 목록 빠르게 생성 | 종속 드롭다운 목록 | 다중 선택 드롭다운 목록 .... | |
열 관리자: 지정한 수의 열 추가 | 열 이동 | 숨겨진 열의 표시 상태 전환 | 범위 및 열 비교 ... | |
추천 기능: 그리드 포커스 | 디자인 보기 | 향상된 수식 표시줄 | 통합 문서 & 시트 관리자 | 자동 텍스트 라이브러리 | 날짜 선택기 | 데이터 병합 | 셀 암호화/해독 | 목록으로 이메일 보내기 | 슈퍼 필터 | 특수 필터(굵게/이탤릭/취소선 필터 등) ... | |
15대 주요 도구 세트: 12 가지 텍스트 도구(텍스트 추가, 특정 문자 삭제, ...) | 50+ 종류의 차트(간트 차트, ...) | 40+ 실용적 수식(생일을 기반으로 나이 계산, ...) | 19 가지 삽입 도구(QR 코드 삽입, 경로에서 그림 삽입, ...) | 12 가지 변환 도구(단어로 변환하기, 통화 변환, ...) | 7 가지 병합 & 분할 도구(고급 행 병합, 셀 분할, ...) | ... 등 다양 |
Kutools for Excel과 함께 엑셀 능력을 한 단계 끌어 올리고, 이전에 없던 효율성을 경험하세요. Kutools for Excel은300개 이상의 고급 기능으로 생산성을 높이고 저장 시간을 단축합니다. 가장 필요한 기능을 바로 확인하려면 여기를 클릭하세요...
Office Tab은 Office에 탭 인터페이스를 제공하여 작업을 더욱 간편하게 만듭니다
- Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화합니다.
- 새 창 대신 같은 창의 새로운 탭에서 여러 파일을 열고 생성할 수 있습니다.
- 생산성이50% 증가하며, 매일 수백 번의 마우스 클릭을 줄여줍니다!
모든 Kutools 추가 기능. 한 번에 설치
Kutools for Office 제품군은 Excel, Word, Outlook, PowerPoint용 추가 기능과 Office Tab Pro를 한 번에 제공하여 Office 앱을 활용하는 팀에 최적입니다.





- 올인원 제품군 — Excel, Word, Outlook, PowerPoint 추가 기능 + Office Tab Pro
- 설치 한 번, 라이선스 한 번 — 몇 분 만에 손쉽게 설정(MSI 지원)
- 함께 사용할 때 더욱 효율적 — Office 앱 간 생산성 향상
- 30일 모든 기능 사용 가능 — 회원가입/카드 불필요
- 최고의 가성비 — 개별 추가 기능 구매 대비 절약