“중복 제거”를 누르면 표가 깔끔해집니다. 그런데 두 행의 주문번호만 같고 상태가 다르면 어느 쪽을 남겨야 할까요? 하나는 접수, 다른 하나는 완료일 수 있습니다. 같은 번호라는 이유만으로 지우면 가장 최근 정보를 버릴 수도 있습니다.
그래서 이 글에서는 삭제부터 하지 않습니다. 같은 기록이 두 번 들어온 것인지, 서로 다른 내용을 담고 있는지를 먼저 나눕니다. 아래 검사기는 후보를 표시할 뿐 한 행도 지우지 않습니다.
무엇이 같으면 같은 기록인가요?
먼저 비교 키를 고릅니다. 주문번호가 주문 한 건을 유일하게 가리킨다면 키가 될 수 있습니다. 하지만 주문 하나에 여러 상품이 들어 있다면 주문번호와 상품번호를 함께 봐야 합니다. 무엇을 한 건으로 세는지 정하지 않으면 중복 검사는 시작할 수 없습니다.
TRY IT HERE
완전 일치와 내용 충돌을 나눠 보세요.
입력은 현재 탭에서만 처리되며 자동 수정되지 않습니다. 실제 개인정보 대신 예제를 사용하세요.
최대 20만 자 · 원본 자동 수정 없음
세부 데이터·판정 규칙
예제 결과는 세 갈래로 나옵니다.
| 발견한 경우 | 예제 | 다음 판단 |
|---|---|---|
| 완전 일치 | 001의 모든 열이 같음 | 수집 경로·행 수 확인 후 중복 입력 여부 판단 |
| 내용 충돌 | 002의 상태가 pending/done으로 다름 | 변경 시각·원본 기록을 확인 |
| 키 없음 | 마지막 행의 ID가 비어 있음 | 다른 빈 ID와 한 그룹으로 합치지 않고 보류 |
001과 1은 자동으로 합치지 않았습니다. 앞자리 0이 의미 있는 식별자일 수 있기 때문입니다. 공백이나 대소문자도 임의로 지우지 않습니다. 값 정리는 편리하지만, 원본과 다른 값을 만드는 작업이라는 점을 기억해야 합니다.
남길 행은 근거를 보고 고릅니다.
“아래쪽 행이 최신일 것”이라는 추측은 금물입니다. 정렬이나 파일 합치기 과정에서 순서는 쉽게 달라집니다. 변경 시각이 신뢰할 수 있는지, 취소와 완료 중 어느 상태를 우선하는지, 원본 시스템에서 같은 ID가 무엇을 뜻하는지 확인하세요.
- 원본 파일을 복사하고 행 수를 기록합니다.
- 완전 일치 후보와 내용 충돌 후보를 분리합니다.
- 충돌한 행은 원본 조회 결과·판단자·처리 이유를 따로 남깁니다.
- 정리 후 원본 행 수 = 유지 행 + 제외 행이 되는지 대조합니다.
- 다른 표와 연결되는 키가 사라지지 않았는지 확인합니다.
빈 값끼리 같다고 판단하지 않는 이유
ID가 없는 두 행은 같은 사람이나 같은 주문일 수도, 전혀 다른 기록일 수도 있습니다. 확인할 정보가 없을 뿐입니다. “둘 다 비었으니 중복”이 아니라 “키가 없어 판정 불가”라고 남겨야 나중에 되짚을 수 있습니다.
이 글의 재현 자료
전체 자료의 범위·실행 방법·주의사항은 재현 자료 안내에서 한번에 확인할 수 있습니다.
원문과 함께 읽기
중복은 삭제가 아니라 분기 문제입니다.
| 같은 ID | 같은 내용 | 처리 |
|---|---|---|
| 아님 | 아님 | 서로 다른 기록 |
| 아님 | 같음 | 중복 후보로만 표시 |
| 같음 | 같음 | 등록 시간·출처를 보고 병합 여부 결정 |
| 같음 | 다름 | 충돌로 멈추고 원본 확인 |
실무에서 가장 위험한 것은 네 번째입니다. 상태나 금액이 다른데 최신 행만 남기면 뒷행의 값이 정답이라는 근거가 없습니다. 중복 판정 단계에서는 로우를 지우지 말고 서로의 위치와 다른 필드를 기록합니다.
중복 기준을 설명할 수 있어야 합니다.
이름과 날짜를 이어 붙인 값을 키로 쓰면 동명이인이나 시간대 변환에서 충돌할 수 있습니다. 발행 주체가 주는 불변 ID가 있는지 먼저 확인하고, 없다면 어떤 필드 조합을 선택했는지를 편집 기록에 남깁니다. 키 규칙을 바꾸면 과거 데이터 전체를 다시 분류한 결과가 달라질 수 있으므로, 삭제 전에 신구 규칙의 차이를 수치로 비교합니다.


