当前位置: 首页 > 知识库问答 >
问题:

在谷歌脚本中,如何根据另一个工作表中的搜索条件从一个工作表中提取值?

司空元凯
2023-03-14

所以我在谷歌电子表格文档中有两张表格。

表1有一列包含以下数据:

ID  
1
2
3
4
5
6
7
8
9
..

然后SHEET 2有2列,数据如下:

ID    EMAIL
1     s@abc.com
2     a@abc.com
7     f@abc.com
...etc

我需要在“表单提交”上运行一个脚本,该脚本执行以下操作:

  1. 打开表1(其中记录了ID)
  2. 将其与表2的第1列的值按顺序进行比较
  3. 当找到匹配时,将电子邮件地址提取到变量var中

有人能帮我吗?这两张表都在同一个谷歌文档中。

非常感谢。

沙希

共有1个答案

公孙成仁
2023-03-14

不确定你想在这里实现什么。如果此“查找”是更广泛的onFormSubmit的一部分,则可以创建一个在需要时调用的函数,并传入ID和电子表格。

function yourMainFunction() {
    var ss =
    ...
    var id =     
    var email = lookupEmail(id, ss)
    ....
    ...
}

function lookupEmail(id, ss) {

    var lookupSheet = ss.getSheets()[1]; //second sheet 
    var data = lookupSheet.getDataRange()
        .getValues()
    var email;
    for (var i = 0, len = data.length; i < len; i++) {
        if (data[i][0] == id) {  //id's are in the first column
            email = data[i][1]  //email is in the second column
        } else {
            email =  null; //if not found return null
        }
    }
    return email;
}
 类似资料:
  • 有人知道如何在Googlesheets中将一行从一张工作表转换/复制到另一张工作表吗? 下面是我想做的:所以我有一个谷歌电子表格文件。它有两个选项卡/工作表。 现在,工作表1有一列名为:“总计” 我知道我必须使用appendRow()函数。但这需要硬编码的值。类似这样的东西:床单。appendRow({“a”,“b”}),但我试图追加的行是由用户输入的。 然后把整行都复制过来。到目前为止,我能够得

  • 通过SpreadsheetApp global,使用绑定到电子表格的应用程序脚本来影响工作表非常简单。但是,有一些功能,例如在工作表上获取/设置过滤器,只能从GoogleSheetsRESTAPI访问。 我见过一个例子,它使用应用程序脚本中的UrlFetchApp来调用谷歌工作表应用编程接口,但它的编写方式好像应用程序脚本实际上没有绑定到特定的电子表格。 当我试图从绑定到电子表格的应用程序脚本中调

  • 我有一张包含两张纸的谷歌纸。一个("")在不同的日期标题下有一系列值(星期日、星期一、星期二......),每天都更新。因此,列标题中的日期每天都在变化,每个标题下的值也在变化。这两个表中的列都是,标题在每个表的第1行,值在第2行。在另一张表()中,是一周中的天数下的值的静态列表。 我想使用条件格式来突出显示中的值,如果它们高于中相应日期下的值。我知道使用函数来引用另一个工作表,并且可以编写一个自

  • 我有一个谷歌电子表格,有两张叫做罗宾和露西的表格。每次我向列A添加一些数据时,我都制作/找到/破坏了一个脚本来对工作表上的数据进行排序 这个剧本很棒,但我只想把它应用在第一张纸上,罗宾。第二个工作表中的数据,Lucy,是不一样的,所以我将创建另一个脚本为不同的范围,一旦我得到了这个问题的头脑。 我想我需要使用getSheetByName(“罗宾”),但我似乎无法让它工作。提前感谢

  • 我有两个谷歌表单标签,第一个表单有A栏-电子邮件地址,B栏-消息,C栏-状态。第二个sheet2只有一列A列-凭证代码,我在sheet2列A中插入了所有必要的数字。因此,每次运行脚本时,我都会发送电子邮件,并根据sheet1数据的最后一行自动从sheet2中选择数字。发送的电子邮件没有问题,但我无法从电子邮件中的sheet2 Col A获取凭证代码数据。

  • 我有一个主谷歌表,有五列,每天自动更新。 同一文档在主表中有三种类型事件的对应表:ABC、DEF和GHI。这些图纸中包含现有值。 我想谷歌应用程序脚本只追加唯一的和新的价值观,从Value1到相应的事件表编辑的主表。例子: 表ABC 工作表DEF 床单GHI 它实际上并不取决于日期,而是查看相应表格中已经存在的内容。 我是谷歌应用脚本的完全初学者。我研究了其他解决方案,我所做的最大努力是找到如何从