Цветовая шкала с условным форматированием в Google Spreadsheet

Мне нужна цветовая шкала для строки или столбца в электронной таблице Google, например, предоставленная Microsoft Office Условное форматирование Excel с цветовой шкалой:

Цветовая шкала условного форматирования в Microsoft Excel

Я не смог найти скрипт галереи Google Script, который мог бы выполнять именно эту работу. Установка условного форматирования вручную для всех возможных значений не является решением.

Мои возможности ограничены, чтобы написать правильный сценарий. Поэтому я придумал этот псевдокод:

colorRangeFormatting(cellRange, minColorHex, maxColorHex)
{
  float cellValueMax = getHighestValue(cellRange);
  float cellValueMin = getLowestValue(cellRange);
  int cellCount = range.length;
  int colorValueMax = maxColorHex.toInt();
  int colorValueMin = minColorHex.toInt();

  int colorSize = colorValueMax - colorValueMin;
  cellValueSize = cellValueMax - celLValueMin;



  int colorIncrement = (colorSize/cellValueSize).Round();
  int[] colorGradients = colorGradients[colorSize];

  foreach(int color in colorGradients)
  {
    color = colorValueMin + colorIncrement;
    colorIncrement = colorIncrement + colorIncrement;
  }

  int i = 0;
  foreach(Cell c in cellRange)
  {
    c.setBackgroundColor(colorGradients[i].ToHex());
    i++;
  }
}
  • Есть ли способ сделать это нативно?
  • или есть ли какие-либо сценарии приложений Google, которые делают это (которые я упустил из виду)?
  • или кто-то готов помочь мне перенести мой псевдокод в правильный скрипт приложения Google для электронной таблицы?

Спасибо


person Underlines    schedule 28.10.2013    source источник


Ответы (4)


Google Таблицы теперь поддерживают условные цветовые шкалы в меню «Формат > Условное форматирование...», затем выберите вкладку «Цветовая шкала».

Цветовая шкала Google Таблиц

person Underlines    schedule 03.09.2015

Я ссылаюсь на @JacobJanTuinstra, который скомпилировал/создал скрипт для решения аналогичной проблемы, см. это: https://webapps.stackexchange.com/questions/48783/colorize-a-cell-in-google-spreadsheets-based-on-cell-data?rq=1

person Gabriel Crivelli    schedule 29.10.2013
comment
Это хорошая база. Я взял разные части скрипта из вопроса и ответа туда и вставил рабочую версию их скрипта: он не будет окрашиваться в зависимости от максимального и минимального значения, как в функции Microsoft Excel. Он просто возьмет значение каждой ячейки, преобразует его в значение RGB и раскрасит его этим значением RGB. Таким образом, от 1 до 100 он будет окрашиваться от красного к фиолетовому, а от 100 до 200 снова будет использовать те же цвета. - person Underlines; 29.10.2013

@Underlines показывает только один цвет для примера, но Sheets может достичь:

SO19637514 пример

при применении параметров, как показано.

person pnuts    schedule 06.06.2017

Для этого существует надстройка. Это открытый исходный код, и код немного длинный, чтобы вставить его сюда, но вы можете получить его, взяв копию этот GSheet.

person Andrew Roberts    schedule 14.02.2015