如果等于另一个电子表格中的值

时间:2016-10-16 05:48:55

标签: google-apps-script google-sheets

我有一个系统,用户在google表单上输入信息,appscript将信息放在日历上。

我很想知道是否有可能让appscript检查所输入的信息是否与其他电子表格中的任何内容相匹配(即:被禁止的信息黑名单)

我想我可以做类似的事情:

var name = sheet.getRange(lr,name,1,1).getValue();
var ban = SpreadsheetApp.openById('ID of another sheet').getValue();
if (name == ban){
return;
};

但显然我错了,它不起作用。
我认为我要做的事情有两个问题:
1.从另一张纸上获取值的代码不起作用 2.来自另一个工作表的值不是单个值,而是列中的多个名称,因此我无法比较变量名称和禁止(或者不能将值写入单个变量)

我记得我看到一些代码可以在一个变量中保存多个值,我认为它看起来像

var ban=i,i++;

或这些行中的某些内容,但我输入的内容似乎不正确,因为它不起作用。

我想知道如何从另一个电子表格中获取值并将多个值写入单个变量。

我道歉,如果我在代码中犯了一些愚蠢的错误,我实际上并不知道如何编码,我只是谷歌搜索和混合我在网上找到的代码。
感谢

1 个答案:

答案 0 :(得分:3)

首先,我猜你已经定义了这样的变量表:

var sheet = SpreadsheetApp.openById("ID of sheet where the data is stored").getSheetByName("Name");

下一步是定义变量禁止,如下所示:

var ban = SpreadsheetApp.openById("ID of another sheet").getSheetByName("Name").getDataRange().getValues();

现在检查信息匹配与否的部分。

var count=0;

for(var i=0;i<ban.length;i++)
{
   if(name==ban[i])
   {
      count++;
   }
}

if(count!=0)
{
   Logger.log("Match found");
}

要在运行代码时检查代码的输出,您需要按CTRL + ENTER ...这将打开日志,如果您发现日志为&#34;匹配找到&#34; ...它意味着代码是正确的......否则可能会有其他错误...可能是存储禁止值的电子表格的数据格式。

相关问题