반응형
💡 Google Sheets의 범위 이름을 사용하는 방법을 알아본다.
Apps script로 Google Sheets의 영역을 R1C1 형식으로만 데이터를 관리하기보다는,
영역의 이름을 지정해 관리하는 방식이 script의 가독성이나 유지 보수 측면에서 유용할 것이다.
범위 이름 지정하기
function setSheetRange() {
const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName("시트29");
const rangeName = sheet.getRange(`A2:A${sheet.getLastRow()}`);
const rangeCode = sheet.getRange(`B2:B${sheet.getLastRow()}`);
ss.setNamedRange("rangeName", rangeName);
ss.setNamedRange("rangeCode", rangeCode);
}
Google Sheets의 범위 이름 조회
function getSheetRange() {
const ss = SpreadsheetApp.getActive();
const ranges = ss.getNamedRanges();
for (var i = 0; i < ranges.length; i++) {
Logger.log(`sheet range ${i} => ${ranges[i].getName()}`);
}
}
event 발생 시 범위 이름 재 지정
function getSetSheetRange() {
const ss = SpreadsheetApp.getActive();
const sheet = ss.getSheetByName("시트29");
const rangeName = sheet.getRange(`A2:A${sheet.getLastRow()}`);
const rangeCode = sheet.getRange(`B2:B${sheet.getLastRow()}`);
ss.removeNamedRange("rangeName");
ss.removeNamedRange("rangeCode");
ss.setNamedRange("rangeName", rangeName);
ss.setNamedRange("rangeCode", rangeCode);
console.log(ss.getRangeByName("rangeName").getValues());
console.log(ss.getRangeByName("rangeCode").getValues());
}
getRangeByName 을 이용해 범위 이름을 불러오는 방법은,
범위 이름만 잘 생성하면, 뛰어난 가독성으로 운영에 큰 효과를 줄것으로 생각된다.
반응형
'GCP > Apps Script' 카테고리의 다른 글
Apps Script로 ChatGPT의 openAPI를 Google Sheets에서 호출하기 (0) | 2023.04.14 |
---|---|
Apps Script로 Google Sheets의 column들을 Group화 하여 화면 심플하게 보기 (0) | 2023.04.13 |
Apps Script로 Google Sheets에서 상품 관리 sheet 만들기 (0) | 2023.04.11 |
Apps Script로 웹사이트의 table 데이터를 Google Sheets로 불러오기 (0) | 2023.03.29 |
Apps Script로 웹사이트에 업로드 되어있는(a tag) CSV 파일을 Google Sheets로 불러오기 (0) | 2023.03.28 |