Как посчитать кол-во ячеек с условным форматированием?
Привет
Допустим у меня есть колонка, где я условным форматированием обозначаю все ячейки такой-то даты зеленым цветом.
Как мне внизу вывести кол-во таких ячеек?
Привет
Если именно так решать задачу, то без скрипта не обойтись — забирать цвет ячеек в массив и считать кол-во элементов нужного цвета.
Но почему нельзя повторить логику условного форматирования в формуле с COUNTIF?
Можете дать пример файла?
Вот пример. В нужной ячейке выделяется зеленым кто сдал протоколы до 12 ночи(то есть не хитрили, и не ждали чтобы получить оплату за двое суток работы), и кто сдал после часу ночи - то есть сигнал что были проблемы на участке с протоколом и стоит на них обратить внимание почему пришлось создавать уточняющий протокол.
Мне надо чтобы внизу автоматически считало кол-во зеленых и красных ячеек.
JohnnyBravo7, а, типа Вы предлагаете просто не привязываться к условному форматированию, а по дате? По сути я примерно так и сделал(я ж и так из уже раскрасил условным форматированием по этим признакам), но хотел(даже хотя бы для развития) понять как считать такие условно форматированные ячейки. К примеру, по всему листу у меня есть ячейки с красным текстом, где по тем или иным призназнакам можно подозревать проблему - как такие ячейки посчитать все автоматически? Там же статистика разная применяется, там так, а сям иначе. Потом увидеть число сколько всего у меня было "под вопросом" ячеек.
lukoie,
да, такое можно только с помощью скрипта сделать.
Пробежаться по всем ячейкам в столбце, взять цвет фона, посчитать количество, вывести сумму.
Что-то типа такого
function myFunction() {
var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('1'); //название листа
var vals = sheet.getRange("AF4:AF235").getValues(); //откуда забираем данные
var num_red = 0;
var num_green = 0;
var start_row = 4;
for(var i=0;i<vals.length;i++){
start_row = start_row + i;
var bg = sheet.getRange("AF"+start_row).getBackground();
if(bg = "#e06666"){ //тут написать красный цвет
num_red++;
}else if(bg = "#d6e3bc"){ //тут написать зеленый цвет
num_green++;
}
}
sheet.getRange("AF237").setValue(num_green);
sheet.getRange("AF238").setValue(num_red);
}
нашел еще такой вариант:
в гуглотаблицах в Дополнениях есть Custom Count and Sum
Под нужным столбцом пишем:
=COUNTBACKGROUNDCOLOR("AF3:AF102"; "AF3")
Где AF3:AF102 это диапазон ячеек
а AF3 это ячейка с цветом, который нас интересует