구글 앱 스크립트: 스프레드시트 함수 설정하기 (Google Apps Script) [9]

Google Apps Script

1. 서론

지난 글에 이어서 이번 포스팅에서는 스프레드시트에서 구글 앱 스크립트를 사용하여 함수를 설정하는 법을 배워보도록 하겠습니다.

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

2. 스프레드시트 함수 설정하기

이번 포스팅에서는 스프레드시트에서 구글 앱 스크립트를 사용하여 함수를 설정하는 법을 배워보도록 하려 합니다.

우선 함수를 설정하고 가져오는 함수가 어떤 것들이 있는지 보겠습니다.

  • setFormula
  • setFormulaR1C1
  • setFormulas
  • setFormulasR1C1
  • getFormula
  • getFormulaR1C1
  • getFormulas
  • getFormulasR1C1

setFormula 함수는 단일 셀에 스프레드시트의 함수기능을 설정합니다.

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

  spreadsheet.getRange('C1').setFormula("=SUM(A1:B1)");

위 코드는 C1셀에 A1:B1의 값을 더하는(SUM) 함수를 설정했습니다.

해당 코드를 실행 시킨다면 아래와 같은 결과를 보실 수 있습니다.

저는 A1과 B1에 각각 1과 2를 설정해두고 실행하였습니다.

Google Apps Script1

setFormulaR1C1 함수는 마찬가지로 단일 셀에 스프레드시트의 함수기능을 설정합니다.

대신 R1C1 표기법을 사용해야 합니다.

// R1C1 표기법
spreadsheet.getRange('E1').setFormulaR1C1("=SUM(R[0]C[-4]:R[0]C[-1])");

// 일반 표기법
spreadsheet.getRange('E1').setFormulaR1C1("=SUM(A1:D1)");

위와 같이 R1C1 표기법으로 변형하였습니다.

위 R1C1 표기법은 A1:D1과 같습니다.

따라서 아래와 같은 결과가 나타나게 됩니다.

Google Apps Script2

기존에는 단일 행에 함수를 설정하는 것이었다면 이번에는 다중 셀에 함수를 한번에 설정하는 방법입니다.

  const formulas = [
    ["=SUM(B2:B4)", "=SUM(C2:C4)", "=SUM(D2:D4)"],
    ["=AVERAGE(B2:B4)", "=AVERAGE(C2:C4)", "=AVERAGE(D2:D4)"]
  ];

  const cells = spreadsheet.getRange("B5:D6");
  cells.setFormulas(formulas);

저는 B2:D4셀에 임의의 숫자를 입력해두고

위 스크립트를 이용하여 B5:D6 범위의 각각의 셀에 해당 합과 평균 함수들을 설정하였습니다.

위 스크립트 예제의 결과입니다.

Google Apps Script3

setFormulasR1C1 함수는 마찬가지로 R1C1 표기법으로 설정하시면 됩니다.

이번에는 설정되어져 있는 함수를 가져오는 법을 해보겠습니다.

  const cells = spreadsheet.getRange("B5");
  Logger.log(cells.getFormula());
  // 결과: =SUM(B2:B4)

getFormula함수는 스프레드시트 영역내에 따로 나타나지는 않습니다.

이 함수는 내가 지정한 셀에 적용된 함수의 수식을 가져오는 기능입니다.

다른 셀로 함수를 복사한다던지 응용을 할 수 있습니다.

getFormuals함수도 마찬가지인데요. 단일 셀이 아닌 지정한 범위의 함수들을 가져오는 기능입니다.

  const cells = spreadsheet.getRange("B5:D6");
  Logger.log(cells.getFormulas());
  // 결과: [[=SUM(B2:B4), =SUM(C2:C4), =SUM(D2:D4)], [=AVERAGE(B2:B4), =AVERAGE(C2:C4), =AVERAGE(D2:D4)]]

3. 마무리

여기까지 구글 앱 스크립트를 사용하여 스프레드시트에 함수를 설정하고 가져오는 법을 배워보았습니다.

혹시나 구글 앱스 스크립트에 대해 궁금하신 점이나 알고 싶으신 기능이 있으신 분은

직접 댓글로 질문해 주시면 해당 질문을 토대로 포스팅을 써보겠습니다.

Comments

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다