여러 조건에 따라 Excel에서 고유한 값의 개수를 어떻게 계산합니까?
많은 실용적인 시나리오에서, 단순히 값을 세는 것뿐만 아니라 데이터 내에서 특정 조건을 충족하는 고유 항목의 수를 결정해야 하는 경우가 많습니다. 예를 들어, 특정 판매자가 판매한 다양한 제품의 수를 알아내거나, 특정 기간 동안 이루어진 고유 주문의 수를 파악하고 싶을 수 있습니다. Excel에서 이러한 작업을 효율적으로 처리하려면 적절한 수식, 피벗 테이블과 같은 고급 기능, 또는 사용자 정의 VBA 솔루션에 익숙해져야 합니다. 이 문서에서는 여러 실용적인 방법을 통해 하나 이상의 조건에 따라 고유한 값의 개수를 계산하는 방법을 단계별 지침과 팁과 함께 살펴보겠습니다.
피벗 테이블로 고유 값을 카운트 (고유값 카운트, Excel 2013+ 버전)
VBA 코드로 고유 값을 카운트 (복잡하거나 자동화된 경우)
하나의 조건에 따른 고유 값 카운트
일반적인 경우를 생각해 봅시다: 당신은 Tom이 판매한 서로 다른 제품의 수를 알고 싶습니다. 이 방법은 간단한 데이터셋을 가지고 있고, 한 사람의 판매 기록과 같이 단일 조건에 따라 고유성을 평가하려고 할 때 적합합니다. 이 방법은 간단하지만 배열 수식을 신중하게 사용해야 합니다.
다음 수식을 빈 셀(예: G2)에 입력하세요:
=SUM(IF("Tom"=$C$2:$C$20,1/(COUNTIFS($C$2:$C$20, "Tom", $A$2:$A$20, $A$2:$A$20)),0))
수식을 입력한 후, 배열 수식으로 확인하기 위해 Ctrl + Shift + Enter (Enter만 누르지 마세요)를 눌러야 합니다. 중괄호가 수식 표시줄에 나타나며 아래와 같이 즉시 결과를 볼 수 있을 것입니다:
참고:
- “Tom”은 결과를 필터링하는 데 사용할 조건입니다. 더 많은 유연성이 필요하면 “Tom”을 다른 셀 참조(예: $F$2)로 바꿀 수 있습니다.
- $C$2:$C$20에는 평가할 판매자의 이름이 포함되어 있습니다.
- $A$2:$A$20은 고유한 숫자를 얻고자 하는 제품 열입니다.
- 데이터 범위가 변경되면 참조를 그에 맞게 조정해야 합니다.
팁: Excel 365 또는 Excel 2019 이후 버전을 사용하는 경우 UNIQUE
및 FILTER
함수를 사용하여 더 쉬운 수식을 시도해 볼 수 있습니다.
#DIV/0! 오류가 발생하면 조건을 다시 확인하고 범위 길이가 동일한지 확인하세요.
두 개의 주어진 날짜에 따른 고유 값 카운트
특정 날짜 범위 내의 고유 항목 수를 찾아야 하는 경우, 예를 들어 2016/9/1과 2016/9/30 사이에 판매된 모든 고유 제품의 수를 찾으려 한다면 이 접근 방식을 적용할 수 있습니다. 이는 월별, 분기별 또는 사용자 정의 날짜 범위와 같은 특정 기간 사이의 데이터 트렌드를 분석하는 데 특히 유용합니다. 그러나 날짜 형식에 주의해야 하며, 이는 귀하의 워크시트 날짜 값과 일치해야 합니다.
결과를 표시하고자 하는 빈 셀에 다음 수식을 입력하세요:
=SUM(IF($D$2:$D$20<=DATE(2016,9,30)*($D$2:$D$20>=DATE(2016,9,1)),1/COUNTIFS( $A$2:$A$20, $A$2:$A$20, $D$2:$D$20, "<="&DATE(2016,9,30),$D$2:$D$20, ">="&DATE(2016,9,1))),0)
수식을 입력한 후 배열 수식으로 실행하기 위해 Ctrl + Shift + Enter를 누릅니다. 아래 스크린샷은 결과를 보여줍니다:
참고:
- 2016,9,1 및 2016,9,30은 시작 및 종료 날짜 조건입니다. 필요에 따라 수정하거나 동적 날짜 필터로 셀 참조를 사용할 수 있습니다.
- $D$2:$D$20은 검사할 날짜 항목을 포함합니다.
- $A$2:$A$20은 다시 고유하게 세고자 하는 항목이나 제품 열입니다.
- 결과가 예상대로 표시되지 않으면 날짜 서식과 범위를 확인하세요.
팁: 지역 날짜 서식 문제를 방지하려면 DATE(년, 월, 일)을 사용하세요. 동적 범위를 사용할 때 명명된 범위를 사용하는 것이 좋습니다.
두 가지 조건에 따른 고유 값 카운트
Tom이 9월에 판매한 제품만 분석하려고 합시다. 이름과 날짜 범위를 고유 카운트에 결합하는 이 시나리오는 기간 기반 성과 평가 또는 분할 분석에서 일반적입니다. 조건이 확장됨에 따라 수식이 더욱 복잡해지고 데이터 정확성에 대한 주의가 더욱 중요해집니다.
아래 수식을 H2처럼 아무 빈 셀에 입력하세요:
=SUM(IF(("Tom"=$C$2:$C$20)*($D$2:$D$20<=DATE(2016,9,30)*($D$2:$D$20>=DATE(2016,9,1))),1/COUNTIFS($C$2:$C$20, "Tom", $A$2:$A$20, $A$2:$A$20, $D$2:$D$20, "<="&DATE(2016,9,30),$D$2:$D$20, ">="&DATE(2016,9,1))),0)
수식을 입력한 후 Ctrl + Shift + Enter로 확인하세요. 다음 삽화와 같이 고유 카운트를 즉시 볼 수 있습니다:
참고:
- “Tom”은 이름 조건이고 “2016,9,1” 및 “2016,9,30”은 날짜 범위 경계입니다. 필요에 따라 수정하거나 셀 참조를 사용하여 동적으로 만들 수 있습니다.
- $C$2:$C$20은 직원(또는 첫 번째 조건) 열이고, $D$2:$D$20은 날짜 열이며, $A$2:$A$20은 고유한 항목을 세기 위한 열입니다.
- 범위는 모두 길이가 같아야 오류를 방지할 수 있습니다.
Tom이 판매한 고유 제품 또는 남부 지역에서 판매된 고유 제품을 세는 등 “or” 조건을 사용하려면 다음 수식을 사용할 수 있습니다. 이것은 광범위한 검색 조건을 가능하게 하지만 데이터가 두 조건을 모두 만족하면 결과가 겹칠 수 있습니다:
=SUM(--(FREQUENCY(IF(("Tom"=$C$2:$C$20)+("South"=$B$2:$B$20), COUNTIF($A$2:$A$20, "<"&$A$2:$A$20), ""), COUNTIF($A$2:$A$20, "<"&$A$2:$A$20))>0))
Ctrl + Shift + Enter를 잊지 말고 누르세요. 아래와 같이 결과가 표시됩니다:
팁: OR 조건을 적용할 때 동일한 레코드가 두 조건을 모두 만족하면 두 번 카운트될 수 있음을 염두에 두세요. 대규모 데이터셋의 경우 성능에 영향을 미칠 수 있습니다.
세 가지 조건에 따른 고유 값 카운트
때때로 분석에는 Tom이 9월에 북부 지역에서만 판매한 고유 제품을 결정하는 것처럼 세 가지 이상의 조건이 필요할 수 있습니다. 이는 보고서 작성 또는 타겟팅된 비즈니스 인사이트를 위한 다차원 데이터 분석에서 일반적입니다. 이러한 복합 논리를 처리할 때는 신중한 참조 관리가 필수입니다.
배열 수식을 빈 셀(예: I2)에 배치하세요:
=SUM(IF(("Tom"=$C$2:$C$20)*($D$2:$D$20<=DATE(2016,9,30))*($D$2:$D$20>=DATE(2016,9,1))*("North"=$B$2:$B$20),1/COUNTIFS($C$2:$C$20, "Tom", $A$2:$A$20, $A$2:$A$20, $D$2:$D$20, "<="&DATE(2016,9,30), $D$2:$D$20, ">="&DATE(2016,9,1), $B$2:$B$20, "North")),0)
Ctrl + Shift + Enter를 눌러 완료하세요. 참고할 샘플 결과는 다음과 같습니다:
고급 조건의 경우 모든 범위가 일관되고 데이터 유형(예: 날짜 및 텍스트)이 올바른지 다시 확인하세요. 불일치는 오류 또는 잘못된 결과를 초래할 수 있습니다.
팁:
- 대규모 데이터셋에서 성능 문제가 발생하는 경우 수식을 분리하거나 Excel의 피벗 테이블 솔루션을 사용하는 것을 고려하세요.
- 모든 조건에 대해 명명된 범위를 사용하거나 셀 참조하면 가독성이 향상되고 수식 오류가 줄어듭니다.
- 자주 사용하는 경우 이러한 수식을 명명된 셀 참조 또는 사용자 정의 함수에 저장하는 것을 고려하세요.
피벗 테이블로 고유 값을 카운트 (고유값 카운트, Excel 2013+ 버전)
Excel 2013 또는 이후 버전 사용자를 위한 피벗 테이블은 하나 또는 여러 조건에 걸쳐 고유 값을 세는 공식 없는 대안을 제공합니다. 고유값 카운트 기능은 대규모 데이터 세트를 요약하고 필터링하는 데 도움을 줍니다. 따라서 이 방법은 동적이고 보고서 기반 환경에 특히 적합합니다. 그러나 이전 버전의 Excel에서는 피벗 테이블 내 고유값 카운트 기능을 지원하지 않습니다.
이 방법을 사용하는 방법:
- 데이터 세트를 선택하고 '삽입' > '피벗테이블'로 이동합니다.
- 피벗테이블 생성 대화 상자에서 피벗테이블을 배치할 위치를 선택하고, '이 데이터를 데이터 모델에 추가' 박스를 체크한 후 '확인'을 클릭합니다.
- 고유하게 세고자 하는 필드(예: 제품)를 값 영역으로 드래그합니다. 기본적으로 '개수'로 표시됩니다.
- 값 영역의 필드를 클릭하고 '값 필드 설정'을 선택합니다.
- 팝업 대화 상자에서 아래로 스크롤하고 고유값 카운트를 선택합니다(이 옵션은 Excel 2013 또는 이후 버전에서만 사용 가능하며, 피벗 테이블이 '이 데이터를 데이터 모델에 추가' 옵션을 활성화하여 생성된 경우에만 나타납니다).
- 조건 필드(예: 판매자, 지역, 날짜)를 필터 또는 행/열 영역에 추가하여 단일 또는 여러 조건을 적용합니다.
- 피벗 테이블은 이제 선택한 조건에 의해 필터링된 고유 값의 수를 표시합니다.
장점: 매우 시각적이며, 수식 편집 없이 필터를 쉽게 조정할 수 있으며, 대화형 보고서에 적합합니다.
제한 사항: Excel 2010 또는 이전 버전에서는 사용할 수 없으며, 새 데이터를 추가하려면 피벗 테이블을 수동으로 새로 고쳐야 합니다.
실용적인 팁: 의도하지 않은 경우 동일한 레코드 내에 중복이 없는지 항상 확인하세요. 고유값 카운트 옵션이 누락된 경우 피벗 테이블을 다시 생성하고 '이 데이터를 데이터 모델에 추가' 옵션을 확인하세요.
VBA 코드로 고유 값을 카운트 (복잡하거나 자동화된 경우)
때때로 매우 큰 데이터 세트를 처리하거나 분석을 자주 반복해야 하는 경우, 다양한 조건에 따라 고유 값을 자동으로 계산해야 할 수도 있습니다. 이러한 상황에서는 VBA 매크로가 적합합니다. 설정 후에는 다양한 논리를 포함한 다중 조건 필터링도 수작업 없이 신속하게 처리할 수 있기 때문입니다. 그러나 VBA는 일반적인 Excel 기능보다 더 고급이므로, 매크로에 익숙하거나 지속적인 분석 필요가 있는 사용자가 가장 잘 사용합니다.
조작 단계:
- Alt + F11을 눌러 VBA 편집기를 엽니다. 편집기에서 '삽입' > '모듈'을 선택하여 새 모듈을 생성합니다.
- 다음 VBA 코드를 복사하여 모듈에 붙여넣습니다:
Sub CountUniqueWithCriteria()
Dim DataRange As Range
Dim CriteriaRange As Range
Dim CriteriaValue As Variant
Dim Dict As Object
Dim i As Long
Dim UniqueCount As Long
Dim ResultCell As Range
Set Dict = CreateObject("Scripting.Dictionary")
' Prompt for range settings
Set DataRange = Application.InputBox("Select data range (items to count):", "KutoolsforExcel", Type:=8)
Set CriteriaRange = Application.InputBox("Select criteria range (e.g. Salesperson):", "KutoolsforExcel", Type:=8)
CriteriaValue = Application.InputBox("Enter criteria value:", "KutoolsforExcel", "", Type:=2)
Set ResultCell = Application.InputBox("Select cell for result output:", "KutoolsforExcel", Type:=8)
On Error Resume Next
For i = 1 To DataRange.Rows.Count
If CriteriaRange.Cells(i, 1).Value = CriteriaValue Then
If Not Dict.Exists(DataRange.Cells(i, 1).Value) Then
Dict.Add DataRange.Cells(i, 1).Value, 1
End If
End If
Next i
UniqueCount = Dict.Count
ResultCell.Value = UniqueCount
MsgBox "Unique count for '" & CriteriaValue & "': " & UniqueCount, vbInformation, "KutoolsforExcel"
End Sub
- VBA 편집기를 닫고 워크시트로 돌아갑니다. Alt + F8을 눌러 CountUniqueWithCriteria를 선택하고 매크로를 실행합니다.
- 데이터에 따라 범위와 조건을 지정하기 위한 입력 프롬프트를 따릅니다. 결과는 선택한 셀과 메시지 창에 나타날 것입니다.
매개변수 설명 및 주의사항:
- 이 매크로는 현재 하나의 조건에 대해 설정되어 있습니다. 여러 조건으로 확장하려면 루프 내부의
If ... Then
논리를 수정하세요. - 매크로를 실행하기 전에 항상 워크북을 저장하세요. 변경 사항은 되돌릴 수 없습니다.
- 실행 오류가 발생하면 Excel 설정에서 매크로를 활성화하세요.
- 이 방법은 수동 수식이 번거로울 수 있는 크고 자주 업데이트되는 데이터에 효과적입니다.
장점: 매우 사용자 정의 가능하고 자동화 가능하며, 크고 변화하는 데이터 세트를 효율적으로 처리합니다. 고급 또는 반복적인 작업 요구에 적합합니다.
단점: 매크로 권한이 필요하며, 초보자는 VBA 작동법에 익숙해지는 데 시간이 걸릴 수 있습니다.
조건에 따른 고유 값 카운트를 작업할 때 항상 범위 참조를 확인하고 모든 조건 열의 크기가 일치하는지 확인하세요. 범위가 일치하지 않으면 오류 또는 잘못된 결과의 일반적인 원인이 됩니다. 수식이 예상치 못한 결과를 반환하면 숨겨진 서식 문제나 빈 셀을 확인하세요. 성능이 중요한 상황에서는 피벗 테이블과 VBA가 배열 수식에 대한 견고한 대안을 제공합니다. 자신의 능력 수준과 데이터 세트의 복잡성에 가장 적합한 솔루션을 선택하세요. Kutools for Excel은 이러한 작업을 더욱 효율적으로 처리할 수 있도록 추가 유틸리티와 바로 가기를 제공한다는 점을 기억하세요.
최고의 오피스 생산성 도구
🤖 | 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일 모든 기능 사용 가능 — 회원가입/카드 불필요
- 최고의 가성비 — 개별 추가 기능 구매 대비 절약