본문으로 건너뛰기
엑셀·구글시트 자동화 실험

엑셀·구글시트 자동화 실험No. 344

중복 값 찾고 지우는 순서와 삭제 전에 확인할 기준

같은 색으로 표시된 중복 셀

같은 값인데 지워도 되는지 애매한 상황

중복을 판단할 때 먼저 구분할 대상은 ‘같은 셀 값’과 ‘같은 기록’입니다. 상품명이 같아도 주문번호가 다르면 별도 거래입니다. 반대로 주문번호와 상품코드가 모두 같은 행은 중복 여부를 살펴볼 대상입니다. 이름이나 품목처럼 반복이 자연스러운 열만 선택하면 정상적인 기록까지 삭제 대상으로 묶일 수 있습니다.

예를 들어 상품코드, 주문번호, 수량이 들어 있는 목록을 정리한다고 가정합니다. 상품코드만 같으면 같은 상품의 여러 주문이 함께 묶입니다. 주문번호와 상품코드를 함께 비교하면 주문 안에서 같은 상품이 반복됐는지 확인할 수 있습니다. 다만 한 주문을 나누어 기록하는 방식이라면 출고 구분 같은 추가 기준이 필요합니다.

빈칸도 따로 살펴야 합니다. 코드가 비어 있는 행끼리 묶였다고 해서 같은 기록이라는 뜻은 아닙니다. 입력이 끝나지 않은 행인지, 값을 가져오는 과정에서 누락된 것인지 먼저 확인합니다. 관리번호가 있는 자료는 그 번호를 중심으로 판단하고, 번호가 없다면 기록을 구분하는 데 필요한 열의 조합을 정합니다.

이 단계에서 남길 행의 기준도 함께 적어 둡니다. 먼저 입력된 기록을 남길지, 수정일이 최근인 기록을 남길지에 따라 정리 결과가 달라집니다. 내용이 서로 충돌하면 자동으로 하나를 고르지 않고 검토 대상으로 분리합니다.

관리번호와 색으로 구분된 셀

짚고 가기

남길 기준과 표시 확인

  • 남길 기록의 우선순위 정하기
  • 충돌하는 내용은 검토로 분리
  • 색이 붙은 셀은 검토 후보

색으로 찾는 첫 번째 시도

처음에는 중복 표시 기능으로 겹치는 셀을 찾는 방식이 편리합니다. 엑셀의 조건부 서식에서 중복 값을 표시하면 반복된 항목을 눈으로 살펴볼 수 있습니다. 이때 제목 행과 불필요한 빈 영역을 제외하고 실제 데이터 범위를 선택합니다. 색이 붙은 셀은 검토할 후보이며, 삭제할 행이 확정됐다는 뜻은 아닙니다.

구글시트에서는 조건부 서식에 COUNTIF 수식을 적용하는 방법을 사용할 수 있습니다. 예를 들어 A열의 A2부터 A1000까지 비교한다면 =AND(A2<>"",COUNTIF($A$2:$A$1000,A2)>1)을 사용합니다. 적용 범위도 A2:A1000으로 맞춥니다. 이 수식은 빈 셀을 제외하고 범위 안에서 같은 값이 반복되는 셀을 찾는 방식입니다.

여기서 주의할 부분은 같은 값이 있는 셀이 모두 표시된다는 점입니다. 남길 셀 하나를 알아서 구별해 주지는 않습니다. 따라서 색이 있는 행을 한꺼번에 삭제하면 원래 남겨야 할 기록까지 없어질 수 있습니다. 표시 결과를 기준 열과 함께 읽고, 반복이 정상인지부터 판단합니다.

또한 눈으로 같아 보이는 값이 서로 다르게 저장될 수 있습니다. 앞뒤 공백이나 숫자와 텍스트의 혼용이 대표적입니다. 표시가 예상과 다르면 바로 삭제 기능으로 넘어가지 않고 값의 상태를 확인합니다. 상품코드의 앞자리 0처럼 의미가 있는 문자는 정리 과정에서 사라지지 않도록 주의합니다.

앞뒤로 초점이 다른 상품코드

Q중복 표시가 예상과 다르면?

공백과 값의 저장 상태를 확인하고 삭제 기준은 따로 정합니다.

중복 표시는 검토할 대상을 찾는 과정이며, 삭제 기준은 따로 정해야 합니다.

여러 열을 함께 보는 두 번째 시도

한 열만 비교해서 판단이 어려우면 보조 열을 만들어 조건을 나누어 확인합니다. 주문번호가 A열, 상품코드가 B열이라면 =COUNTIFS($A$2:$A$1000,A2,$B$2:$B$1000,B2)로 두 값이 함께 같은 행의 수를 셀 수 있습니다. 결과가 1보다 크면 해당 조합이 반복된다는 뜻입니다. 비교 범위는 실제 자료의 마지막 행에 맞춰 조정합니다.

전체 반복 횟수와 삭제 후보를 구별하는 것도 필요합니다. =COUNTIFS($A$2:A2,A2,$B$2:B2,B2)처럼 시작 행을 고정하고 끝 행만 늘리면 현재 행까지 같은 조합이 나온 횟수를 계산합니다. 첫 번째 기록은 1, 뒤에 나오는 같은 조합은 그보다 큰 값이 됩니다. 이 방식은 현재 정렬 순서를 기준으로 앞선 행을 남길 때 활용합니다.

