我有一张包含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');}
}
}
答案 0 :(得分:0)
问题在这里:
if (Cvalues[j][0] == allSheets) {
您的allSheets
是一个数组,因此Cvalues[j][0]
中的值永远不会等于它。您可能希望它确定Cvalues[j][0]
中allSheets
是否出现if (allSheets.indexOf(Cvalues[j][0]) !== -1) {
...
。这是你如何做到的:
{{1}}