是否可以使用公式设置Google电子表格单元格的背景颜色?

时间:2015-05-04 17:17:52

标签: google-apps-script google-sheets

我知道条件格式,但我希望能够使用公式指定颜色。我正在设计一些颜色淡入淡出算法,并在电子表格中计算RGB值。我想将3个R,G和B值放在列中,并让第4列显示颜色。

1 个答案:

答案 0 :(得分:3)

不使用公式,Apps脚本上的onEdit可以做到这一点,但效率不高:

function componentToHex(c) {
    var hex = c.toString(16);
    return hex.length == 1 ? "0" + hex : hex;
}

function rgbToHex(r, g, b) {
    return "#" + componentToHex(r) + componentToHex(g) + componentToHex(b);
}

function onEdit(){
  var RGBVals = SpreadsheetApp.getActiveSheet().getDataRange().getValues(),
      backSet = [],
      currLin;

  for( lin in RGBVals ){
    currLin = RGBVals[ lin ];
      backSet.push([rgbToHex(currLin[0], currLin[1], currLin[2])]);
  }

  SpreadsheetApp.getActiveSheet().getRange(1, 4, backSet.length).setBackgrounds(backSet);
}

注意:A,B,C列中的R,G,B,从ROW 1开始。