Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Подсчет закрашенных ячеек определенного цвета

Обновлено: 01.10.24


Пример подсчета используемого цвета в ячейке А1 и сравнение с другими ячейками диапазона A1:A10. Результат записывается в ячейку А11, а так же в консоль в режиме debug.

В основе используется метод GetFillColor ↗

Пример:

(function()
{
    var sheet = Api.GetActiveSheet();
    var A1 = sheet.GetRange("A1"); //за основу берется ячейка А1
    var UsedRange = sheet.GetRange("A1:A10"); //весь пул ячеек для сравнения с эталонной А1
    var Total = sheet.GetRange("A11");
    var resum = sheet.UsedRange.Text.reduce((acc, row, rowIndex) =>(row.forEach((cell, colIndex) => {
            var oRangeCell = sheet.GetRangeByNumber(rowIndex, colIndex);
            var colorCell = JSON.stringify(oRangeCell.GetFillColor());
            var bool = (colorCell == JSON.stringify(A1.GetFillColor())) ? 'true' : 'False';
            var resum = (bool == 'true') ? acc++ : acc;
          return ((bool) ? 1 : 0)
        }), acc), 
    0); //сравнение каждой ячейки с эталонной А1
    Total.SetValue("Число закрашенных ячеек в диапазоне А1:A10 цветом равно " + resum); //вывод в ячейку А11 подсчета одинакового цвета с А1
    console.log(resum);
})();