Excel에서 중복 항목을 확인하는 방법: 모든 방법 설명 (2026)
수백 명의 직원 기록, 고객 이름 또는 판매 항목이 있는 스프레드시트를 눈여겨보고 있는 중인데 뭔가 이상합니다. 어딘가에 중복 값이 있으며, 분석을 왜곡할 수 있기 전에 찾아야 합니다. Excel은 중복을 확인하기 위한 몇 가지 강력한 방법을 제공하며, 적절한 방법은 중복을 강조, 카운트, 필터링, 또는 완전히 제거할 것인지에 따라 달라집니다.
가장 빠른 경로는 조건부 서식입니다. 셀 범위를 선택하고 홈 > 조건부 서식 > 셀 강조 규칙 > 중복 값으로 이동하여 서식 스타일을 선택하고 확인을 클릭하십시오. Excel은 선택한 범위의 원본 데이터를 전혀 변경하지 않고 즉시 모든 중복 값을 강조 표시합니다.
이 기사는 Excel에서 중복 데이터를 다루는 신뢰할 수 있는 모든 방법을 다루며 Excel에서 중복 항목을 효율적으로 확인하는 방법에 대한 일반적인 질문에 답합니다: 조건부 서식을 사용하여 중복을 강조하고, COUNTIF 공식을 사용하여 중복을 계산하며, 고급 필터링을 사용하여 고유 값을 추출하고, 내장된 중복 제거 기능으로 중복 행을 제거하고, 여러 열에 걸쳐 중복을 찾고, 대량 데이터 세트에 대한 Power Query 사용 등을 포함합니다. 문제 해결 섹션은 경계 사례를 다룹니다. 프로그래밍 방식으로 중복 값을 감지하고 관리해야 하는 개발자는 C#에서 IronXL이 이를 처리하는 방법을 보여주는 최종 섹션도 찾을 수 있습니다.
방법을 시작하기 전에 미리 알고 있어야 할 한 가지: 모든 접근 방식이 동일한 방식으로 작동하지는 않습니다. 조건부 서식과 COUNTIF는 원본 데이터를 그대로 둡니다. 중복 제거 기능은 중복 행을 영구적으로 삭제합니다. 파괴적인 방법을 사용하기 전에 항상 데이터를 백업하십시오.
방법 1: 조건부 서식을 사용하여 중복을 강조 표시하기 (가장 빠름)
조건부 서식은 원본 데이터를 변경하지 않고 Excel 워크시트에서 중복 셀을 시각적으로 식별하는 가장 빠른 방법입니다. 선택한 셀 범위의 각 셀에 대해 한 번 이상 나타나는 값에 서식 스타일을 적용합니다.
-
확인할 셀 범위를 선택하세요. 예를 들어, 직원 데이터 파일의 직원 ID 열을 확인하려면 B2:B151을 선택하세요.
-
Excel 리본의 홈 탭으로 이동합니다.
-
스타일 그룹에서 조건부 서식을 클릭합니다.
-
드롭다운 메뉴에서 셀 강조 규칙 위로 마우스를 움직입니다.
-
하위 메뉴에서 중복 값을 선택하세요.
- 대화 상자에서 오른쪽 드롭다운에서 선호하는 서식 스타일을 선택하세요, 예를 들어 연한 빨간색 채우기 또는 노란색 채우기.
- 확인을 클릭합니다.
Excel은 선택한 범위 내에서 중복 값을 포함하는 모든 셀을 즉시 강조 표시합니다. 고유 값은 서식이 적용되지 않은 상태로 남습니다. 아래의 스크린샷에서, B 열의 중복 이름이 빨간색으로 강조되어 있어 데이터를 수동으로 스크롤하지 않고도 모든 150행에서 즉시 볼 수 있습니다.

