J'essaie de compter le nombre de cellules avec la même couleur d'arrière-plan et de mettre le résultat dans une autre cellule avec un script dans le script Google Apps, mais je ne peux pas le faire. J'ai le prochain script mais je ne travaille pas et je ne sais pas quel est le problème:
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;
}
}
Solution facile si vous ne voulez pas coder manuellement à l'aide de Google Sheets Power Tools :
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);
}
voici une version de travail:
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);
}