it-swarm.dev

Google 스프레드 시트에서 동일한 색상으로 셀을 계산하십시오.

배경색이 같은 셀 수를 세어 Google Apps 스크립트의 스크립트를 사용하여 다른 셀에 결과를 넣으려고하지만 할 수 없습니다. 다음 스크립트가 있지만 작동하지 않으며 어떤 문제인지 알 수 없습니다.

function countbackgrounds() {
 var book = SpreadsheetApp.getActiveSpreadsheet();
 var range_input = book.getRange("B3:B4");
 var range_output = book.getRange("B6");
 var cell_colors = range_input.getBackgroundColors()[0];
 var color = "#58FA58";
 var count = 0;

 for( var i in cell_colors )
  if( cell_colors[i] == color ){
    range_output.setValue(++count);
  }
  else {
    return count; 
  }
 }  
13
user1974764

Google Sheets Power Tools 를 사용하여 수동으로 코딩하지 않으려는 경우 쉬운 솔루션 :

  1. 추가 기능 패널 (추가 기능-> 추가 기능 얻기)을 통해 Power Tools 설치
  2. Power Tools 사이드 바에서 Σ 버튼을 클릭하고 해당 메뉴에서 "Sum by Color"메뉴 항목을 클릭하십시오
  3. 검색하려는 색상 마크 업이있는 "패턴 셀"을 선택하십시오.
  4. 계산하려는 셀의 "소스 범위"를 선택하십시오.
  5. 사용 기능을 "COUNTA"로 설정해야합니다
  6. "기능 삽입"을 누르면 완료됩니다 :)
23
Wolph
function countbackgrounds() {
 var book = SpreadsheetApp.getActiveSpreadsheet();
 var sheet = book.getActiveSheet();
 var range_input = sheet.getRange("B3:B4");
 var range_output = sheet.getRange("B6");
 var cell_colors = range_input.getBackgroundColors();
 var color = "#58FA58";
 var count = 0;

 for(var r = 0; r < cell_colors.length; r++) {
   for(var c = 0; c < cell_colors[0].length; c++) {
     if(cell_colors[r][c] == color) {
       count = count + 1;
     }
   }
 }
    range_output.setValue(count);
 }
8
ScampMichael

다음은 작동하는 버전입니다.

function countbackgrounds() {
 var book = SpreadsheetApp.getActiveSpreadsheet();
 var range_input = book.getRange("B3:B4");
 var range_output = book.getRange("B6");
 var cell_colors = range_input.getBackgroundColors();
 var color = "#58FA58";
 var count = 0;

 for( var i in cell_colors ){
 Logger.log(cell_colors[i][0])
  if( cell_colors[i][0] == color ){ ++count }
  }
range_output.setValue(count);
 }  
1
Serge insas