Google Sheets now supports conditional color scales under Menu "Format > Conditional formatting..." then select the tab "Colour scale".
Color scale with conditional formatting in Google Spreadsheet
Frage
I need a color scale on a row or column in Google Spreadsheet, like the one provided by Microsoft Office Excel conditional formatting with color scale:
I couldn't find a Google Script Gallery Script that can do exactly this job. Setting conditional formatting manually for all possible values is not a solution.
My abilities are limited to write a proper script. Therefore I came up with this pseudo code:
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++;
}
}
- Is there any way to do it natively?
- or are there any google app scripts that do this (which I overlooked)?
- or is someone willing to help me bring my pseudo-code to a proper google app script for spreadsheet?
Thanks
Lösung
Andere Tipps
I'm referencing @JacobJanTuinstra, who compiled/created a script to solve a similar issue, please see this: https://webapps.stackexchange.com/questions/48783/colorize-a-cell-in-google-spreadsheets-based-on-cell-data?rq=1
There is an add-on that does this. It's open source and the code is a bit long to put in here but you can get it by taking a copy of this GSheet.