모든 열의 내용이 같은 경우는 비교적 판단이 쉽습니다. 식별값은 같고 수정일만 다른 경우는 어느 시점의 내용을 남길지 정해야 합니다. 식별값은 같은데 수량이나 상태가 다른 경우는 실제 변경 기록일 수 있으므로 일괄 삭제를 멈추고 차이를 확인합니다. 같은 조합이 반복된다는 사실만으로 입력 오류라고 단정하지 않습니다.

공백을 정리할 때도 원본 열을 곧바로 덮어쓰지 않습니다. 보조 열에서 정리한 값과 기존 값을 나란히 비교합니다. TRIM으로 정리되는 일반 공백도 있지만, 다른 종류의 공백 문자나 줄바꿈은 따로 확인해야 합니다. 서로 다른 값을 억지로 같게 만드는 정리는 피합니다.

선반 사이로 보이는 서류함

하나씩 확인

정리와 삭제 전 점검

  • 보조 열에서 정리한 값 비교
  • 전체 데이터 범위 선택
  • 비교 기준으로 쓸 열 지정
  • 한 행을 하나의 기록으로 처리

기준을 정한 뒤 삭제하는 쪽

실제 삭제는 원본 사본에서 진행합니다. 중복 제거 기능을 사용할 때는 관련 열을 포함한 전체 데이터 범위를 먼저 선택하고, 그 안에서 비교 기준으로 쓸 열을 지정합니다. 상품코드 열만 따로 정리하면 다른 열의 내용과 행 관계가 어긋날 수 있으므로, 한 행을 하나의 기록으로 다룹니다.

  1. 원본 시트를 복사하고 작업 범위 확인
  2. 중복 판단에 사용할 열과 빈칸 처리 기준 결정
  3. 남길 기록의 우선순위에 맞춰 전체 행 정렬
  4. 보조 열이나 중복 표시로 삭제 후보 검토
  5. 사본에서 중복 제거 후 행 수와 내용 대조

최근 기록을 남기려면 날짜가 실제 날짜 값으로 저장됐는지 확인한 뒤 최신 항목이 앞에 오도록 정렬합니다. 날짜가 같을 때 적용할 기준도 필요합니다. 정렬할 때는 날짜 열만 움직이지 않고 관련 열을 함께 이동합니다. 보조 수식으로 후보를 찾았다면 정렬 후 결과가 의도와 맞는지도 다시 확인합니다.

삭제 기능을 실행하기 전에는 제목 행을 데이터로 처리하지 않았는지 확인합니다. 선택한 기준 열이 달라지면 삭제 대상도 달라집니다. 실행 결과에 표시되는 제거 개수만 보고 끝내지 않고, 남은 기록이 처음 정한 우선순위를 따르는지 살펴봅니다.

원본을 유지하면서 고유한 목록만 필요하다면 UNIQUE 함수로 별도 영역에 결과를 만드는 방법도 있습니다. 다만 선택한 범위 전체를 기준으로 서로 다른 행을 구분하므로, 식별값이 같아도 다른 열의 내용이 다르면 별도 행으로 남을 수 있습니다. 특정 기준에 따라 최신 기록 하나를 남기는 작업과는 구분합니다.

같은 높이로 나란히 세운 파일철

주의할 점

삭제 전후 확인

  • 고유 목록과 최신 기록 구분
  • 삭제 전 남길 행의 기준 결정
  • 삭제 후 원본과 결과 대조
삭제 전에는 남길 행의 기준을 정하고, 삭제 후에는 원본과 결과를 대조합니다.

다음에는 입력 단계부터 바꿀 부분

정리가 끝나면 작업 전 행 수에서 작업 후 행 수를 뺀 값과 실제 제거된 행 수가 맞는지 확인합니다. 제목 행은 계산에서 제외합니다. 이어서 삭제 후보로 분류했던 항목을 원본과 대조해 정상 기록이 남아 있는지 살펴봅니다. 합계가 있는 자료라면 수량과 금액도 함께 비교하되, 합계가 달라진 이유가 제거 대상과 일치하는지 확인합니다.

매번 같은 정리를 반복한다면 입력 규칙을 먼저 손보는 편이 낫습니다. 식별값 열의 형식을 통일하고, 수정일과 상태를 별도 열에 기록합니다. 외부에서 가져오는 자료는 가져온 날짜를 남기면 기존 기록과 새 기록을 구분하는 데 도움이 됩니다. 공백 제거 같은 전처리 규칙도 작업마다 달라지지 않도록 적어 둡니다.

수식 범위도 점검 대상입니다. 예시처럼 마지막 행을 고정한 수식은 그 아래에 추가된 기록을 비교하지 못합니다. 자료를 붙여 넣은 뒤에는 적용 범위가 새 행까지 이어지는지 확인합니다. 자동화할 때도 이 확인이 빠지면 화면에 보이는 일부 기록만 정리될 수 있습니다.

엑셀·구글시트 자동화 실험에서 정리할 기준은 분명합니다. 같은 기록의 정의와 남길 순서를 먼저 고정하고, 그다음 반복 작업을 줄이는 방식입니다. 기준이 애매한 항목은 검토용으로 남깁니다. 삭제 버튼을 누르는 속도보다, 남은 자료를 같은 기준으로 설명할 수 있는 상태를 만드는 데 초점을 둡니다.

목록으로

이 글은 엑셀·구글시트 자동화 실험에서 발행했습니다. 인용·링크는 자유롭고, 본문·그림의 복제 게시는 삼가 주세요.