google-apps-script - 是否可以使用公式设置谷歌电子表格单元格的背景颜色?

标签 google-apps-script google-sheets google-sheets-formula

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

最佳答案

不使用公式,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);
}

注意:R、G、B 位于 A、B、C 列中,从第 1 行开始。

关于google-apps-script - 是否可以使用公式设置谷歌电子表格单元格的背景颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30036012/

相关文章:

javascript - Google Apps 脚本中的数组支持哪些函数?

javascript - 如何确定 google BigQuery 项目的 URI

google-apps-script - 按名称获取工作表

if-statement - 谷歌表格 : how to trigger random function?

google-apps-script - Apps 脚本执行 API 显示 devMode 错误 : true

php - 通过 cURL/PHP 将新行插入到 Google 电子表格中 - 如何?

javascript - 使用 Google Apps 脚本和 JavaScript 从 google 表中反射(reflect) HTML 中的选项值

google-apps-script - 从 Google 脚本中的 .getValue 收集时更改日期 "format"

arrays - Google Sheets - 根据相应单元格范围中的数值连接单元格范围中的文本的公式

database - 将单元格格式化为分钟 : seconds in google spreadsheets