Computer >> 컴퓨터 >  >> 소프트웨어 >> Office

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

Excel 사용자라면 데이터 작업 중 중복 항목을 자주 마주하게 됩니다. 이럴 때 고급 필터(Advanced Filter)의 '고유 레코드만' 기능을 활용하면 간편하게 해결할 수 있습니다. Excel의 기본 기능인 고급 필터, UNIQUE 함수(Excel 365 전용), 그리고 VBA 매크로를 이용하면 중복 값을 제거하고 고유한 레코드만 손쉽게 추출할 수 있습니다.

예를 들어, 동일한 항목이 여러 개 포함된 데이터 집합이 있다고 가정해 보겠습니다. 우리는 중복 항목들을 제거하되 각 항목은 하나씩만 남기고 싶습니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

이 글에서는 고유 레코드만 필터링하기 위한 고급 필터 활용법을 여러 가지 방법으로 소개합니다.

예제 파일 다운로드

Excel에서 고유 레코드만 추출하는 4가지 방법

방법 1: 고급 필터 기능으로 고유 레코드 필터링

Excel은 데이터 탭에서 고급(Advanced) 옵션을 제공합니다. 이 고급 필터 기능을 사용하면 고유 값만 필터링할 수 있습니다. 즉, 중복 레코드 중 하나만 남기고 나머지는 모두 제거됩니다.

데이터 집합을 살펴보면 동일한 레코드가 3세트 존재합니다. 따라서 이 중복 항목들을 제거하고 각 세트당 하나씩만 남겨야 합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

1단계: 전체 범위를 선택한 후, 데이터 탭으로 이동하여 (정렬 및 필터 섹션에서) 고급을 클릭합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

2단계: 고급 필터 창이 나타나면 다음과 같이 설정합니다.

작업(Action)에서 → 다른 위치에 복사 옵션을 선택합니다.
목록 범위(List range)는 자동으로 선택됩니다 (예: B4:F17).
복사 위치(Copy to)에 원하는 셀을 지정합니다 (예: H4).
동일한 레코드는 하나만 옵션에 체크합니다.
확인을 클릭합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

확인을 클릭하면 고유 항목들이 고급 필터 창의 '복사 위치'에서 지정한 새 위치에 배치됩니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

🔁 조건을 적용해 고유 레코드만 필터링하기

범위 내에서 원하는 항목을 검색하거나 찾을 때 조건을 적용하는 것은 매우 유용한 방법입니다. 예를 들어 주문 날짜, 제품, 수량에 대한 조건을 설정한다고 가정해 보겠습니다. 특정 날짜(2/3/2022)에 판매 수량이 일정 금액(>50) 이상인 제품의 레코드를 찾고 싶은 경우입니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

➤ 이 방법의 1단계를 반복하여 고급 필터 창을 연 후, 조건 범위 입력란에 해당 범위(예: G6:J7)를 지정하는 것 외에는 2단계와 동일하게 설정합니다. 마지막으로 확인을 클릭합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

⧬ 반드시 열 머리글을 포함하여 조건 범위를 선택해야 합니다.

확인을 클릭하면 아래 그림과 같이 조건에 맞는 레코드가 표시됩니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

데이터 집합에서 설정한 조건을 만족하는 레코드가 하나뿐이므로, 고급 필터는 하나의 레코드만 반환합니다.

방법 2: UNIQUE 함수로 고유 레코드만 필터링

Excel의 UNIQUE 함수는 고유 레코드만 추출하지만, Excel 365에서만 사용할 수 있습니다. UNIQUE 함수의 구문은 다음과 같습니다.

=UNIQUE(array, [by_col], [exactly_once])

수식 구성 요소:

array: 고유 값을 추출하려는 범위 또는 배열입니다.

[by_col]: 비교 방향을 지정합니다. FALSE는 행 단위, TRUE는 열 단위로 비교합니다. [선택 사항]

[exactly_once]: TRUE는 한 번만 나타나는 값을, FALSE는 모든 고유 값(기본값)을 반환합니다. [선택 사항]

