스프레드시트 데이터에서 중복 행을 삭제하는 데 사용할 수 있는 Apps Script 라이브러리를 빌드합니다.
목표
- 스크립트를 설정합니다.
- 스크립트를 실행합니다.
기본 요건
이 샘플을 사용하려면 다음과 같은 기본 요건이 필요합니다.
- Google 계정 (Google Workspace 계정은 관리자의 승인이 필요함)
- 인터넷에 액세스할 수 있는 웹브라우저
스크립트 설정
라이브러리를 빌드하려면 다음 단계를 따르세요.
- Google 계정에 로그인합니다.
- 스크립트 편집기를 열려면 script.google.com으로 이동합니다.
- 왼쪽 상단에서 새 프로젝트를 클릭합니다.
스크립트 편집기에서 코드를 삭제하고 아래 코드를 붙여넣습니다.
저장
를 클릭합니다.
왼쪽 상단에서 제목 없는 프로젝트를 클릭합니다.
스크립트 이름을 중복 행 삭제로 지정하고 이름 바꾸기를 클릭합니다.
배포 > 새 배포를 클릭합니다.
유형 선택 옆에 있는 배포 유형 사용 설정을 클릭합니다.
> 라이브러리를 탭합니다.
중복 행 삭제와 같은 라이브러리에 대한 설명을 입력합니다. 모든 사용자 라이브러리에 대한 액세스 권한이 있는 사용자는 이 설명을 볼 수 있습니다
배포를 클릭합니다.
왼쪽에서 프로젝트 설정
을 클릭합니다.
이후 단계에서 사용할 수 있도록 ID에서 스크립트 ID를 복사합니다.
스크립트 실행
라이브러리를 사용하려면 최소한 라이브러리에 대한 보기 권한이 있어야 합니다. Apps Script 프로젝트. 라이브러리를 만들었으므로 필수 권한 사용할 수 있습니다. 다른 사용자가 라이브러리를 사용할 수 있도록 하려면 해당 사용자에게 보기 권한을 부여하세요. Google Cloud 콘솔입니다
라이브러리를 사용하려면 다음 단계를 따르세요.
- 행이 중복된 데이터가 있는 Google Sheets 스프레드시트를 엽니다. 사용 방법 샘플 스프레드시트를 만들려면 샘플 중복 행 스프레드시트를 복사합니다.
- 확장 프로그램 > Apps Script를 클릭합니다.
- 라이브러리 옆의 '라이브러리 추가'를 클릭합니다. 입니다.
- 스크립트 ID 섹션에 Apps Script 라이브러리의 스크립트 ID를 붙여넣습니다. 프로젝트 이름을 입력합니다
- Look up을 클릭하면
- 버전 섹션에서 1을 선택합니다.
- 추가를 클릭합니다.
스크립트 편집기에서 코드를 삭제하고 아래 코드를 붙여넣습니다.
function runLibrary() { Removeduplicaterows.removeDuplicates(); }
함수 드롭다운에서 runLibrary를 선택합니다.
실행을 클릭합니다.
스프레드시트로 돌아가 중복된 행 없이 업데이트된 데이터를 확인합니다.
코드 검토
이 솔루션의 Apps Script 코드를 검토하려면 소스 코드 보기를 클릭합니다. 아래:
소스 코드 보기
먼저 스크립트는 스프레드시트를 한 번만 호출하여 데이터입니다. 행별로 시트를 읽을 수 있지만 JavaScript 작업은 스프레드시트와 같은 다른 서비스와 대화하는 것보다 훨씬 빠릅니다. 적을수록 더 빠르게 진행됩니다. 이 작업이 중요한 이유는 각 스크립트가 실행 시간은 최대 6분입니다.
data
변수는
확인할 수 있습니다 newData
는
스크립트가 중복되지 않은 모든 행을 넣습니다.
첫 번째 for
루프는 data
의 각 행을 반복합니다.
2차원 배열입니다. 각 행에 대해 두 번째 루프는
newData
배열에 일치하는 데이터가 이미 있습니다.
중복되면 행이 newData
배열로 푸시됩니다.
마지막으로 스크립트는 시트의 기존 콘텐츠를 삭제하고
newData
배열의 콘텐츠입니다.
수정사항
필요에 맞게 라이브러리를 수정할 수 있습니다. 다음은 선택적으로 수정할 수 있습니다.
일부 열에서 일치하는 데이터가 있는 행 삭제
완전히 일치하는 행을 삭제하는 대신 일치하는 데이터를 찾을 수 있습니다. 이렇게 하려면 조건문
샘플 코드에서 다음 줄을 업데이트합니다.
if(row.join() == newData[j].join()){ duplicate = true; }
줄을 다음 코드로 바꿉니다.
if(row[0] == newData[j][0] && row[1] == newData[j][1]){ duplicate = true; }
위의 조건문은 두 행에 다음이 있을 때마다 중복을 찾습니다. 동일한 데이터를 반환할 수 있습니다.
참여자
이 샘플은 Google 개발자 전문가인 로메인 비알라드가 만들었습니다. 팔로우 트위터 @romain_vialard의 로메인
이 샘플은 Google에서 Google Developer Experts의 도움을 받아 유지관리합니다.