이미지 대체 텍스트 추가
이 방법이 가장 잘 작동할 때: 이 방법은 단일 열에서 빠르게 시각적 확인을 할 수 있는 것에 이상적입니다, 예를 들어 중복 이름, D 열의 중복 이메일, 혹은 중복 직원 ID를 스캔하는 것. 조건부 서식을 사용하면 원본 데이터를 변경하지 않고 중복 값을 시각적으로 식별할 수 있어, 다음에 무엇을 할지를 결정하기 전에 중복을 쉽게 식별할 수 있습니다. 중복 감지 기능이 내장된 Excel 보고서를 생성하기 위해 IronXL은 C#에서 이러한 검사를 프로그래밍 방식으로 적용할 수 있게 해줍니다.
중요: 이 방법은 정확한 일치에 따라 중복 값을 가진 셀을 강조합니다. 대소문자를 구분하지 않으므로, "JAMES"와 "james"는 중복으로 간주됩니다. 빈 셀은 중복으로 플래그되지 않습니다.
방법 2: COUNTIF으로 중복 수 계산하기
COUNTIF 함수는 각 값이 범위에서 몇 번 나타나는지를 정확히 계산해 줍니다. 이는 중복이 존재하는지 여부뿐만 아니라, 각 항목에 대해 정확히 몇 개의 중복이 있는지, 어느 특정한 행이 영향을 받는지를 알아야 할 때 유용합니다.
- 데이터를 옆에 놓인 빈 셀을 클릭하고, 예를 들어 Z2 셀에 도우미 열을 생성합니다.
- 다음 공식을 입력하세요: =COUNTIF($B$2:$B$151,B2)
- Enter를 누르세요.
- 공식이 나머지 데이터 행으로 복사되도록 Z2부터 Z151까지 복사하세요.
COUNTIF 공식은 A2의 값이 A2에서 A151까지 지정된 범위에 몇 번 나타나는지를 반환합니다. 결과가 1이면 값이 고유하다는 것을 의미합니다. 1보다 큰 결과는 해당 값이 여러 번 나타나며 중복임을 의미합니다. countif 함수는 논리적 맥락에서 부울 값을 반환합니다: 공식이 참을 반환하면 중복 값을 신호하고, 항목이 고유한 경우 거짓을 반환하여 필터링할 데이터를 쉽게 선택할 수 있게 합니다. 범위에 빈 문자열이나 공백이 포함될 경우, 빈 셀 각각은 동일한 값으로 간주되어 여러 공백이 존재하면 행 수가 1보다 크게 반환됩니다. 기준 인수에서 A2와 같은 셀 참조는 항상 상대적이기 때문에 공식이 아래로 복사되면서 올바르게 이동할 수 있습니다.
아래의 스크린샷에서는 Z 열의 도우미 열이 고유한 직원 ID의 경우 1의 개수를 표시하고, 동일한 ID가 여러 번 나타나는 행의 경우 2 이상의 개수를 보여주어 어떤 행이 중복인지, 몇 개의 중복이 존재하는지를 쉽게 식별할 수 있도록 합니다.

이미지 대체 텍스트 추가
두 열에 걸쳐 중복 계산: 여러 기준에 따라 중복을 확인하려면 COUNTIFS 함수를 사용하세요. 예를 들어, =COUNTIFS($B$2:$B$151,B2,$C$2:$C$151,C2)는 이름과 성이 모두 일치하는 행의 수를 반환하여 데이터가 두 열에 걸쳐 있을 때도 중복 이름을 찾는 데 도움이 됩니다.
프로 팁: 첫 번째 발생 이후부터 중복만을 세려면 =COUNTIF($A$2:A2,A2)를 사용하세요. 이 공식은 아래로 복사되며 첫 번째 발생의 경우 항상 1을 반환하고, 반복된 발생만 2 이상을 반환합니다. 이를 통해 각 값의 첫번째 발생을 유지하면서 중복된 행만 식별하고 삭제할 수 있습니다.
방법 3: 중복 행 찾기 위해 필터링하기
처음에 도우미 열에서 COUNTIF를 사용하여 중복 행에 태그를 추가한 후, Excel의 필터 기능을 사용하여 전체 스프레드시트에서 중복 행을 빠르게 격리하고 찾을 수 있습니다.
- 먼저 방법 2를 완료하여 Z 열에 COUNTIF 도우미 열을 추가합니다.
- 데이터 범위의 아무 셀이나, 예를 들어 B2 셀을 클릭합니다.
-
데이터 탭으로 가서 정렬 및 필터 그룹의 필터를 클릭합니다.
- Z 열의 도우미 열 헤더의 드롭다운 화살표를 클릭합니다.
- 1을 선택 해제하고 다른 모든 값을 선택한 상태로 두고, 확인을 클릭합니다.
Excel은 이제 카운트가 1보다 큰 행만 표시합니다. 이것이 중복 행입니다. 필요에 따라 검토, 편집, 삭제할 수 있습니다. 전체 테이블의 중복 행을 찾으려면 필터 기준에서 모든 열을 확인합니다.

