Epix / 업무자동화

구글시트 중복 제거 방법: 기준 열 선택·원본 보존·공백 정리

구글시트 중복 제거는 ‘같은 행’과 ‘같은 기준 키’를 구분하는 데서 시작합니다. 원본 사본에서 비교 열·머리글·예상 행 수를 확인하고, 삭제 전 UNIQUE 또는 보조 열로 결과를 미리 검토하세요.

Google Sheets 컴퓨터 화면 기준 · 모든 예시는 합성 데이터 · 공식 도움말 확인: 2026년 10월 9일

구글시트에서 중복 행을 지우기 전에 ‘어떤 열이 같으면 같은 기록인가’를 먼저 정하세요. 원본 탭을 복제한 다음 표 전체 범위를 선택하고 데이터 → 데이터 정리 → 중복 항목 삭제에서 머리글 여부와 비교할 열을 고릅니다. 모든 열을 비교하면 완전히 같은 행만, 이메일 같은 기준 열 하나만 비교하면 그 값이 같은 행 전체가 중복 후보가 됩니다. 삭제 전에 결과를 미리 보려면 UNIQUE 또는 보조 열을 사용하세요. Google 공식 절차는 컴퓨터 기준이며, 단일 셀만 선택해도 그 셀이 속한 전체 범위에서 중복을 정리할 수 있으므로 작업 범위를 꼭 확인해야 합니다.

Google Sheets에서 중복 행을 지우기 전 원본 복사, 비교 키 선택, 행 수 검수
중복 제거의 기준은 열 선택에서 결정되고, 삭제되는 것은 기준이 일치한 전체 행입니다.

1. 어떤 기록을 중복으로 볼지 먼저 정합니다

‘중복’은 값 자체만으로 정해지지 않습니다. 같은 고객이 여러 번 문의했으면 문의 행이 여러 개 있는 것이 정상일 수 있습니다. 반면 같은 파일을 내려받다가 똑같은 행을 두 번 붙여 넣었다면 한 행을 제거하고 싶을 수 있습니다. 버튼을 누르기 전에 한 행이 업무에서 무엇을 뜻하는지 정하세요.

원하는 결과비교 기준주의할 점
복사되어 들어간 완전 동일 행만 제거모든 데이터 열상태·날짜 등 한 값이라도 다르면 다른 행으로 남습니다.
고객·상품 등 키마다 한 행만 남기기업무 규칙상 유일한 ID 한 열ID가 같아도 주문·이력 행이 여러 개라면 삭제하면 안 됩니다.
같은 ID와 날짜 조합만 중복 처리ID + 날짜 두 열체크한 열 조합이 같으면 선택하지 않은 상태 열이 달라도 전체 행이 제거될 수 있습니다.
누락된 원본을 살리며 고유 결과 만들기별도 탭의 UNIQUE 또는 FILTER결과는 원본과 연결된 계산값입니다. 원본을 직접 정리하지 않습니다.

이름이나 이메일이 같다는 이유만으로 삭제하지 마세요. 동명이인, 팀 공용 주소, 여러 주문·문의 이력은 같은 값이 반복되어도 정상일 수 있습니다. 한 사람·한 제품을 구분하는 고유 ID가 있는지, 같은 사람이 여러 행을 가져도 되는 업무인지 먼저 확인하세요.

Google Sheets 도움말은 중복 제거 대화상자에서 지정한 열을 검사한다고 안내합니다. 비교 열의 조합과 실제로 삭제될 전체 행을 혼동하지 마세요. 여러 열을 체크하면 모두 같은 조합이 기준이고, 체크하지 않은 열의 내용도 그 행과 함께 없어질 수 있습니다.

2. 연습 데이터와 예상 결과부터 확인합니다

