목차
수식을 사용하여 열의 고유/고유 값 목록을 가져오는 방법과 다양한 데이터 세트에 대해 해당 수식을 조정하는 방법을 보여 주는 Excel 고유 값 시리즈의 마지막 부분입니다. 또한 Excel의 고급 필터를 사용하여 고유한 목록을 빠르게 얻는 방법과 Duplicate Remover를 사용하여 고유한 행을 추출하는 방법을 배웁니다.
최근 몇 개의 기사에서 계산하고 찾는 다양한 방법에 대해 논의했습니다. Excel의 고유한 값입니다. 이러한 자습서를 읽을 기회가 있었다면 식별, 필터링 및 복사를 통해 고유하거나 고유한 목록을 얻는 방법을 이미 알고 있을 것입니다. 그러나 이것은 약간 길며 Excel에서 고유한 값을 추출하는 유일한 방법은 아닙니다. 특별한 수식을 사용하면 훨씬 더 빨리 할 수 있으며 잠시 후에 이 수식과 몇 가지 다른 기술을 보여 드리겠습니다.
팁. 동적 배열을 지원하는 최신 버전의 Excel 365에서 고유한 값을 빠르게 얻으려면 위의 링크된 자습서에서 설명한 대로 UNIQUE 함수를 사용하십시오.
Excel에서 고유한 값을 얻는 방법
혼란을 피하기 위해 먼저 Excel에서 고유한 값이라고 부르는 것에 동의합시다. 고유 값 은 목록에 한 번만 존재하는 값입니다. 예:
Excel에서 고유 값 목록을 추출하려면 다음 수식 중 하나를 사용합니다.
배열 고유 값 수식(Ctrl + Shift + Enter를 누르면 완료됨)고유한 행을 추출하고 다른 위치에 복사 를 선택한 다음 정확히 복사하려는 위치를 지정합니다. - 활성 시트( 사용자 지정 위치 옵션을 선택하고 대상의 맨 위 셀 지정 범위), 새 워크시트 또는 새 통합 문서입니다.
이 예에서는 새 시트를 선택하겠습니다.
Excel에서 고유 값 또는 행 목록을 가져오는 이 빠르고 간단한 방법이 마음에 드십니까? 그렇다면 아래에서 평가판을 다운로드하여 사용해 보시기 바랍니다. Duplicate Remover와 다른 모든 시간 절약 도구는 Excel용 Ultimate Suite에 포함되어 있습니다.
사용 가능한 다운로드
Excel에서 고유한 값 찾기 - 샘플 통합 문서(.xlsx 파일)
Ultimate Suite - 평가판(.exe 파일)
): =IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1,$A$2:$A$10) + (COUNTIF($A$2:$A$10, $A$2:$A$10)1), 0)), "")
일반 고유 값 수식(Enter 키를 눌러 완료):
=IFERROR(INDEX($A$2:$A$10, MATCH(0,INDEX(COUNTIF($B$1:B1, $A$2:$A$10)+(COUNTIF($A$2:$A$10, $A$2:$A$10)1),0,0), 0)), "")
위 수식에서 다음 참조가 사용됩니다.
- A2:A10 - 소스 목록.
- B1 - 고유 목록의 맨 위 셀에서 1을 뺀 값입니다. 이 예에서는 고유 목록을 시작합니다. 따라서 B1을 공식(B2-1=B1)에 공급합니다. 예를 들어 셀 C3에서 고유한 목록이 시작되면 $B$1:B1을 $C$2:C2로 변경합니다.
참고. 수식은 일반적으로 열 머리글(이 예에서는 B1)인 고유한 목록의 첫 번째 셀 위의 셀을 참조하므로 머리글의 이름이 열의 다른 곳에 나타나지 않는 고유한 이름인지 확인하십시오.
이 예에서는 열 A(보다 정확하게 범위 A2:A20)에서 고유한 이름을 추출하고 있으며 다음 스크린샷은 실행 중인 배열 수식을 보여줍니다.
수식의 논리에 대한 자세한 설명은 별도의 섹션에서 제공되며 수식을 사용하여 Excel 워크시트에서 고유한 값을 추출하는 방법은 다음과 같습니다.
- 데이터 세트에 따라 수식 중 하나를 조정합니다.
- 고유 목록의 첫 번째 셀(이 예에서는 B2)에 수식을 입력합니다.
- 배열 수식을 사용하는 경우 Ctrl + Shift + Enter를 누릅니다. 일반 수식을 선택한 경우 평소와 같이 Enter 키를 누릅니다.
- 채우기 핸들을 드래그하여 수식을 필요한 만큼 아래로 복사합니다. 둘 다고유 값 수식은 IFERROR 함수에 캡슐화되어 있으므로 수식을 테이블 끝까지 복사할 수 있으며 추출된 고유 값의 수에 관계없이 데이터가 오류로 복잡해지지 않습니다.
엑셀에서 고유한 값을 얻는 방법(고유 + 1차 중복 발생)
이 섹션의 제목에서 이미 짐작했겠지만 Excel의 고유 값 은 모두 다릅니다. 목록의 값, 즉 고유한 값과 중복 값의 첫 번째 인스턴스입니다. 예:
Excel에서 고유한 목록을 얻으려면 다음 수식을 사용하십시오.
배열 고유한 수식(Ctrl 키를 눌러야 함) + Shift + Enter ):
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
일반 고유 수식:
=IFERROR(INDEX($A$2:$A$10, MATCH(0, INDEX(COUNTIF($B$1:B1, $A$2:$A$10), 0, 0), 0)), "")
여기서:
- A2:A10은 소스 목록입니다.
- B1은 개별 목록의 첫 번째 셀 위의 셀입니다. 이 예에서 구별 목록은 B2 셀(수식을 입력하는 첫 번째 셀)에서 시작하므로 B1을 참조합니다.
다음에서 고유 값 추출 빈 셀을 무시하는 열
소스 목록에 빈 셀이 포함되어 있으면 방금 논의한 고유한 수식이 각 빈 행에 대해 0을 반환하므로 문제가 될 수 있습니다. 이 문제를 해결하려면 수식을 조금 더 개선하세요. 숫자를 무시하는 텍스트 값 및blanks
비슷한 방식으로 빈 셀과 숫자가 있는 셀을 제외한 고유 값 목록을 얻을 수 있습니다 :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10&"") + IF(ISTEXT($A$2:$A$10)=FALSE,1,0), 0)), "")
빠른 방법으로 위 수식에서 A2:A10은 소스 목록이고 B1은 개별 목록의 첫 번째 셀 바로 위 셀입니다.
다음 스크린샷은 두 수식의 결과를 보여줍니다.
Excel에서 대소문자를 구분하는 고유 값을 추출하는 방법
비밀번호, 사용자 이름 또는 파일 이름과 같은 대소문자 구분 데이터로 작업할 때 목록을 가져와야 할 수 있습니다. 대소문자 구분 고유 값. 이를 위해 다음 배열 수식을 사용합니다. 여기서 A2:A10은 소스 목록이고 B1은 고유 목록의 첫 번째 셀 위의 셀입니다. Ctrl + Shift + Enter )
=IFERROR(INDEX($A$2:$A$10, MATCH(0, FREQUENCY(IF(EXACT($A$2:$A$10,TRANSPOSE($B$1:B1)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10))), 0)), "")
고유하고 고유한 수식이 작동하는 방식
이 섹션은 특히 호기심이 많고 수식을 알고 싶을 뿐만 아니라 그 기본 사항을 완전히 이해하고 싶어하는 사려 깊은 Excel 사용자입니다.
Excel에서 고유하고 고유한 값을 추출하는 공식이 사소하거나 간단하지 않다는 것은 말할 필요도 없습니다. 하지만 자세히 살펴보면 모든 공식이 COUNTIF 또는 COUNTIF + IF 함수와 함께 INDEX/MATCH를 사용하는 동일한 접근 방식을 기반으로 한다는 것을 알 수 있습니다.
심층 분석을 위해 다음을 사용하겠습니다. 배열 수식이 자습서에서 설명하는 다른 모든 수식은 이 기본 수식의 개선 또는 변형이기 때문에 고유 값 목록을 추출합니다.
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
처음에는 수식을 복사한 셀 수가 소스 목록의 개별 값 수를 초과할 때 #N/A 오류를 제거하는 단일 목적으로 사용되는 명백한 IFERROR 함수를 제거합니다.
그리고 이제 고유한 수식의 핵심 부분을 분석해 보겠습니다.
- COUNTIF(범위, 기준) 은 지정된 조건을 충족하는 범위 내의 셀 수를 반환합니다.
이 예에서 COUNTIF($B$1:B1, $A$2:$A$10)는 소스 목록($A$2:$A$10)의 값이 개별 목록($B$1:B1)의 어딘가에 나타납니다. 값이 발견되면 수식은 1을 반환하고 그렇지 않으면 -0을 반환합니다.
특히 B2 셀에서 COUNTIF($B$1:B1, $A$2:$A$10)는 다음과 같이 됩니다.
COUNTIF("Distinct", {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"})
및
{0;0;0;0;0;0;0;0;0}
을 반환합니다. 소스 목록( 기준 )의 항목이 범위에 나타나지 않기 때문입니다. 여기서 함수는 일치 항목을 찾습니다. 이 경우 범위 ($B$1:B1)는 "고유"라는 단일 항목으로 구성됩니다.
-
MATCH(lookup_value, lookup_array, [match_type])
는 배열에서 조회 값의 상대 위치를 반환합니다.
이 예에서 lookup_value는 0이므로 결과적으로 다음과 같습니다.
MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)
은
MATCH(0, { 0 ;0;0;0;0;0;0;0;0},0)
로 바뀌고
을 반환합니다.함수는 조회 값과 정확히 동일한 첫 번째 값을 가져옵니다(기억하시겠지만 조회 값은 0입니다).
이 예에서 INDEX($A$2:$A$10, 1)
은
INDEX({"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}, 1)
이 되고 "Ronnie"를 반환합니다.
<따라서 셀 B3에 복사하면 COUNTIF($B$1: B1 , $A$2:$A$10)이 COUNTIF($B$1: B2 로 변경됩니다. , $A$2:$A$10),
COUNTIF({"Distinct";"Ronnie"}, {"Ronnie"; "David"; "Sally"; "Jeremy"; "Robert"; "David"; "Robert"; "Tom"; "Sally"}), 0)), "")
이 되고
{1;0;0;0;0;0;0;0;0}
을 반환합니다. 범위 $B$1:B2.
그런 다음 MATCH(0,{1; 0 ;0;0;0;0;0;0;0},0)은 2를 반환합니다. 2는 배열에서 첫 번째 0의 상대 위치이기 때문입니다.
그리고 마지막으로 INDEX($A$2:$A$10, 2)
은 두 번째 행의 값인 "David"를 반환합니다.
팁. 수식의 논리를 더 잘 이해하려면 수식 입력줄에서 수식의 다른 부분을 선택하고 F9 키를 눌러 선택한 부분이 무엇으로 평가되는지 확인할 수 있습니다.
여전히 이해하기 어려운 경우 공식을 확인하려면 INDEX/MATCH 연결이 작동하는 방식에 대한 자세한 설명을 다음 자습서에서 확인할 수 있습니다. INDEX & 더 나은 MATCHExcel VLOOKUP의 대안입니다.
이미 언급했듯이 이 자습서에서 설명하는 다른 수식은 동일한 논리를 기반으로 하며 몇 가지만 수정하면 됩니다.
고유 값 수식 - 하나 이상의 COUNTIF 함수를 포함합니다. 원본 목록에 두 번 이상 나타나는 모든 항목을 고유 목록에서 제외하는 COUNTIF($A$2:$A$10, $A$2:$A$10)1
.
공백을 무시하는 고유 값 수식 - 여기서 빈 셀이 고유 목록에 추가되지 않도록 하는 IF 함수를 추가합니다. IF($A$2:$A$13="",1,0)
.
숫자를 무시하는 고유한 텍스트 값 수식 - ISTEXT 함수를 사용하여 값이 텍스트인지 확인하고 IF 함수를 사용하여 빈 셀을 포함한 다른 모든 값 유형을 해제합니다: IF(ISTEXT($A$2:$A$13)=FALSE,1,0)
.
Excel의 고급 필터를 사용하여 열에서 고유 값 추출
고유 값 수식의 난해한 왜곡을 파악하는 데 시간을 낭비하고 싶지 않다면 다음을 사용하여 고유 값 목록을 신속하게 얻을 수 있습니다. 고급 필터. 자세한 단계는 다음과 같습니다.
- 개별 값을 추출할 데이터 열을 선택합니다.
- 데이터 탭 ><1으로 전환합니다>정렬 & 필터 그룹을 클릭하고 고급 버튼을 클릭합니다.
- 다른 위치로 복사 라디오 버튼을 선택합니다.
- 목록 범위 상자에서 소스 범위가 올바르게 표시되는지 확인합니다. .
- 에서 상자에 복사 , 대상 범위의 맨 위 셀을 입력합니다. 필터링된 데이터는 활성 시트 에만 복사할 수 있습니다.
- 고유 레코드만
<을 선택하십시오. 24>
고급 필터 옵션 이름은 " 고유 레코드만 "이며 고유 값 , 즉 고유 값과 중복 값의 첫 번째 항목을 추출합니다.
중복을 사용하여 고유하고 고유한 행 추출 Remover
이 자습서의 마지막 부분에서는 Excel 시트에서 고유하고 고유한 값을 찾아 추출하는 자체 솔루션을 보여 드리겠습니다. 이 솔루션은 Excel 수식의 다양성과 고급 필터의 단순성을 결합합니다. 또한 다음과 같은 몇 가지 고유한 기능을 제공합니다.
- 하나 이상의 열에 있는 값을 기반으로 고유/고유 행 을 찾아 추출합니다.
- 찾기 , 하이라이트 및 복사 동일하거나 다른 통합 문서의 다른 위치로 고유한 값.
그리고 이제, Duplicate Remover 도구가 실제로 작동하는지 살펴보겠습니다.
여러 다른 테이블의 데이터를 통합하여 만든 요약 테이블이 있다고 가정합니다. 분명히 해당 요약 테이블에는 많은 중복 행이 포함되어 있으며 작업은 테이블에 한 번만 나타나는 고유한 행 또는 고유한 행을 추출하는 것입니다.고유 및 첫 번째 중복 항목을 포함합니다. 어느 쪽이든, Duplicate Remover 추가 기능을 사용하면 작업이 5개의 빠른 단계로 완료됩니다.
- 소스 테이블 내에서 임의의 셀을 선택하고 Duplicate Remover 버튼을 클릭하십시오. 1>Ablebits Data 탭, Dedupe 그룹.
Duplicate Remover 마법사가 실행되고 다음을 선택합니다. 전체 테이블. 따라서 다음 을 클릭하면 다음 단계로 진행됩니다.
- Unique
- Unique +1st 한 번만 가능하므로 고유 옵션을 선택합니다.
팁. 위의 스크린샷에서 볼 수 있듯이 중복 값 에 대한 2가지 옵션도 있습니다. 다른 워크시트를 중복 제거해야 하는 경우 염두에 두세요.
이 예에서는 3개 열( 주문 번호 , 이름 및 성 )의 값을 기반으로 고유한 행을 찾으려고 합니다. 모두 선택합니다.
- 고유 값 강조표시
- 고유 값 선택
- 상태 열에서 식별
- 다른 위치로 복사
우리는