이미지 대체 텍스트 추가
고유 레코드를 위한 고급 필터 사용: 대안적인 접근 방식은 데이터 탭에서 고급 필터 옵션을 사용하는 것입니다. 데이터 > 고급으로 가서 "고유 레코드만"을 선택하고 필터를 직접 실행할지 아니면 결과를 새 위치에 복사할지를 선택하세요. 이는 데이터를 직접 필터링하지 않고 고유 레코드를 추출하기 때문에 고유 항목만 볼 필요가 있을 때 더 빠릅니다.
방법 4: 내장 기능으로 중복 제거하기
Excel의 중복 제거 기능은 데이터에서 중복 행을 제거하는 가장 직접적인 방법입니다. 중복 행을 영구적으로 삭제하고 중복 세트의 첫 번째 발생만 남깁니다.
중복 제거 기능을 사용하기 전에 데이터를 백업하십시오. 이 작업은 중복 행을 영구적으로 삭제하며 파일을 저장한 후에는 되돌릴 수 없습니다.
- 데이터 범위 내의 아무 셀이나 선택하세요, 예를 들어 B2을 선택하세요.
-
Excel 리본의 데이터 탭으로 이동합니다.
-
데이터 도구 그룹에서 중복 제거를 클릭합니다.
- 중복 제거 대화 상자에서 검토할 열을 선택. 전체 행을 기준으로 중복 행을 제거하려면 모든 열을 확인하십시오. 직원 ID와 같은 특정 열을 기준으로 중복을 제거하려면 해당 열만 확인하십시오.
- 확인을 클릭합니다.
선택한 열에 따라 중복 행을 모두 제거하고 각 값의 첫 번째 발생만 남깁니다. 최종 결과를 확인하는 대화 상자가 표시됩니다: 몇 개의 중복 값이 발견되고 제거되었는지, 그리고 몇 개의 고유 값이 남았는지.
아래 스크린샷에서는 직원 데이터 파일에서 25개의 모든 열이 나열된 중복 제거 대화 상자를 보여줍니다, 각 열을 확인하거나 확인 취소할 수 있는 옵션과 함께. 확인을 클릭한 후, Excel은 제거된 중복 행의 수와 남아 있는 고유 레코드의 행 수를 보고합니다.