아래는 담당자·기준 키·상태·수정일로 만든 가상 문의 기록 8행입니다. 3행과 6행은 네 열 값이 모두 같은 복사본입니다. shared-key는 담당자 B와 C가 함께 쓰고, B의 상태는 날짜에 따라 바뀝니다. 공개 페이지에서 예시 문자열이 이메일 주소처럼 자동 가려지지 않도록 연습 키에는 주소 형식을 쓰지 않았습니다.

연습용 CSV 내려받기 · Google Sheets에서 가져온 뒤 사본 탭에서 시험하세요.

담당자기준 키상태수정일
담당자 Aalpha-key문의2026-10-01
담당자 Bshared-key문의2026-10-02
담당자 Aalpha-key완료2026-10-05
담당자 Cshared-key문의2026-10-04
담당자 Bshared-key문의2026-10-02
담당자 Bshared-key결제2026-10-08
담당자 Ddelta-key문의2026-10-09
담당자 Eecho-key문의2026-10-09

모든 열을 비교하면 완전히 같은 문의 복사본 한 행만 빠져 8행에서 7행이 남습니다. 기준 키만 비교하면 키가 네 종류이므로 행 수가 네 개로 줄 수 있지만, 서로 다른 담당자 B와 C의 기록까지 같은 것으로 취급합니다. 한 키가 한 사람만 가리키는 업무 규칙이 없다면 기준 키만으로 정리하면 안 됩니다.

연습 CSV에는 실제 사람·고객 정보가 없습니다. 파일을 가져온 뒤 날짜가 텍스트로 보이면 정렬하기 전에 날짜 형식을 확인하세요. 예제의 연-월-일 표기는 비교와 검수용이며, 계정의 지역 설정에 따라 표시 모양은 달라질 수 있습니다.

  1. 원본을 보존합니다. 탭 이름 옆 메뉴에서 시트를 복제하거나 파일 사본을 만듭니다. 원본을 바로 덮어쓰지 말고 복제본에서 진행하세요.
  2. 정리할 표 전체를 선택합니다. 머리글부터 마지막 데이터 열까지 포함합니다. Google 도움말에 따르면 범위 안의 셀 하나만 선택해도 그 셀이 들어 있는 범위의 중복 행이 처리될 수 있습니다. 다른 표가 같은 시트에 있으면 셀 하나만 선택하는 방법을 쓰지 말고 경계 범위를 직접 지정하세요.
  3. 메뉴를 엽니다. 컴퓨터 화면에서 데이터 → 데이터 정리 → 중복 항목 삭제를 선택합니다. 계정 표시 언어나 메뉴 개편에 따라 문구는 조금 다를 수 있습니다.
  4. 머리글을 확인합니다. 첫 행이 ‘담당자·기준 키’ 같은 열 제목이면 머리글 옵션을 켭니다. 머리글이 중복 검사에 들어가면 안 됩니다.
  5. 비교할 열을 고릅니다. 완전히 같은 복사 행만 없애려면 데이터 열을 모두 포함합니다. 한 사람당 한 행이 규칙이고 사번 열이 신뢰할 수 있다면 사번만 비교합니다. 이메일처럼 공유될 수 있는 값은 단독 기준으로 고르지 않습니다.
  6. 제거 결과를 확인합니다. 대화상자가 보고하는 제거 행 수를 예상과 대조합니다. 연습 데이터에서 모든 열 기준은 1행 제거가 예상됩니다. 기준 키만 선택해 4행이 제거되면, 실습에서 다른 담당자·상태 기록까지 합쳐졌다는 뜻입니다.

Google의 공식 도움말은 범위, 머리글 여부, 검사할 열을 지정하는 방법과 대소문자·서식·수식이 달라도 값이 같으면 중복으로 간주하는 동작을 설명합니다. 도움말이 모든 업무의 ‘남길 행’ 우선순위를 대신 정해 주지는 않으므로, 변경 이력이 중요한 표에서는 실행 전에 복사본에서 기준과 결과를 검토하세요.

