서론
지난 글에 이어서 이번 포스팅에서는 스프레드시트에서 함수를 설정하는 법을 배워보도록 하겠습니다.
지난 포스팅을 못보신 분들은 아래 링크를 눌러주세요.
https://developer-jp.tistory.com/180
스프레드시트 함수 설정하기
이번 포스팅에서는 스프레드시트에서 함수를 설정하는 법을 배워보도록 하려 합니다.
우선 함수를 설정하고 가져오는 함수가 어떤 것들이 있는지 보겠습니다.
- setFormula
- setFormulaR1C1
- setFormulas
- setFormulasR1C1
- getFormula
- getFormulaR1C1
- getFormulas
- getFormulasR1C1
setFormula
setFormula 함수는 단일 셀에 스프레드시트의 함수기능을 설정합니다.
const activeSpreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const spreadsheet = activeSpreadSheet.getActiveSheet();
spreadsheet.getRange('C1').setFormula("=SUM(A1:B1)");
위 코드는 C1셀에 A1:B1의 값을 더하는(SUM) 함수를 설정했습니다.
해당 코드를 실행 시킨다면 아래와 같은 결과를 보실 수 있습니다.
저는 A1과 B1에 각각 1과 2를 설정해두고 실행하였습니다.
setFormulaR1C1
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과 같습니다.
따라서 아래와 같은 결과가 나타나게 됩니다.
setFormulas와 setFormulasR1C1
기존에는 단일 행에 함수를 설정하는 것이었다면 이번에는 다중 셀에 함수를 한번에 설정하는 방법입니다.
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 범위의 각각의 셀에 해당 합과 평균 함수들을 설정하였습니다.
위 스크립트 예제의 결과입니다.
setFormulasR1C1함수는 마찬가지로 R1C1 표기법으로 설정하시면 됩니다.
getFormula와 getFormulas
이번에는 설정되어져 있는 함수를 가져오는 법을 해보겠습니다.
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)]]
마무리
여기까지 스프레드시트에 함수를 설정하고 가져오는 법을 배워보았습니다.
혹시나 구글 앱스 스크립트에 대해 궁금하신 점이나 알고 싶으신 기능이 있으신 분은
직접 댓글로 질문해 주시면 해당 질문을 토대로 포스팅을 써보겠습니다.
'구글 앱 스크립트' 카테고리의 다른 글
구글 앱스 스크립트: 스프레드시트 시트 생성, 변경, 삭제 (Google Apps Script) [11] (0) | 2023.12.12 |
---|---|
구글 앱스 스크립트: 스프레드시트 텍스트 찾기 바꾸기 (Google Apps Script) [10] (0) | 2023.12.09 |
구글 앱스 스크립트: 스프레드시트 셀 병합하기 (Google Apps Script) [8] (0) | 2023.12.07 |
구글 앱스 스크립트: 스프레드시트 보호범위 설정하기 [7] (1) | 2023.12.06 |
구글 앱 스크립트: 스프레드시트에서 중복값 제외하기 [6] (0) | 2023.12.02 |