1단계: 빈 셀(예: H4)에 다음 수식을 입력합니다.

=UNIQUE(B4:F17)

UNIQUE 함수는 배열(예: B4:F17)만 받아 모든 고유 값을 반환합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

2단계: Enter 키를 누르면 잠시 후 아래 그림과 같이 모든 고유 값이 표시됩니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법위 스크린샷에서 데이터 집합에서 추출된 모든 고유 레코드를 확인할 수 있습니다.

방법 3: 중복된 항목 제거 기능으로 중복 삭제

중복 항목을 제거하는 것 역시 고유 값만 필터링하는 편리한 방법 중 하나입니다. Excel에는 데이터 탭에 중복된 항목 제거 옵션이 있습니다. 이 기능은 중복 레코드 중 하나만 남깁니다.

1단계: 범위를 선택한 후, 데이터 탭으로 이동하여 (데이터 도구 섹션에서) 중복된 항목 제거를 클릭합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

2단계: 중복된 항목 제거 창이 나타나면 모두 선택을 클릭한 후 확인을 누릅니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

3단계: 'Excel에서 3개의 중복 값이 제거되었습니다'라는 알림 창이 나타나면 확인을 클릭합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

중복된 항목 제거 기능을 실행하면 중복 항목이 삭제되어 고유 레코드만 남게 됩니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

방법 4: VBA 매크로로 고유 레코드 필터링

VBA 매크로는 조건 기반 결과를 얻는 데 매우 강력한 도구입니다. 매크로 코드를 사용하여 고유 레코드만 필터링할 수 있습니다.

이미 중복이 포함된 데이터 집합이 준비되어 있으며, 중복 항목을 쉽게 식별할 수 있도록 색상 서식을 적용했습니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

1단계: ALT+F11 키를 동시에 눌러 Microsoft Visual Basic 창을 엽니다. 해당 창에서 삽입(도구 모음에서) > 모듈을 클릭합니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

2단계: 모듈에 다음 매크로를 입력합니다.

Option Explicit
Sub Filter_Unique_Records()
Dim SourceRng As Range, PasteRng As Range
Dim lastRow As Long
Dim wrk As Worksheet
Set wrk = ThisWorkbook.Sheets("VBA")
Set PasteRng = wrk.Cells(4, 8)
If PasteRng <> vbNullString Then
lastRow = wrk.Columns(PasteRng.Column).Find("*", , , , xlByRows, xlPrevious).Row
wrk.Range(PasteRng, Cells(lastRow, PasteRng.Column + 2)).Delete xlUp
Set PasteRng = wrk.Cells(4, 8)
End If
lastRow = wrk.Columns(2).Find("*", , , , xlByRows, xlPrevious).Row
Set SourceRng = wrk.Range(Cells(4, 2), Cells(lastRow, 6))
SourceRng.AdvancedFilter Action:=xlFilterCopy, copytorange:=PasteRng, Unique:=True
End Sub

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

이 매크로는 VBA CELL 함수를 사용하여 소스 범위를 4행 2열부터 시작하고 붙여넣기 범위를 4행 8열부터 시작하도록 설정합니다. 또한 VBA Range.Delete 메서드를 사용해 붙여넣기 범위의 기존 내용을 삭제하는 조건도 포함되어 있습니다. 마지막으로 매크로가 VBA AdvancedFilter Action을 실행합니다.

3단계: F5 키를 눌러 매크로를 실행한 후 워크시트로 돌아가면 아래 그림과 같이 모든 중복 레코드가 제거된 것을 확인할 수 있습니다.

Excel에서 고급 필터로 고유 레코드만 추출하는 4가지 방법

결론

이번 글에서는 Excel의 다양한 기능, UNIQUE 함수, 그리고 VBA 매크로 코드를 사용하여 고유 레코드만 필터링하는 방법을 알아보았습니다. 각 방법은 데이터 유형에 따라 장점이 다르므로 상황에 맞는 방법을 선택하시기 바랍니다. 추가 문의 사항이나 덧붙일 내용이 있다면 댓글로 남겨주세요.