根据单元格文本内容设置单元格颜色的格式

时间:2019-05-14 01:40:13

标签: google-sheets conditional-formatting google-sheets-formula gs-conditional-formatting

我想完成这样的事情:

我有一种“关系”电子表格,我希望行根据颜色进行着色。

enter image description here

我为“类别”工作表上的每个类别手动选择一种唯一的颜色,或者根据字符串内容生成一种唯一的颜色,这两种方法都适用于我的用例。

2 个答案:

答案 0 :(得分:0)

这不是最好的解决方案,但它可行
enter image description here

function onEdit(e) {
  if(e){
    var ss = e.source.getActiveSheet();
    var range = e.source.getActiveRange();

    var r1 = range.getRow();
    var c1 = range.getColumn();
    var rowsCount = range.getNumRows();

    for(var i=0; i<rowsCount; i++){

      var row = ss.getRange(r1+i,1,1,ss.getMaxColumns());
      updateRow(row, ss);
    }
  }
}

function updateRow(row, ss){
  if (ss.getName() == "Entries") { // This is the sheet name

    var cell = row.getCell(1,1);
    var firstCellValue = cell.getValue();

    if(firstCellValue){
      cell.setBackgroundColor(stringToColor(firstCellValue));
    }
    else{
      cell.setBackgroundColor(null);
    }
  }
}


function stringToColor(str) {
  var hash = 0;
  for (var i = 0; i < str.length; i++) {
    hash = str.charCodeAt(i) + ((hash << 5) - hash);
  }
  var colour = '#';
  for (var i = 0; i < 3; i++) {
    var value = (hash >> (i * 8)) & 0xFF;
    colour += ('00' + value.toString(16)).substr(-2);
  }
  return colour;
}

基于this答案

答案 1 :(得分:0)

在条件格式中选择要应用颜色的范围,选择颜色,
选择 Text is exactly 并设置值:

enter image description here