Google Spreadsheet 선택 범위 일괄 계산 기타


구글 스프레드시트에서 선택 범위를 일괄 증가시킬 필요가 있었는데 엑셀이랑은 다르게 생겨서 조금 헤맸음.

일단은 시트 내 함수로는 처리가 불가능하니 [도구 - 스크립트 편집기]로 스크립트 편집기로 이동.


구글독스는 VBA가 아니라 Apps script라는 것을 사용하는데 js와 동일한듯.
API 문서 페이지(링크)가 좀 느리긴한데 네이밍이 정상적으로 잘돼있으니 대충 예상되는 이름으로 찾아보면 다 있음.
아래와 같이 작성(복사용 코드는 아래에).


복사용 코드

function add30ToSelection() {
  var selection = SpreadsheetApp.getActiveSpreadsheet().getSelection();
  var ranges = selection.getActiveRangeList().getRanges();

  for (var i = 0i < ranges.lengthi++) {
    addToRange(ranges[i], 30);
  }  
}

function add30ToAll() {
  var range = SpreadsheetApp.getActiveSpreadsheet().getRange("D2:E31");
  
  addToRange(range30);
}

function addToRange(rangeadd_value) {
  var values = range.getValues();

  for (var i = 0i < values.lengthi++) {
    for (var j = 0j < values[i].lengthj++) {
      values[i][j] += add_value;
    }
  }
  range.setValues(values);
}


저장 후 스프레드시트로 복귀.
[삽입 - 그림]으로 실행 버튼으로 쓸 그림 추가 후 아래와 같이 스크립트 할당 진입.

아래와 같이 Apps script에 만들었던 함수명을 입력하면 완료.

그림 버튼 클릭하면 작성한 함수가 실행됨.