협업 중인 원본 탭에서 곧바로 실행하지 마세요. 중복 제거는 보기에서 행을 숨기는 필터와 다릅니다. 결과 표에서 행 자체가 사라지므로, 공유 파일에서는 사본·작업 시간·검수 담당자를 정하고 다른 편집자가 동시에 입력 중인지 확인하세요.

4. 기준 열 하나 또는 여러 열만 비교합니다

여러 열로 업무 키를 만들 수 있습니다. 예를 들어 같은 제품 ID가 날짜별로 매일 나타나는 재고표라면 제품 ID만으로 제거하면 서로 다른 날짜 기록까지 지울 수 있습니다. ‘제품 ID + 집계 날짜’ 조합으로 비교해야 같은 날 같은 제품 행만 중복이 됩니다.

연습 데이터에서 기준 키와 상태 조합을 검사하면 같은 키라도 상태가 다른 행은 서로 다른 조합으로 남습니다. 반대로 수정일을 키에 넣으면 매번 다른 날짜의 이력이 각각 남습니다. 어떤 열을 체크하느냐에 따라 결과 행 수가 달라지므로, 다음처럼 실행 전에 예상치를 적어 두세요.

검사 열연습 데이터에서 같은 조합실행 판단
담당자·기준 키·상태·수정일 모두B의 10월 2일 문의 행이 두 번 있음복사 행 1개만 제거
담당자 + 기준 키A 두 행, B 두 행이 각각 일치상태·수정일 이력을 지워도 되는지 확인
기준 키만공용 키가 B·C에 함께 사용됨한 키를 한 사람으로 합쳐도 되는 업무에만 사용
기준 키 + 상태B의 문의 기록은 같은 조합으로 반복됨날짜가 다른 문의 행을 하나로 합쳐도 되는지 확인

한 열의 값 목록만 고유하게 보고 싶다면 =UNIQUE(B2:B9)처럼 그 열만 전달할 수 있습니다. 이것은 기준 키 목록만 출력할 뿐 원래 담당자·상태·수정일 행을 선택해 주지 않습니다. 전체 기록을 내보내야 한다면 한 열의 고유 목록을 원본 데이터와 혼동하지 말고, 고유 키와 보존할 행을 별도로 결정하세요.

5. 최신 기록을 남기려면 후보를 먼저 미리 봅니다

같은 키에서 최신 상태 하나만 남기고 싶으면 중복 키 자체보다 ‘어느 행을 보존할지’가 먼저입니다. 예를 들어 결제 상태가 문의 상태보다 최신이면, 이메일이 같다는 이유로 예전 문의를 남기면 안 됩니다. 반대로 공용 주소를 쓰는 서로 다른 담당자를 하나로 만드는 것도 잘못입니다.

  1. 원본 탭을 복제하고, 유일성 기준으로 합의된 ID를 찾습니다. 없다면 담당자·날짜처럼 함께 확인할 열을 정의하고 합성 키가 충돌하지 않는지 표본을 검토합니다.
  2. 수정일을 최신순으로 정렬할 계획이면 표의 모든 열을 함께 정렬합니다. 날짜 열만 단독으로 정렬하면 상태와 담당자 데이터가 다른 행과 섞입니다.
  3. 아래 보조 열 수식으로 정규화된 키와 첫 출현 행을 표시합니다. 가장 최근 행이 위에 오도록 전체 표를 정렬한 뒤 수식을 적용하면, 미리보기에서 각 키의 첫 행만 남게 됩니다.
  4. 필터 결과의 키별 수정일·상태가 기대와 맞는지 원본과 비교합니다. 수정 시각이 같은 행의 우선순위, 취소·환불 같은 예외는 별도 규칙이 필요합니다.

Google 공식 제거 도움말은 비교 열을 고르는 절차를 설명하지만, 변경 이력이 있는 행 중 어떤 것을 남길지에 대한 업무 우선순위까지 정의하지 않습니다. 최신 값을 보존해야 하는 자료는 ‘정렬하면 최신이 자동 보존된다’고 가정하지 말고 아래의 비파괴 수식으로 결과를 먼저 뽑아 확인하세요.

