IF ELSE Loop in Google Sheets API 中的 Circuit 问题



下面的代码从一个小表单中提取数据,在工作表"dbs"中搜索唯一的ID"uid",并将新信息复制到工作表上的正确行中。 如果我试图通过将其粘贴到工作表底部来完成任务,如果该人尚不存在在"dbs"工作表上。

我尝试了"if else"和"if",都在寻找和不寻找"!== uid"和"。

(复制到行是//输出仅用于调试(

/** @OnlyCurrentDoc */
function submitData() {
var ss = SpreadsheetApp.getActive();
var static = ss.getSheetByName("Static Data"); //static data sheet
var dbs = ss.getSheetByName("DBS Information"); //dbs sheet
var menu = ss.getSheetByName("Menu");
var uid = menu.getRange('E8').getValue();
var values = dbs.getDataRange().getLastRow();

// Logger.log(values)
//find row number
for (var i = 0; i < values.length; i++) {
var row = "";
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] == uid) {
row = values[i][j];
var x = 1;
var z = x + i;
Logger.log(z);
// static.getRange("F2:M2").copyTo(dbs.getRange((z),1), {contentsOnly:true});
} else {
var R = dbs.getLastRow().getvalue;
Logger.log(R);
// static.getRange("F2:M2").copyTo(dbs.getRange((R),1), {contentsOnly:true});
}
}
};
};

如果找到uid,您可以尝试设置一个found变量,然后在循环后检查它以查看是否添加新行。

/** @OnlyCurrentDoc */
function submitData() {
var ss = SpreadsheetApp.getActive();
var static = ss.getSheetByName("Static Data"); //static data sheet
var dbs = ss.getSheetByName("DBS Information"); //dbs sheet
var menu = ss.getSheetByName("Menu");
var uid = menu.getRange('E8').getValue();
var values = dbs.getDataRange().getLastRow();

// Logger.log(values)
//find row number
var found = false;
for (var i = 0; i < values.length; i++) {
var row = "";
for (var j = 0; j < values[i].length; j++) {
if (values[i][j] == uid) {
row = values[i][j];
var x = 1;
var z = x + i;
Logger.log(z);
found = true;
break;
// static.getRange("F2:M2").copyTo(dbs.getRange((z),1), {contentsOnly:true});
}
}
};
if (!found) {
var R = dbs.getLastRow().getvalue;
Logger.log(R);
// static.getRange("F2:M2").copyTo(dbs.getRange((R),1), {contentsOnly:true});
}
};

最新更新