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

구글 스프레드시트 앱스 스크립트 다른 시트 정보 가져오기(Google Apps Script) [20]

by parkjp 2024. 1. 5.

서론

안녕하세요, 지난 글에서는 스프레드시트에서 앱스 스크립트로 날짜 포맷을 변경하는 법을 알아보았습니다.

이번 글에서는 다른 시트의 정보를 가져오는 법을 해보도록 하겠습니다.

 

혹시나 지난 포스팅을 못 보신분들은 아래 링크를 클릭해 주세요.

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

 

스프레드시트 구글 앱스 스크립트 날짜 포맷 변경하기 [19]

서론 안녕하세요, 지난 글에서는 스프레드시트에서 앱스 스크립트의 함수 중 하나인 TextFinder 함수의 기능을 알아보았습니다. 이번 글에서는 스프레드시트에서 앱스 스크립트로 날짜 포맷을 변

developer-jp.tistory.com

반응형

다른 시트 정보 가져오기

구글 앱스 스크립트를 이용하여 다른 시트 정보를 가져오는 법은 간단합니다.

우선 특정 시트의 특정 셀의 값을 현재 내가 작성하고 있는 시트에 복사하는 법을 해보도록 하겠습니다.

 

빈 시트 5개 생성

 

빈 시트를 5개를 생성해놓았습니다.

시트1을 현재 작성중인 시트로 가정하고

시트2의 A1셀에 숫자 1을 입력해 놓고

시트2의 A1셀에 있는 값을 시트1의 A1셀로 복사해보도록하겠습니다.

  const activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  const activeSheet = activeSpreadSheet.getActiveSheet();

  const sheet2 = activeSpreadSheet.getSheetByName('시트2');
  const sheet2A1Value = sheet2.getRange('A1').getValue();

  activeSheet.getRange('A1').setValue(sheet2A1Value);

 

시트2의 A1셀의 값을 가져와 현재 작성중인 시트인 activeSheet의 A1셀에 값을 입력하면 간단하게 복사가 됩니다.

 

이번에는 시트1 이외에 다른 시트에도 모두 A1셀에 숫자 1을 입력해두고 시트1의 A1셀에는 각 시트의 A1셀의 값을 합산하여 입력되도록 해보겠습니다.

  const activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
  const activeSheet = activeSpreadSheet.getActiveSheet();
  const activeSheetId = activeSheet.getSheetId();

  const sheets = activeSpreadSheet.getSheets();
  let formula = "=SUM(";
  for (let i = 0; i < sheets.length; i++) {
    let sheet = sheets[i];
    if (sheet.getSheetId() == activeSheetId) continue;
    if (i == sheets.length - 1) {
      formula += `'${sheet.getSheetName()}'!A1`;
      continue;
    }

    formula += `'${sheet.getSheetName()}'!A1,`
  }

  formula += ')'
  activeSheet.getRange('A1').setFormula(formula);

 

 

작성하고 있는 시트의 A1셀에 SUM함수를 스크립트로 등록되도록 하여 각 시트의 A1셀의 값들이 합쳐져 나오도록 해보았습니다. 위 스크립트는 A1셀로만 표현을 했지만 만약 다른 열의 값들도 함께 SUM을 하고싶다면 살짝만 바꾸어 주시면 됩니다.

 

예를 들어, 내가 작성하고 있는 시트1의 A1셀에 시트2의 A1:C1, 시트3의 A1:C1 값을 모두 합산하고 싶다면

formula를 만드는 부분 ${sheet.getSheetName()}'!A1에서 ${sheet.getSheetName()}'!A1:C1으로 변경해주시면 될 것 입니다.

 

마무리

여기까지 간단하게 스프레드시트에서 다른 시트의 정보를 가져오는 법 알아보았습니다.

 

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

 

다음 포스팅 보러가기:

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

 

구글 앱스 스크립트를 이용하여 파일 휴지통으로 보내기(Google Apps Script) [21]

서론 안녕하세요, 지난 글에서는 스프레드시트에서 앱스 스크립트로 다른 시트의 정보를 가져오는 법을 알아보았습니다. 이번 글에서는 구글 드라이브에 있는 파일을 휴지통으로 옮기는 법과

developer-jp.tistory.com

 

반응형