I have a function that counts the different color of cells within a row and places the count totals in columns to the right. It currently counts 3 colors in row 2. I would like this function to do the same thing, but for rows 2 through 250 (so I have outputs for each count in every single row through 250). How can I write a loop to get this code to iterate that many times. OR, even better, would be to have one separate function for each color that I can call with a formula in all of the output cells so I don't have to actually run the function to get live updates of the output (ie cells L2:L250 just have =green, cells M2:M250 have =red, etc. I have worked much more with Excel so don't know if Sheets can do this. As a starting point, just iterating this over rows 2:250 would be a great start! Thank you!
function countcolor() {
var book = SpreadsheetApp.getActiveSpreadsheet();
var sheet = book.getActiveSheet();
var range_input = sheet.getRange("B2:H2");
var range_output = sheet.getRange("L2");
var cell_colors = range_input.getBackgroundColors();
var color = "#00ff00";
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);
var book = SpreadsheetApp.getActiveSpreadsheet();
var sheet = book.getActiveSheet();
var range_input = sheet.getRange("B2:H2");
var range_output = sheet.getRange("M2");
var cell_colors = range_input.getBackgroundColors();
var color = "#ffff00";
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);
var book = SpreadsheetApp.getActiveSpreadsheet();
var sheet = book.getActiveSheet();
var range_input = sheet.getRange("B2:H2");
var range_output = sheet.getRange("N2");
var cell_colors = range_input.getBackgroundColors();
var color = "#ff9900";
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);
}