본문 바로가기
구글 앱 스크립트

구글 앱 스크립트: 스프레드시트에서 중복값 제외하기 [6]

by parkjp 2023. 12. 2.

 

서론

 

 

지난 글에 이어서 이번 포스팅에서는 스프레드시트에서 중복값을 제외하는 법을 해보겠습니다.

 

지난 포스팅을 보실 분은 아래 링크를 눌러주세요.

 

반응형

https://developer-jp.tistory.com/173

 

구글 앱 스크립트: 스프레드시트에서 이메일 보내기 [5]

서론 지난 글에 이어서 이번 포스팅에서는 스프레드시트에서 이메일을 보내는 법을 해보겠습니다. 지난 포스팅을 보실 분은 아래 링크를 눌러주세요. https://developer-jp.tistory.com/171 구글 앱 스크

developer-jp.tistory.com

 

 

스프레드시트 중복값 제거하기

 

이번 포스팅에서는 시트1에서 단어를 입력하면 시트2로 복사하는 작업을 하면서

 

만약 같은 단어를 입력한다면 시트2에 중복된 데이터가 쌓이지 않도록 해보겠습니다.

 

저는 시트1에 A1부터 세로 범위(A2,A3,,,)에 단어를 적는다면 시트2의 A1부터 범위(A1,A2,,,,)에 복사되도록 하겠습니다.

(참고로 시트1에 A행의 어느 셀에 입력해도 입력되는 순서대로 B시트로 복사되는 스크립트입니다.)

 

function onEdit(e) {
  const range = e.range;
  const column = range.getColumn();
  
  if (column !== 1) return;

  // 복사될 시트 (시트2)
  const copiedSheetName = "시트2";
  const value = range.getValue();
  const sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName(copiedSheetName);

  Logger.log(sheet2.getLastRow());
  const sheet2Range = sheet2.getRange(1, 1, sheet2.getLastRow() + 1, 1);

  if(!value) return;

  const textFinder = sheet2Range.createTextFinder(value);
  if(!textFinder.findNext()) {
    const lastCell = sheet2.getRange(sheet2.getLastRow() + 1, 1);
    lastCell.setValue(value);
  }
}

 

copiedSheetName이라는 변수 값은 원하시는 시트이름으로 바꾸시면 됩니다.

해당 이름으로 시트를 생성하셨다면 시트1에서 A1 셀에 아무 값이나 입력을하면 시트2의 A1셀에 복사가 될겁니다.

 

  const textFinder = sheet2Range.createTextFinder(value);
  if(!textFinder.findNext()) {
    const lastCell = sheet2.getRange(sheet2.getLastRow() + 1, 1);
    lastCell.setValue(value);
  }

 

중복된 값을 제거하는 부분은 이 부분인데요.

일단 시트1에서 입력한 값(value)이 시트2에 있는지 textFinder로 찾습니다.

찾은다음에 값이 없다면 시트2에 마지막 행에 값을 추가하는 스크립트입니다.

 

 

마무리

 

 

여기까지 스프레드시트에서 중복값을 제외하여 복사하는 법을 해보았습니다.

 

혹시나 구글 앱 스크립트에 대해 궁금하신 점이나 알고 싶으신 기능이 있으신 분은 직접 댓글로 질문해 주시면 해당 질문을 토대로 포스팅을 써보겠습니다.

 

다음 포스팅 보러가기

https://developer-jp.tistory.com/178

 

구글 앱스 스크립트: 스프레드시트 보호범위 설정하기 [7]

서론 지난 글에 이어서 이번 포스팅에서는 스프레드시트에서 보호범위를 설정하는 법을 해보겠습니다. 지난 포스팅을 보실 분은 아래 링크를 눌러주세요. https://developer-jp.tistory.com/175 구글 앱

developer-jp.tistory.com

 

반응형