在WHILE LOOP for Google Appscript中使用&&时出错

时间:2019-01-09 12:16:02

标签: google-apps-script while-loop google-sheets spreadsheet

有两张纸: 艺术家 艺术家历史

将数据从这两张表复制到变量中,并进行精确匹配比较,如果返回正数,则必须对其执行setValue函数。

尝试保存代码时出现以下错误。

缺少;声明前。 (第14行,文件“测试”)

我不知道问题可能在哪里。

我尝试了如下所示的附加方括号,但没有附加方括号,条件中使用AND和&&,但最终还是出现错误。

function ranking1() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var Artist = ss.getSheetByName("Artist");
var Historical = ss.getSheetByName("Artist History");
var x = 8, y = 2, z = 8, n = 1;

var dList = Artist.getRange("Artist!D8:D").getValues();

var dLast = dList.filter(String).length;

var Artist1 = Artist.getRange('Artist!D'+x).getValue();
var Artist2 = Artist.getRange('Artist!A'+x).getValue();
var Artist3 = Artist.getRange('Artist!I'+z).getValue();

var History1 = Historical.getRange('Artist History!A'+y).getValue();
var History2 = Historical.getRange('Artist History!I'+y).getValue();
var History3 = Historical.getRange('Artist History!F'+y).getValue();

Logger.log(Artist1);
Logger.log(Artist2);
Logger.log(Artist3);
Logger.log(History1);
Logger.log(History2);
Logger.log(History3);  

While ((Artist1 == History1) && (Artist2 == History2) && (Artist3 == History3) && dLast>=n) { 

        Artist.getRange('B'+x).setValue(Artist3);
        n++;
        x++;
        y++;
        z--;

} 

}

如果While循环中的以下所有条件均为正,我希望B8列具有变量Artist3的值。

1 个答案:

答案 0 :(得分:0)

问题在于while循环的语法。使用全小写的while循环可以解决此问题。

while ((Artist1 == History1) && (Artist2 == History2) && (Artist3 == History3) && dLast>=n) { 

        Artist.getRange('B'+x).setValue(Artist3);
        n++;
        x++;
        y++;
        z--;

}