根据百分比更改Google表格上的单元格背景颜色

时间:2018-04-09 20:20:05

标签: google-apps-script google-sheets

我熟悉Google表格中的条件格式设置工具,但是对于我正在处理的工作,在脚本编辑器上编码它会更加理想。我正在尝试学习Apps脚本基础,但有时候我不能把这些东西连贯地组合在一起。我没有编码经验,非常感谢任何帮助。

情况:

我需要根据Column C单元格中显示的百分比更改Column WColumn W的背景颜色

我对FT所做的任何修改都会更新Column W的百分比。 Column W的百分比范围为0-.99

我希望这是基于价值的颜色。确切的颜色在括号中。

0 = White
<=.33 = Red (#e67c73)
<=.66 = Orange (#f6b26b)
<=.99 = Yellow (#ffd966)

1 个答案:

答案 0 :(得分:0)

试试这个:

function onEdit(e){
  var edtSht='sheetname';
  var ss=e.source;
  var rg=e.range;
  var sh=rg.getSheet();
  var row=rg.getRow();
  var col=rg.getColumn();
  if(sh.getName()==edtSht && col>=6 && col<=20){
    var drg=sh.getDataRange();
    var bA=drg.getBackgrounds();
    var vA=drg.getValues();
    for(var i=0;i<vA.length;i++){
      if(vA[i][22]==0){
        bA[i][2]='ffffff';
        bA[i][22]='ffffff';
      }
      if(vA[i][22]>0 && vA[i][22]<=.33){
        bA[i][2]='#e67c73';
        bA[i][22]='#e67c73';
      }
      if(vA[i][22]>.33 && vA[i][22]<=.66){
        bA[i][2]='#f6b26b';
        bA[i][22]='#f6b26b';
      }
      if(vA[i][22]>.66 && vA[i][22]<=.99){
        bA[i][2]='#ffd966';
        bA[i][22]='#ffd966';
      }
    }
    drg.setBackgrounds(bA);
  }
}

当然,您可以根据需要修改它以对每行执行此操作。