0

我有一个带有 3 张纸的 Google 电子表格。

在第一张纸中,我有另外两张纸的简历。该工作表有一个“C”列,其中写有与简历对应的工作表名称。

现在我想要一个脚本来检查工作表的名称,如果名称与“C”列中的名称匹配,则将“C”列中的相应单元格着色为红色。

我已经编写了这段代码,但似乎没有工作!

function myFunction() {

var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var ss = SpreadsheetApp.getActiveSpreadsheet();
var columnC = sheet.getRange (1, 3, sheet.getLastRow(), 1);
var Cvalues = columnC.getValues();
var allSheets = ss.getSheets();
var allSheetNames = new Array();

for (var i = 0; i < allSheets.length; i++)
{
  allSheetNames.push(allSheets[i].getName());
}

for (var j=0 ; j < Cvalues.length; j++)
{
if (Cvalues[j][0] == allSheets) {
  sheet.getRange( j, 1, 1, 1).setBackgroundColor('red');}
 }

 }
4

1 回答 1

0

这里的问题:

if (Cvalues[j][0] == allSheets) {

allSheets是一个数组,所以里面的值Cvalues[j][0]永远不会等于它。您可能希望它确定是否Cvalues[j][0]出现在allSheets. 下面是你如何做到这一点:

if (allSheets.indexOf(Cvalues[j][0]) !== -1) {
  ...
于 2013-11-28T21:24:09.813 回答