이미지 대체 텍스트 추가
확인할 열 선택: 모든 열을 선택하면 Excel이 모든 필드에서 완전히 동일한 행만 제거하여, 이는 거의 원하지 않는 것입니다. 대부분의 경우 키 식별자 열만 확인하여, A 열의 직원 ID와 같이 데이터 범위의 왼쪽 상단 셀에서 이 단일 열을 기준으로 중복된 행을 제거하면서 나머지 데이터를 그대로 유지합니다. 특정 열에서만 중복 값을 제거하려면 중복 제거 대화 상자에서 해당 열을 확인하고 나머지는 해제하십시오. 이는 나머지 행을 방해하지 않고 원하는 필드에 대해 Excel 스타일로 중복을 제거할 수 있게 해줍니다.
참고: 중복 제거 기능은 삭제하기 전에 행을 미리 보지 않습니다. 중복 행을 삭제하기 전에 검토하려면, 우선 방법 2와 방법 3을 사용하여 확인하고 수동으로 삭제하십시오.
방법 5: COUNTIFS를 사용하여 여러 열에 걸쳐 중복 찾기
단일 열이 아닌 필드 조합을 기준으로 중복을 식별해야 할 때, COUNTIFS 함수는 여러 기준을 한 번에 처리합니다. 첫 이름과 같은 단일 열에는 많지만 실질적으로 중복이 아닌 반복이 많고, 첫 이름과 성의 조합이 고유 레코드를 정의할 때 유용합니다.
- 도우미 열을 추가하세요, 예를 들어 Z2의 Z 열에.
- 공식을 입력하세요: =COUNTIFS($B$2:$B$151,B2,$C$2:$C$151,C2)
- 공식을 Z151까지 아래로 복사하세요.
이 공식은 현재 행의 값과 일치하는 이름과 성이 있는 행의 수를 반환합니다. 1보다 큰 결과는 해당 조합이 중복 입력으로 식별된다는 것을 나타냅니다.
테이블 전체에 걸쳐 더 구체적인 중복 감지를 위해 COUNTIFS 공식을 부서와 같이 추가 열을 포함하도록 확장할 수 있으며, 이는 동일한 날짜를 공유하는 중복 항목을 찾고자 할 때 유용합니다. COUNTIFS와 같은 Excel 공식은 이 종류의 작업에 가장 유연한 도구 중 하나로, 정의하는 기준 조합에 대한 수를 반환합니다.

이미지 대체 텍스트 추가
방법 6: Power Query를 사용하여 대량 데이터 세트에서 중복 제거하기
Power Query는 10,000행 이상 대량 데이터 세트의 중복을 제거하는 데 권장됩니다. 이는 내장 중복 제거 기능보다 복잡한 중복 시나리오를 더 효율적으로 처리하며, 원본 데이터를 직접 변경하는 대신 별도의 쿼리로 원본 데이터를 보호합니다.
- 데이터 범위의 아무 셀이나 클릭하세요, 예를 들어 B2.를 클릭합니다.
-
데이터 탭으로 이동해 테이블/범위에서 가져오기를 클릭합니다. 머릿글이 포함되어 있는지 확인하라는 메시지가 나타나면 확인하세요.
- Power Query 편집기가 열립니다. 중복을 확인하고자 하는 열을 선택하세요, 예를 들어 직원 ID 열을.
- 열 헤더를 마우스 오른쪽 버튼으로 클릭하고 중복 제거를 선택하세요.
- Power Query 편집기 Home 탭의 닫기 및 로드를 클릭하여 중복이 제거된 결과를 새 시트에 로드합니다.
Power Query 편집기는 선택한 열을 기준으로 중복 행을 삭제하며, 첫 번째 발생만 유지하여 데이터가 별도의 쿼리에 로드됩니다. 결과는 새 시트의 새 위치에 로드되므로 원본 데이터는 수정되지 않습니다.