6. UNIQUE와 COUNTIF로 원본을 보존합니다

모든 열이 같은 복사 행만 새 결과 탭에서 한 번씩 보기

원본 행을 삭제하지 않고 전체 행 조합을 고유하게 반환하려면 빈 탭의 A2처럼 충분히 비어 있는 영역에서 입력합니다. A:D가 담당자·기준 키·상태·수정일인 연습표라면 다음과 같습니다.

=UNIQUE(A2:D9)

결과는 원본에서 처음 등장한 순서를 유지하고, 서로 완전히 같은 행 조합은 한 번만 반환합니다. 출력 영역 아래·오른쪽에 값이 있으면 배열 결과가 펼쳐지지 않을 수 있으니 빈 공간에서 시작하세요. Google 공식 설명에서 UNIQUE는 원본 범위의 고유 행을 처음 나타난 순서대로 돌려줍니다. 기준 열 하나로 전체 레코드를 골라 주는 기능과는 다릅니다.

하나의 키에서 첫 행만 미리 보기

B열 값이 실제로 유일한 업무 키인 경우에만 아래처럼 사용합니다. 기준 키를 공백과 대소문자 차이가 정리된 F열에 만들고, G열에서 현재 위쪽 범위에 첫 번째로 등장한 행을 표시합니다. 수식을 2행에 넣고 9행까지 채우세요.

F2: =LOWER(TRIM(SUBSTITUTE(B2,CHAR(160)," ")))
G2: =IF(F2="","",COUNTIF($F$2:F2,F2)=1)

작업 순서가 중요합니다. 최신 행을 남기려면 먼저 원본 복제본의 전체 행을 수정일 내림차순으로 정렬한 다음 보조 열을 채우세요. G열이 TRUE인 행만 별도 영역에 모으려면 다음 수식을 쓰면 됩니다.

=IFNA(FILTER(A2:D9,G2:G9=TRUE),"남길 행 없음")

이 출력은 원본에서 첫 번째인 행을 고르므로, 정렬 순서가 최신 우선일 때 최신 행이 먼저 보입니다. 이 방식도 ID가 같은 것이 한 개로 합쳐도 되는 한 개체라는 업무 규칙을 전제로 합니다. 연습표처럼 기준 키를 공유하는 서로 다른 담당자가 있으면 그 키만으로는 사용하지 마세요.

두 열 조합의 중복 후보를 표시

예를 들어 이메일과 수정일이 동시에 같을 때만 두 번째 이후 행을 후보로 표시하려면 H2에 아래 수식을 넣어 채웁니다. TRUE는 현재 행보다 위에서 같은 이메일·날짜 조합을 이미 발견했다는 뜻입니다.

=IF(OR(B2="",D2=""),"",COUNTIFS($B$2:B2,B2,$D$2:D2,D2)>1)

이 수식은 화면에서 후보를 확인하는 보조표입니다. TRUE를 바로 삭제하지 말고 업무 키·행 수·나머지 열의 값이 기준과 맞는지 확인하세요. 시트의 지역 설정이 달라 함수 인수 구분자가 쉼표가 아니라 세미콜론이면 쉼표를 세미콜론으로 바꿔 입력할 수 있습니다. 구분자와 괄호 오류는 Google Sheets 수식 분석 오류 진단에서 별도로 확인하세요.

COUNTIF와 COUNTIFS의 텍스트 비교는 대소문자를 구분하지 않습니다. 또한 기준 문자열의 *와 ?는 와일드카드로 해석될 수 있습니다. 코드 값이 이 기호를 포함하거나 대소문자 구분 자체가 식별 규칙이면 수식 결과를 원본의 정확한 ID 비교와 대조하세요.

7. 공백·대소문자·숨은 문자를 정리합니다

