Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 将替换值从一个工作表更新到另一个google脚本_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 将替换值从一个工作表更新到另一个google脚本

Google apps script 将替换值从一个工作表更新到另一个google脚本,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我正试图弄清楚,如果在sheet1中发现行时,如何根据键列使用sheet2中的数据更新行。另外,如果找不到键,则添加新行。我已经从sheet2中找到了迭代范围,但没有找到如何在sheet1中查找值。欢迎任何建议。(我在这里更新了帖子。) 函数getJulaUpdates2(){ var ss=SpreadsheetApp.getActiveSpreadsheet(); var sheet1=ss.getSheetByName(“Franco Jula”); var range1=sheet1.g

我正试图弄清楚,如果在sheet1中发现行时,如何根据键列使用sheet2中的数据更新行。另外,如果找不到键,则添加新行。我已经从sheet2中找到了迭代范围,但没有找到如何在sheet1中查找值。欢迎任何建议。(我在这里更新了帖子。)

函数getJulaUpdates2(){
var ss=SpreadsheetApp.getActiveSpreadsheet();
var sheet1=ss.getSheetByName(“Franco Jula”);
var range1=sheet1.getDataRange();
var values1=range1.getValues()
var sheet2=ss.getSheetByName(“Jula备选方案”);
var range2=sheet2.getDataRange();
var values2=range2.getValues()
//遍历sheet2
//从1开始以避免标题行
对于(变量i=1;i
为什么不以与sheet2相同的方式迭代sheet1中的值呢?好的,我今天确实做到了这一点。现在唯一的问题是,我正在从sheet2更新sheet1,但没有添加不存在的行。我的大脑在思考查找等于x的东西,如果找不到,就加上它。你需要更具体、更详细。您声称存在一个键列-在哪张图纸上<代码>表1<代码>表2?二者都是的,我有一个关键栏,这是用来更新工作表的。如果(values1[x][1]==values2[i][0]){values1[x][2]=values2[i][2]。如上所述,我还需要添加不存在的行。我用更新工作表但不添加新行的代码更新了我的问题。
function getJulaUpdates2() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();

  var sheet1 = ss.getSheetByName("Franco-Jula"); 
  var range1 = sheet1.getDataRange();
  var values1 = range1.getValues()

  var sheet2 = ss.getSheetByName("Jula-Alternatives");
  var range2 = sheet2.getDataRange();
  var values2 = range2.getValues()

  // Iterate through sheet2
  // Start at 1 to avoid header row
  for (var i = 1; i < values2.length; i++) {

     // Now loop through Values1 sheet
    for (var x = 1; x < values1.length; x++) {
      logthis = values2[i][0] + "," + values1[x][1];

      if (values1[x][1] == values2[i][0]) {
          values1[x][2] = values2[i][2]
          values1[x][12] = values2[i][12]           
          values1[x][13] = values2[i][13]

      Logger.log(logthis);
      }

    }
  }
range1.setValues(values1)
}