Javascript 复印及;在复制到其他工作表时修改每个表单提交的特定值

Javascript 复印及;在复制到其他工作表时修改每个表单提交的特定值,javascript,google-sheets,Javascript,Google Sheets,我遇到了这样一种情况,即两个独立方需要访问相同的数据,但其使用数据的后端需要不同的格式,例如,一方需要看到“足球”,另一方需要看到“1”。 这些输入来自不同的用户通过谷歌表单 我以前运行过一个时间间隔脚本,该脚本将复制工作表1中的所有数据,然后将其复制到工作表2,然后启动一个双循环(使用var I)来搜索所有列,并用数值替换工作表2上的特定字符串。 这个脚本工作正常,但由于效率低下,一旦我开始有更多数据,它就开始崩溃 因此,我试图通过处理来自每个表单提交的数据来减少数据集。 我尝试了两种不同的方

我遇到了这样一种情况,即两个独立方需要访问相同的数据,但其使用数据的后端需要不同的格式,例如,一方需要看到“足球”,另一方需要看到“1”。 这些输入来自不同的用户通过谷歌表单

我以前运行过一个时间间隔脚本,该脚本将复制工作表1中的所有数据,然后将其复制到工作表2,然后启动一个双循环(使用var I)来搜索所有列,并用数值替换工作表2上的特定字符串。 这个脚本工作正常,但由于效率低下,一旦我开始有更多数据,它就开始崩溃

因此,我试图通过处理来自每个表单提交的数据来减少数据集。 我尝试了两种不同的方法: 1) 抓取要复制的值,修改值,然后复制到新图纸 2) 获取要复制的值,复制到新图纸,然后修改这些新值(lastrow)

我知道复制位在我编写的两个脚本中都有效,但我的修改不起作用,当使用调试器时,它会向我显示修改后的数据与原始数据相同,事实上,这就是复制相同的情况。 我意识到我可能犯了一个非常基本的错误,但我对它是什么一无所知。在Stackoverflow和其他网站上搜索类似的线程,我没有找到解决方案

当前代码:

function onFormSubmit(e){


  var responses = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1");
  var projects =  SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet2");
  var row = responses.getLastRow();
  var col = responses.getLastColumn();
  var copy = responses.getRange(row, 1, 1, col)
  var modify = copy.getValues();
  for (var i=0; i < modify.length; i++){
    if (modify [i] == "SearchString1"){
        modify [i] = "1";
      }
      else if (modify [i] == "SearchString2"){
        modify [i] = "0";
      }
      else if (modify [i] == "SearchString3"){
        modify [i] = "1";
      }
  projects.appendRow(modify);
    }
}
函数onFormSubmit(e){
var responses=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet1”);
var projects=SpreadsheetApp.getActiveSpreadsheet().getSheetByName(“Sheet2”);
var row=responses.getLastRow();
var col=responses.getLastColumn();
var copy=responses.getRange(行、1、1、列)
var modify=copy.getValues();
对于(变量i=0;i
此代码将复制数据,但不会修改它。
我在使用.setvalues时有一个变体,但结果是相同的。

解决了,这都是关于位置标识符的。 getvalues创建了一个双数组,追加在循环中,而不是在循环外部。我必须更好地指定追加和修改

固定代码:

  for (var i=0; i < modify[0].length; i++){
    if (modify[0][i] == "SearchString1"){
        modify[0][i] = "1";
      }
      else if (modify[0][i] == "SearchString2"){
        modify[0][i] = "0";
      }
      else if (modify[0][i] == "SearchString3"){
        modify[0][i] = "1";
      }
    }
  projects.appendRow(modify[0]);
}
for(变量i=0;i