Study/Spreadsheet

[스프레드시트] 섹상별 개수 구하기 (Script 활용 - SumColor)

테레레 2020. 12. 19.
728x90

구글 스프레드 시트에서 셀 색상을 기준으로 셀 값을 계산하는 방법을 알아보겠다. 엑셀에서는 함수를 쓰면 간단하게 해결되는게 스프레드는 별도의 스크립트를 활용해서 사용해야 한다.


구글스프레드시트 수작업으로 셀 색상 계산하기 - 삽질

 


구글 스프레드 시트로 셀 색상을 계산하는 방법은 누구나 할 수 있는 수작업으로 하나하나 선택해서 합계(SUM) or 갯수(Count) 를 계산할 수 있다. 그런데 계산할 건들이 많다면? 아니면 셀색상이 계속 변동이 된다면 정말 난감하다. 스크립트 코드까지 공개를 할테니 차근차근 진행해보세요~

 

따라하기

스크립트를 이용해서 Google 시트 셀 색상별 셀 값 계산하기를 해봅시다.

 

1. 스크립트편집기 실행하기

도구 > 스크립트 편집기 를 클릭하세요!! 

 

구글시트 셀색상 계산하기

 

2. 스크립트 코드 열기

파일 > 새로만들기 > 스크립트 를 클릭하여 코드 창을 열어주세요.

 

구글시트 셀색상 계산하기

 

3. 프로젝트 생성하기

프로젝트명을 'CountColor' 로 지정합니다.

 

 

 

 

구글시트 셀색상 계산하기

 

 

4. 코드 작성하기

아래 코드를 복사하여 붙여 넣은 다음 저장을 해주세요. 첫줄의 function countcolor 을 기억해주세요. 나중에 불러오는 코드니깐요~

 

function CountColor(countRange,colorRef) {
  var activeRg = SpreadsheetApp.getActiveRange();
  var activeSht = SpreadsheetApp.getActiveSheet();
  var activeformula = activeRg.getFormula();
  var countRangeAddress = activeformula.match(/\((.*)\,/).pop().trim();
  var backGrounds = activeSht.getRange(countRangeAddress).getBackgrounds();
  var colorRefAddress = activeformula.match(/\,(.*)\)/).pop().trim();
  var BackGround = activeSht.getRange(colorRefAddress).getBackground();
  var countCells = 0;
  for (var i = 0; i < backGrounds.length; i++)
    for (var k = 0; k < backGrounds[i].length; k++)
      if ( backGrounds[i][k] == BackGround )
        countCells = countCells + 1;
  return countCells;
};

구글시트 셀색상 계산하기

 

 

5. 코드 불러오기

저장한 후, 다시 시트로 돌아와서 스크립트 코드를 입력해주세요.

=countcolor("계산할 범위, 데이터범위","계산할 특정 색상으로 채워진 셀") 을 입력해주세요.

 

 

728x90

 


** 아래 이미지보시면 쉽게 이해할 수 있을 거 같아요~

 

구글시트 셀색상 계산하기

 


스크립트를 사용해서 로딩이 걸릴 수 있는데 그래도 코드 한번으로 계속 관리하기 편하니깐 권장을 드립니다. 색상값 계산을 하면, 손쉽게 구글스프레드로 업무 자동화도 만들 수 있으니깐 응용해보세요 :D

 

 

구글시트 셀색상 계산하기

 

 

 

댓글