이미지 대체 텍스트 추가
Excel 365와 UNIQUE 함수: Excel 365 사용자는 또한 워크시트에서 데이터 집합의 고유 값만 직접 추출하는 UNIQUE 함수를 사용할 수 있습니다. 공식 =UNIQUE(A2:A151)는 직원 ID 열에서 고유 값을 하나의 단계로 반환하며, Power Query 편집기를 열지 않아도 됩니다. 이는 중복 관리와 고유 레코드를 병행하기 위한 정교한 방법입니다.
일반적인 문제 및 문제 해결
조건부 서식은 중복으로 보이지 않는 셀을 플래그합니다
조건부 서식은 대소문자를 구분하지 않으며 비교 전에 공백을 제거합니다. 두 셀이 다르게 보이지만 플래그가 설정되어 있다면, TRIM 함수 또는 찾기 및 바꾸기를 사용하여 숨김 문자를 확인하세요.
중복 제거 기능에서 "중복이 없다"고 하지만 동일한 값을 볼 수 있음
모든 선택된 열에 대해 비교는 정확합니다. 모든 열을 확인한 경우, 행은 모든 필드에서 완전히 동일해야 플래그가 설정됩니다. 키 열만 확인하여 기준을 좁혀보세요.
COUNTIF이 모든 항목에 대해 1을 반환하지만 중복이 보임
범위 인수가 올바르게 고정되어 있지 않을 수 있습니다. 범위가 $A$2:$A$151과 같이 절대 참조를 사용하는지 확인하면서, 기준이 A2와 같은 상대 참조를 사용하는지 확인합니다. 고정된 참조가 없으면 공식이 아래로 복사될 때 축소되고 행을 놓칩니다.
Power Query가 내 Excel 버전에 없습니다
Power Query는 Windows의 Excel 2016 이후 버전과 Mac의 Excel 2019 이후 버전에서 제공됩니다. Windows의 Excel 2010 및 2013에서는 무료 Microsoft 부가 기능으로 제공됩니다.
조건부 서식은 빈 셀을 중복으로 강조 표시합니다
범위에 여러 공백 셀이 포함되면, Excel은 기본적으로 이를 동일한 값으로 취급합니다. 선택한 범위의 비어 있지 않은 셀에 대해서만 적용되는 COUNTIF 공식을 사용한 사용자 정의 규칙을 사용하세요: =COUNTIF($A$2:$A$151,A2)>1.
올바른 방법 선택: 빠른 참조
| 목표 | 수행할 것 | |---|---| |데이터를 변경하지 않고 중복 값을 시각적으로 강조 표시|홈 > 조건부 서식 > 셀 강조 규칙 > 중복 값| |각 값이 나타나는 횟수 세기|보조 열에 =COUNTIF($A$2:$A$151,A2) 사용| |중복 행만 표시하도록 필터링|COUNTIF 보조 열 추가 후 해당 열에 필터 적용| |중복 행을 영구적으로 제거|데이터 탭 > 중복 제거 (데이터를 먼저 백업하세요)| |여러 열에 걸쳐 중복 찾기|각 관련 열에 대한 기준으로 =COUNTIFS() 사용| |1만 행 이상의 대량 데이터셋 처리|데이터 탭 > 표/범위에서 > 파워 쿼리 편집기 > 중복 제거| |Excel 365에서 고유 값만 추출|워크시트에서 =UNIQUE(range) 직접 사용|
개발자를 위한: IronXL로 중복 값 감지 및 처리
응용 프로그램이 Excel 파일을 자동으로 처리하는 경우, 데이터 파이프라인의 일환으로 중복 데이터를 확인하고 제거해야 할 때가 자주 있습니다. IronXL은 셀 값을 읽고 프로그래밍적으로 비교하며 서버에 Microsoft Office가 설치되지 않은 상태에서 C#에서 중복 행을 제거하는 명확한 API를 제공합니다.
C#에서 직원 ID 열을 기준으로 중복 행을 찾고 제거하는 방법은 다음과 같습니다.
using IronXL;
using System.Collections.Generic;
using System.Linq;
WorkBook workBook = WorkBook.Load("employee_data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;
var seen = new HashSet<string>();
var rowsToDelete = new List<int>();
// Start from row 2 to skip the header row
for (int i = 2; i <= 151; i++)
{
string cellValue = sheet[$"A{i}"].StringValue;
if (!seen.Add(cellValue))
{
// Value already seen, this is a duplicate row
rowsToDelete.Add(i);
}
}
// Delete duplicate rows in reverse order to preserve row numbers
foreach (int rowIndex in rowsToDelete.OrderByDescending(r => r))
{
sheet.RemoveRow(rowIndex);
}
workBook.SaveAs("employee_data_deduplicated.xlsx");
using IronXL;
using System.Collections.Generic;
using System.Linq;
WorkBook workBook = WorkBook.Load("employee_data.xlsx");
WorkSheet sheet = workBook.DefaultWorkSheet;
var seen = new HashSet<string>();
var rowsToDelete = new List<int>();
// Start from row 2 to skip the header row
for (int i = 2; i <= 151; i++)
{
string cellValue = sheet[$"A{i}"].StringValue;
if (!seen.Add(cellValue))
{
// Value already seen, this is a duplicate row
rowsToDelete.Add(i);
}
}
// Delete duplicate rows in reverse order to preserve row numbers
foreach (int rowIndex in rowsToDelete.OrderByDescending(r => r))
{
sheet.RemoveRow(rowIndex);
}
workBook.SaveAs("employee_data_deduplicated.xlsx");
Imports IronXL
Imports System.Collections.Generic
Imports System.Linq
Dim workBook As WorkBook = WorkBook.Load("employee_data.xlsx")
Dim sheet As WorkSheet = workBook.DefaultWorkSheet
Dim seen As New HashSet(Of String)()
Dim rowsToDelete As New List(Of Integer)()
' Start from row 2 to skip the header row
For i As Integer = 2 To 151
Dim cellValue As String = sheet($"A{i}").StringValue
If Not seen.Add(cellValue) Then
' Value already seen, this is a duplicate row
rowsToDelete.Add(i)
End If
Next
' Delete duplicate rows in reverse order to preserve row numbers
For Each rowIndex As Integer In rowsToDelete.OrderByDescending(Function(r) r)
sheet.RemoveRow(rowIndex)
Next
workBook.SaveAs("employee_data_deduplicated.xlsx")
코드는 직원 ID 열(열 A)의 각 값을 읽고, HashSet을 사용하여 이미 본 값을 추적하며, 동일한 값이 다시 나타난 행을 중복으로 표시합니다. 행은 행의 인덱스가 변경되지 않도록 반대 방향으로 삭제됩니다.
삭제 대신 배경색으로 중복 값을 강조 표시하려면, IronXL의 조건부 서식 API를 사용하여 Excel의 기본 셀 강조 규칙 기능의 시각적 출력을 일치시키는 형식 규칙을 프로그래밍적으로 적용할 수 있습니다.
IronXL은 또한 Excel 데이터 읽기 및 쓰기, 셀 서식 및 스타일링, 서버에 Microsoft Office가 설치되어 있지 않은 상태에서 대용량 워크북을 처리합니다.
시작하기: Install-Package IronXL.Excel 명령을 사용하여 NuGet을 통해 IronXL을 설치하고 무료 체험판을 시작하세요. IronXL은 .NET 6+에서 실행되며, Windows, Linux, macOS, Docker, Azure, AWS와 호환됩니다.
마무리
Excel에서 중복을 확인하는 것은 고객 목록을 정리하든 직원 기록을 확인하든 분석을 위해 데이터를 준비하든 자주 필요한 작업입니다. 빠르게 시각적으로 확인하려면 조건부 서식이 가장 빠른 답입니다: 선택한 범위 전체의 모든 중복 값을 원본 데이터에 영향을 주지 않고 강조합니다. .NET에서 이를 자동으로 처리하는 개발자를 위해 IronXL은 서버에 Microsoft Office 없이 프로그래밍적으로 중복을 감지하고 제거하는 도구를 제공합니다.
정확하게 중복 값을 찾으려면, COUNTIF 및 COUNTIFS를 사용하여 발생 횟수를 세고, 특정 행을 식별하고, 해당 주위에 필터를 구축할 수 있습니다. 중복 행을 영구적으로 제거할 준비가 되면, 데이터 탭의 중복 제거 기능이 몇 번의 클릭으로 처리하며, 성능과 비파괴 처리가 중요한 대량 데이터셋의 경우 Power Query가 더 나은 도구입니다. 어느 방법을 선택하든 먼저 원본 데이터를 백업하세요.




