모든 사람은 텍스트 항목 목록에서 중복 항목을 삭제해야하는 경우가 있습니다. 워크 시트의 A 열에 텍스트 값이 있고 약 500 행에 대해 실행된다고 가정합니다. 목록에서 중복 항목을 삭제하려면 가장 쉬운 방법을 찾고있을 수 있습니다. 실제로 Excel에서이 작업을 수행 할 수있는 여러 가지 방법이 있습니다.

중복 삭제 도구 사용

가장 간단한 방법은 중복 항목을 삭제할 데이터를 선택한 다음 리본의 데이터 탭을 표시하는 것입니다. 데이터 도구 그룹에서 중복 제거 도구를 클릭합니다. Excel은 중복 제거 대화 상자를 표시합니다.

중복 제거 대화 상자의 가장 큰 장점은 데이터의 각 열 이름이 나열된다는 것입니다. (이 도구는 데이터의 첫 번째 행에 제목 레이블이 있다고 가정합니다.) 그런 다음 중복 여부를 확인하려는 각 열 옆에 확인 표시가 있는지 확인할 수 있습니다. 확인 버튼을 클릭하면 데이터가 분석되고 중복 행이 제거됩니다. (다시 한 번 중복 제거 대화 상자에서 선택한 열에 따라 중복이 결정됩니다.)

데이터 필터링 사용

또 다른 수동 방법은 데이터 필터링을 사용하여 고유 한 값을 결정하는 것입니다. 열의 상단에 레이블이 있는지 확인한 다음 열에서 셀을 선택하십시오. 리본의 데이터 탭을 표시하고 정렬 및 필터 그룹에서 고급을 클릭합니다. 표시되는 대화 상자의 컨트롤을 사용하여 지정한 다른 위치에 고유 한 값을 복사하도록 지정합니다.

수식 사용

수식을 사용하여 목록에서 중복 항목을 수동으로 확인할 수도 있습니다. 열의 값을 정렬 한 다음 B2 셀에 다음 수식을 입력합니다.

=IF(A2=A1,"Duplicate","")

A 열에 해당 값이있는 B 열의 모든 셀에 수식을 복사합니다. B 열의 모든 값을 선택하고 Ctrl + C를 누릅니다. 선택하여 붙여 넣기를 사용하여 선택한 동일한 셀에 값만 붙여 넣습니다. 이제 수식을 결과로 변환했습니다.

B 열의 내용에 따라 두 열을 정렬하면 모든 중복 행이 한 영역에 있습니다. 이 행을 삭제하면 고유 값 목록이 완성됩니다.

매크로 사용

수동 접근 방식은 빠르고 쉽지만 열에서 중복 값을 정기적으로 삭제해야하는 경우 매크로가 더 스타일이 될 수 있습니다.

다음 매크로는 이전 수동 방법과 마찬가지로 데이터 필터링에 의존합니다.

Sub CreateUniqueList()

Dim rData As Range     Dim rTemp As Range

Set rData = Range(Range("a1"), Range("A1048576").End(xlUp))

rData.EntireColumn.Insert     Set rTemp = rData.Offset(0, -1)

rData.AdvancedFilter _         Action:=xlFilterCopy, _         CopyToRange:=rTemp, _         Unique:=True

rTemp.EntireColumn.Copy _         rData.EntireColumn     Application.CutCopyMode = False     rTemp.EntireColumn.Delete     Set rData = Nothing     Set rTemp = Nothing End Sub

매크로는 임시 열을 만들고 고급 필터링을 사용하여 해당 열에 고유 한 값을 복사 한 다음 원래 데이터 열을 삭제합니다.

결과는 A 열의 고유 한 값입니다. 매크로가 Excel의 데이터 필터링 기능을 사용하지 않도록하려면 다음과 같은 훨씬 더 짧은 매크로가 트릭을 수행합니다.

Sub RemoveDups()

Dim rData As Range

Set rData = Range(Range("a1"), Range("A1048576").End(xlUp))

rData.RemoveDuplicates Columns:=Array(1), Header:=xlYes End Sub

이 매크로의 핵심은 중복을 확인하려는 열 번호가 포함 된 배열에 의존하는 RemoveDuplicates 메서드를 사용하는 것입니다. 여기에 표시된 매크로는 A 열의 내용에서만 작동하지만 단일 열 이상의 데이터에 대해 작동하도록 쉽게 수정할 수 있습니다. 여러분이해야 할 일은 더 큰 데이터 영역을 나타내도록 rData를 변경 한 다음 확인하려는 열을 가리 키도록 columns 매개 변수를 수정하는 것입니다.

rData.RemoveDuplicates Columns:=Array(1,4), Header:=xlYes

또 다른 매크로 기반 접근 방식은 다음과 같은 방식으로 데이터 세트의 값을 확인하는 고유 한 코드를 개발하는 것입니다.

Sub DelDups()

Dim rngSrc As Range     Dim NumRows As Integer     Dim ThisRow As Integer     Dim ThatRow As Integer     Dim ThisCol As Integer     Dim J As Integer, K As Integer

Application.ScreenUpdating = False     Set rngSrc = ActiveSheet.Range(ActiveWindow.Selection.Address)



NumRows = rngSrc.Rows.Count     ThisRow = rngSrc.Row     ThatRow = ThisRow + NumRows - 1     ThisCol = rngSrc.Column

'Start wiping out duplicates     For J = ThisRow To (ThatRow - 1)

If Cells(J, ThisCol) > "" Then             For K = (J + 1) To ThatRow                 If Cells(J, ThisCol) = Cells(K, ThisCol) Then                     Cells(K, ThisCol) = ""

End If             Next K         End If     Next J

'Remove cells that are empty     For J = ThatRow To ThisRow Step -1         If Cells(J, ThisCol) = "" Then             Cells(J, ThisCol).Delete xlShiftUp         End If     Next J     Application.ScreenUpdating = True End Sub

매크로는 호출하기 전에 선택한 항목에서 작동합니다. 따라서 A2 : A974 범위에서 중복 셀을 제거해야하는 경우 해당 범위를 선택한 다음 매크로를 실행하면됩니다. 매크로가 완료되면 빈 셀과 마찬가지로 중복 셀이 제거됩니다.

_ 참고 : _

이 페이지 (또는 ExcelTips 사이트의 다른 페이지)에 설명 된 매크로를 사용하는 방법을 알고 싶다면 유용한 정보가 포함 된 특별 페이지를 준비했습니다.

link : / excelribbon-ExcelTipsMacros [새 브라우저 탭에서 특별 페이지를 열려면 여기를 클릭하세요].

_ExcelTips_는 비용 효율적인 Microsoft Excel 교육을위한 소스입니다.

이 팁 (12711)은 Office 365의 Microsoft Excel 2007, 2010, 2013, 2016, 2019 및 Excel에 적용됩니다. 여기에서 Excel의 이전 메뉴 인터페이스에 대한이 팁 버전을 찾을 수 있습니다.

link : / excel-Deleting_Duplicate_Text_Values ​​[중복 텍스트 값 삭제].