보기에 같은 값인데 중복으로 잡히지 않는다면 먼저 앞뒤·반복 공백과 숨은 문자를 확인합니다. Google의 데이터 정리 메뉴에서 공백 다듬기를 적용할 수도 있지만, 공식 도움말은 줄바꿈 없는 공백(non-breaking space)은 이 메뉴로 제거되지 않는다고 안내합니다. 웹사이트나 CSV에서 복사해 온 값은 보통 공백과 다른 문자가 섞일 수 있습니다.

  • 앞뒤·연속 일반 공백: 보조 열에서 =TRIM(B2)로 정리 결과를 비교합니다. TRIM은 문장 사이 일반 공백은 하나 남기고 앞뒤와 반복 공백을 정리합니다.
  • 줄바꿈 없는 공백: 예시 수식처럼 SUBSTITUTE(B2,CHAR(160)," ")로 일반 공백으로 바꾼 다음 TRIM을 적용합니다. 값이 바뀌지 않으면 다른 보이지 않는 유니코드 문자가 있는지 샘플을 더 확인합니다.
  • 대소문자: Google의 중복 제거 기능과 COUNTIF는 대소문자 차이를 별도 키로 보지 않습니다. 외부 ID에서 대소문자가 의미를 가진다면 확인용 보조열에서 EXACT 비교를 추가하고 삭제 기준을 확정하세요.
  • 숫자와 텍스트: 00123 같은 ID의 선행 0은 표시 서식만 바꾸면 복구되지 않을 수 있습니다. 가져올 때 텍스트 ID를 보존하고, 숫자 변환이나 자동 날짜 변환을 중복 정규화 단계와 섞지 마세요.

CLEAN은 비인쇄 ASCII 제어 문자를 제거하는 함수이지 모든 보이지 않는 유니코드 공백을 제거하는 만능 정리 도구가 아닙니다. 공백을 정리한 뒤에는 보조 열 결과만 보지 말고 키 표본을 원본과 대조하세요. 어떤 문자열을 정규화하든 원본 열을 덮어쓰지 말고 옆 열에 복사본을 남깁니다. 대소문자까지 구분하는 비교에는 EXACT 함수를 사용할 수 있지만, 공백과 숨은 문자도 정확히 같은지 검사하므로 앞에서 정규화한 값과 원본 키를 구분해 적용하세요.

8. 결과를 원본과 검산합니다

행 수가 줄었다는 사실만으로 정리가 맞았다고 볼 수 없습니다. 실행 전후에 적어 둔 비교 기준과 행 수, 남아야 할 키를 다음 표로 다시 확인하세요.

검산 항목확인 방법다를 때
행 수실행 전 데이터 수 - 예상 중복 수 = 남은 행 수비교 열·머리글·범위 선택을 다시 확인하고 원본 복사본과 대조
키별 행 수유일 ID가 한 번씩만 남았는지 필터·COUNTIF로 확인고유 키에 날짜·상태 등 빠진 열이 있는지 확인
다른 열 보존담당자·상태·수정일 등 샘플 3~5개를 원본과 비교이력 행을 잘못 삭제했으면 원본을 복제해 기준을 다시 정함
빈 키이메일·ID가 비어 있는 행 수를 따로 확인빈 값을 하나의 중복 키처럼 합치지 않도록 별도 보존
정렬 관계전체 행이 같이 이동했고 최신 상태가 선택됐는지 확인특정 열만 따로 정렬했다면 즉시 실행 취소 후 원본에서 재작업

정리 결과를 다른 탭이나 파일로 넘기기 전에는 행 수뿐 아니라 합계·고유 ID 수·기간 범위도 비교합니다. 주문·재고처럼 한 행 삭제가 수량에 영향을 주는 자료는 금액 합계와 상품별 수량을 함께 확인하세요. 중복은 오류일 수도 있지만, 반복 주문·여러 상태 이력처럼 실제 업무 데이터일 수도 있습니다.

자주 묻는 질문

한 셀만 클릭한 상태에서 중복 제거를 눌러도 되나요?

