我如何使用基于2个匹配值的数组的setValue()?

swo*_*fe2 1 javascript google-apps-script

我应该首先让你知道我是JS的极端新手.我的背景几乎完全在SQL/VBA中.因此,无论是编码还是Stack Overflow礼仪,您都可以提供任何提示.

问题背景: 我有一个脚本用于从Google表单回复发送出站电子邮件,托管在Google表格中并设置为OnFormResponse().通常,我只被要求从HTML模板电子邮件中的表单响应中发回特定信息.但是,我现在的业务案例是我需要从另一个工作表中查找值,其中相邻列的值与表单响应值匹配.使用匹配的值,我需要在Form Response表中设置特定列/行(F:F)的值.

示例: 这是Form Responses工作表的简化版本,以及我通常使用的公式: 在此输入图像描述

以下是另一个选项卡"Unique Databases!",如下所示:

在此输入图像描述

所以,我对JavaScript数组的理解是,在Form Responses Sheet上,我会将所有列(本例中的A:E)加载到变量中,并获取值.然后,获取"Unique Databases!"的A:B列,将这些值加载到另一个数组中.如果这是准确的,你如何比较1个数组的索引与另一个数组的索引,并返回相邻的匹配?

谢谢!

Coo*_*per 6

你可以试试这个功能:

function dbmanager(dbname) {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getSheetByName('Unique Databases!');
  var rg=sh.getDataRange();
  var vA=rg.getValues();
  var r='';
  for(var i=0;i<vA.length;i++){
    if(dbname==vA[i][0]){
      r=vA[i][1];
      break;
    }
  }
  return r;  
}
Run Code Online (Sandbox Code Playgroud)