2016-10-16 71 views
0

我有一个系统,用户在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

仔细一看,在与电子表格你的代码做什么。它获得了什么的价值?什么表?什么细胞?那是你的问题。 –

回答

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 ...这将打开,如果你发现日志为“找到匹配的”日志...这意味着代码是正确的...否则可能会有其他错误...也可能是电子表格中存储禁用值的数据格式。

相关问题