Google 공식 도움말은 선택한 셀이 범위 안에 있으면 범위 전체에서 중복이 처리될 수 있다고 안내합니다. 시트에 표가 여러 개 있거나 지우면 안 되는 영역이 있으면 머리글부터 마지막 열까지 작업 범위를 직접 선택하고, 먼저 복사본에서 결과를 확인하세요.

여러 열이 다르면 같은 이메일 행도 남길 수 있나요?

비교 대상에 이메일만 포함하면 다른 열 값과 무관하게 같은 이메일을 가진 전체 행이 후보가 됩니다. 이메일이 공용 주소이거나 다른 문의 이력을 나타내면 그대로 실행하지 마세요. 이메일과 상태, 날짜 등 업무 규칙에 필요한 열을 함께 비교하거나 결과를 수식으로 미리 검토하세요.

UNIQUE 함수는 중복 항목 하나를 남기나요?

=UNIQUE(A2:D9)는 전달한 전체 행 조합이 중복되면 한 번만 반환하고 처음 나타난 순서를 유지합니다. =UNIQUE(B2:B9)는 B열의 값 목록만 반환합니다. 키가 같은 전체 기록에서 최신 상태 한 행을 뽑는 것과는 다릅니다.

UNIQUE의 세 번째 인수 TRUE는 무엇인가요?

=UNIQUE(A2:D9,FALSE,TRUE)는 한 번만 나타나는 행만 반환합니다. 중복된 그룹에서 대표 행 하나를 남기는 일반적인 중복 제거와 다르게, 반복된 행은 그룹 전체가 빠집니다. 사용 목적을 확인하고 수식을 넣으세요.

모바일 앱에서 데이터 정리 메뉴가 안 보여요.

Google 공식 중복 제거 절차는 컴퓨터용 안내입니다. 메뉴를 찾느라 원본을 수정하지 말고, 필요하면 데스크톱 Sheets에서 작업하거나 모바일에서는 별도 탭의 UNIQUE 결과를 검토하세요. 출력 범위가 비어 있는지와 계정의 함수 구분자도 확인합니다.

휴지통이나 실행 취소로 복구할 수 있나요?

중복 제거는 파일을 휴지통으로 보내는 동작과 다릅니다. 최근 실행 취소가 보이면 즉시 확인하고, 안정적인 복구 방법은 작업 전에 만든 복사본입니다. 공유 원본의 편집 기록에만 의존하지 말고 사본을 보관하세요.

Google 공식 자료

  • 중복 항목 삭제와 공백 다듬기 — 컴퓨터 메뉴 경로, 비교 열·머리글, 한 셀 선택 동작, 대소문자·서식·수식의 중복 판정, 줄바꿈 없는 공백 한계
  • UNIQUE 함수 — 고유 행 반환, 처음 나타난 순서, trailing space 확인
  • COUNTIF 함수 — 대소문자 비구분과 *·? 와일드카드
  • COUNTIFS 함수 — 두 개 이상의 기준 열 조합을 검사하는 조건부 개수 계산
  • FILTER 함수 — 조건에 맞는 행 반환과 일치 항목이 없을 때의 결과
  • TRIM 함수 — 앞뒤·반복 일반 공백 처리와 줄바꿈 없는 공백 한계
  • SUBSTITUTE 함수 — 문자열 일부를 지정한 값으로 대체
  • LOWER 함수 — 정규화 비교용으로 문자열을 소문자로 변환
  • EXACT 함수 — 대소문자·공백까지 문자가 완전히 같은지 확인
  • CLEAN 함수 — 비인쇄 ASCII 문자 처리 범위와 한계
  • Sheets Smart Cleanup — 중복·공백 등 정리 제안과 열 통계 검토

메뉴와 함수 동작은 2026년 10월 9일 확인한 Google 공식 도움말을 기준으로 정리했습니다. 메뉴 표시와 함수 구분자는 계정 언어·지역 설정에 따라 다를 수 있습니다. 대량 행을 수정하기 전에는 복사본에서 행 수와 핵심 ID를 검산하세요.