Skip to main content

두 셀의 쉼표로 구분된 값을 비교하고 Excel에서 중복 또는 고유한 값을 반환하는 방법은 무엇입니까?

Author: Siluvia Last Modified: 2025-05-20

아래 스크린샷에 표시된 것처럼 열1과 열2라는 두 개의 열이 있으며, 각 열의 셀에는 쉼표로 구분된 숫자가 포함되어 있습니다. 열1의 쉼표로 구분된 숫자를 열2의 같은 행의 셀 내용과 비교하고 모든 중복 또는 고유한 값을 반환하려면 어떻게 해야 합니까?

이 튜토리얼에서는 이 작업을 수행하는 데 도움이 되는 두 가지 방법을 제공합니다.

compare comma separated values in two cells


수식을 사용하여 두 셀의 쉼표로 구분된 값을 비교하고 중복 또는 고유한 값을 반환

이 섹션에서는 두 셀의 쉼표로 구분된 값을 비교하고 그들 사이의 중복 또는 고유한 값을 반환하는 데 도움이 되는 두 가지 수식을 제공합니다.

참고: 다음 수식은 Excel for 365에서만 작동합니다. 다른 버전의 Excel을 사용 중인 경우 아래 VBA 방법을 시도하세요.

위의 두 열을 예로 들어, 열1의 쉼표로 구분된 숫자를 열2의 같은 행의 쉼표로 구분된 숫자와 비교하고 중복 또는 고유한 값을 반환하려면 다음과 같이 하세요.

sample data

중복 값 반환

1. 쉼표로 구분된 숫자가 있는 두 지정된 셀 간의 중복 번호를 출력할 셀을 선택합니다. 이 경우 D2 셀을 선택한 다음 아래 수식을 입력하고 Enter 키를 누릅니다. 수식 셀을 선택하고 자동 채우기 핸들을 아래로 드래그하여 다른 행의 셀 간의 중복 번호를 얻습니다.

=LET(x, TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),y,UNIQUE(x),z,UNIQUE(x,,1), TEXTJOIN(", ",TRUE,IF(ISERROR(MATCH(y,z,0)),y, "")))

 compare to return duplicate values

고유한 값 반환

같은 행에서 쉼표로 구분된 숫자가 있는 두 지정된 셀 간의 고유한 숫자를 반환하려면 다음 수식이 도움이 될 수 있습니다.

1. 고유한 숫자를 출력할 셀을 선택합니다. 이 경우 E2 셀을 선택한 다음 아래 수식을 입력하고 Enter 키를 누릅니다. 수식 셀을 선택하고 자동 채우기 핸들을 아래로 드래그하여 다른 행의 셀 간의 고유한 숫자를 얻습니다.

=TEXTJOIN(", ",TRUE,UNIQUE(TRANSPOSE(TEXTSPLIT(TEXTJOIN(", ",TRUE,A2:B2), ", ")),,1))

compare to return unique values

참고:

1) 위의 두 수식은 Excel for 365에서만 적용할 수 있습니다. Excel for 365 이외의 Excel 버전을 사용 중인 경우 다음 VBA 방법을 시도하세요.
2) 비교할 셀은 동일한 행이나 열에서 서로 인접해야 합니다.
a screenshot of kutools for excel ai

Kutools AI로 엑셀의 마법을 풀다

  • 스마트 실행: 셀 작업 수행, 데이터 분석 및 차트 생성 - 간단한 명령어로 모든 것을 처리합니다.
  • 사용자 정의 수식: 작업을 간소화하기 위한 맞춤형 수식을 생성합니다.
  • VBA 코딩: 손쉽게 VBA 코드를 작성하고 실행합니다.
  • 수식 해석: 복잡한 수식도 쉽게 이해할 수 있습니다.
  • 텍스트 번역: 스프레드시트 내 언어 장벽을 허물어 보세요.
AI 기반 도구로 엑셀 활용 능력을 강화하세요. 지금 다운로드하여 그 어느 때보다 높은 효율성을 경험해 보세요!

VBA를 사용하여 쉼표로 구분된 값이 있는 두 열을 비교하고 중복 또는 고유한 값을 반환

이 섹션에서 제공하는 사용자 정의 함수는 두 지정된 셀의 쉼표로 구분된 값을 비교하고 그들 사이의 중복 값 또는 고유한 값을 반환하는 데 도움이 됩니다. 다음과 같이 진행하세요.

위와 동일한 예제를 사용하여 열1의 쉼표로 구분된 숫자를 열2의 같은 행의 쉼표로 구분된 숫자와 비교하고 중복 또는 고유한 값을 반환하려면 이 섹션의 사용자 정의 함수를 시도하세요.

 sample data

1. 열려 있는 통합 문서에서 Alt + F11 키를 눌러 Microsoft Visual Basic for Applications 창을 엽니다.

2. Microsoft Visual Basic for Applications 창에서 삽입 > 모듈을 클릭하고 모듈 (코드) 창에 다음 VBA 코드를 복사합니다.

 copy anf paste the code into the module

VBA 코드: 두 셀의 쉼표로 구분된 값을 비교하고 중복/고유한 값을 반환

