如何在Google Spreadsheets中使用自定义脚本进行条件格式设置?

时间:2018-07-28 05:27:15

标签: google-sheets

Google Scripts使用Javascript,但我还没有开始学习Javascript,因此我将其保持为非常简单。这是一个电子表格示例:

https://docs.google.com/spreadsheets/d/19yrUahvBt8GQMMZnykJ9i9xAoeVfMkw681HxOIj2_4I/edit?usp=sharing

左侧的列是固定的术语列表。右边的列是用户手动输入的术语的列表。如果用户在左侧的单元格之一中输入左侧的一项,则右侧的单元格应变为绿色(不区分大小写)。因此,在此示例中,我希望B4和B5变为绿色。

这是我的脚本:

function Script1(singlecell, valuesy) {

  for(var y = 0; y < valuesy.length; y++) {

    var tempx = String(singlecell).toLowerCase().trim();
    var tempy = String(valuesy[y]).toLowerCase().trim();

    if((tempx === tempy)&&(!((tempx.length===0)||(tempy.length===0)))) {

      return true;
    }

  }

  return false;  
}

这都是我尝试使用脚本获取某种条件格式的方法:

https://i.imgur.com/e6N8dWv.png

https://i.imgur.com/vvKB2L5.png

这些都不起作用。

我希望它能够正常工作的原因是因为我在预算电子表格中使用了类似的内容。

我知道还有更复杂的方法,其中脚本可以获取实际的电子表格并更改单元格本身的格式。如果可以的话,我宁愿不使用该方法。

编辑:“重复”问题根本没有提到自定义脚本。因此,尽管解决方案可能相同(使用“ match”或“ countif”),但问题并不相同。因为我的问题的实际答案是:“您不能在自定义脚本中使用条件格式。” (而且第一个问题太可怕了,没有包含任何代码尝试或电子表格,因此我宁愿不被删除)

1 个答案:

答案 0 :(得分:0)

无需创建自定义函数。您只需要在条件格式中使用其他公式即可:

=ISNUMBER(MATCH(B1, $A$2:$A, 0))

enter image description here