Private Function COMPARE(Rng1, Rng2 As Range, Op As Boolean)
'Updated by Extendoffice 20221019
    Dim R1Arr As Variant
    Dim R2Arr As Variant
    Dim Ans1 As String
    Dim Ans2 As String
    Dim Separator As String
    Dim d1 As New Dictionary
    Dim d2 As New Dictionary
    Dim d3 As New Dictionary
    Application.Volatile

    Separator = ", "
    
    R1Arr = Split(Rng1.Value, Separator)
    R2Arr = Split(Rng2.Value, Separator)
    
    Ans1 = ""
    Ans2 = ""
    
    For Each ch In R2Arr
        If Not d2.Exists(ch) Then
            d2.Add ch, "1"
        End If
    Next
    
    If Op Then
        For Each ch In R1Arr
            If d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans1 = Ans1 & ch & Separator
                End If
            End If
        Next
        If Ans1 <> "" Then
            Ans1 = Mid(Ans1, 1, Len(Ans1) - Len(Separator))
        End If
        COMPARE = Ans1
    Else
        For Each ch In R1Arr
            If Not d1.Exists(ch) Then
                d1.Add ch, "1"
            End If
        Next
        
        For Each ch In R1Arr
            If Not d2.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        For Each ch In R2Arr
            If Not d1.Exists(ch) Then
                If Not d3.Exists(ch) Then
                    d3.Add ch, "1"
                    Ans2 = Ans2 & ch & Separator
                End If
            End If
        Next
        If Ans2 <> "" Then
            Ans2 = Mid(Ans2, 1, Len(Ans2) - Len(Separator))
        End If
        COMPARE = Ans2
    End If

End Function

3. 모듈 (코드) 창에 코드를 붙여넣은 후 도구 > 참조를 클릭하여 References – VBAProject 창을 열고 Microsoft Scripting Runtime 상자를 체크한 다음 확인 버튼을 클릭합니다.

 click Tools > References and check Microsoft Scripting Runtime box

4. Alt + Q 키를 눌러 Microsoft Visual Basic for Applications 창을 닫습니다.

5. 이제 두 개의 쉼표로 구분된 값 셀로부터 중복 및 고유한 값을 반환하기 위해 두 개의 함수를 각각 적용해야 합니다.

중복 값 반환

중복 번호를 출력할 셀을 선택합니다. 이 예에서는 D2 셀을 선택한 다음 아래 수식을 입력하고 Enter 키를 눌러 A2 셀과 B2 셀 간의 중복 번호를 얻습니다.

수식 셀을 선택하고 자동 채우기 핸들을 아래로 드래그하여 다른 행의 셀 간의 중복 번호를 얻습니다.

=COMPARE(A2,B2,TRUE)

 use formula to return duplicate value

고유한 값 반환

고유한 숫자를 출력할 셀을 선택합니다. 이 예에서는 E2 셀을 선택한 다음 아래 수식을 입력하고 Enter 키를 눌러 A2 셀과 B2 셀 간의 고유한 숫자를 얻습니다.

수식 셀을 선택하고 자동 채우기 핸들을 아래로 드래그하여 다른 행의 셀 간의 고유한 숫자를 얻습니다.

=COMPARE(A2,B2,FALSE)

 use formula to return unique value

최고의 오피스 생산성 도구

? Kutools AI Aide: 지능형 실행, 코드 생성, 사용자 정의 수식 작성, 데이터 분석 및 차트 생성, Kutools 함수 호출을 기반으로 데이터 분석 혁신…
인기 기능: 중복 찾기, 강조 또는 식별   |  빈 행 삭제   |  데이터 손실 없이 열 또는 셀 결합   |   수식 없이 반올림 ...
슈퍼 LOOKUP: 다중 조건 VLookup    다중 값 VLookup  |   다중 시트 조회   |   퍼지 매치 ....
고급 드롭다운 목록: 빠르게 드롭다운 목록 만들기   |  종속 드롭다운 목록   |  다중 선택 드롭다운 목록 ....
열 관리자: 특정 개수의 열 추가  |  열 이동  |  숨겨진 열의 가시성 상태 전환  |  범위 및 열 비교 ...
주요 기능: 그리드 포커스   |  디자인 보기   |   향상된 수식 표시줄    통합 문서 및 시트 관리자   |  자동 텍스트 라이브러리 (Auto Text)   |  날짜 선택기   |  데이터 병합   |  셀 암호화/해독    목록으로 이메일 보내기   |  슈퍼 필터   |   특수 필터 (굵은 글꼴/이탤릭체/취소선 필터링...) ...
최고의 15가지 도구 모음12개의 텍스트 도구 (텍스트 추가, 특정 문자 삭제, ...)   |   50+ 차트 유형 (간트 차트, ...)   |   40+ 실용적인 수식 (생일을 기반으로 나이 계산, ...)   |   19개 삽입 도구 (QR 코드 삽입, 경로에서 그림 삽입, ...)   |   12개 변환 도구 (단어로 변환하기, 통화 변환, ...)   |   7개 병합 및 분할 도구 (고급 행 병합, 셀 분할, ...)   |   ... 그리고 더 많은 기능들

Kutools for Excel로 엑셀 스킬을 강화하고 지금까지 경험하지 못한 효율성을 체험하세요. Kutools for Excel은 생산성을 향상시키고 시간을 절약할 수 있는 300개 이상의 고급 기능을 제공합니다.  가장 필요한 기능을 얻으려면 여기를 클릭하세요...


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

  • Word, Excel, PowerPoint에서 탭 편집 및 읽기를 활성화하세요.
  • 새 창 대신 동일한 창의 새 탭에서 여러 문서를 열고 생성하세요.
  • 생산성을 50% 향상시키고 매일 수백 번의 마우스 클릭을 줄입니다!