比较2个表中的数据,并覆盖第一个表中的数据。 Apps脚本Google表格

我有2个简单表,都带有水果及其价格黄色一个see picture具有更新的价格,但不是所有的水果,因为不是所有的水果都已更新。

比较2个表中的数据,并覆盖第一个表中的数据。 Apps脚本Google表格

我想要的是用黄色表中的价格更新白色表的价格。

我的目标是得到一个像这样的数组[[1],[2],[5],[6]]粘贴到B列中。

比较2个表中的数据,并覆盖第一个表中的数据。 Apps脚本Google表格

ffffcccc 回答:比较2个表中的数据,并覆盖第一个表中的数据。 Apps脚本Google表格

要实现您的目标,您将必须使用function,如下所示。此函数将使用getRange()getValues()读取所有数据。稍后它将迭代所有当前值,以搜索价格与更新后价格不同的匹配的 fruits ;并在找到匹配项时覆盖价格。

function updateFruits() {
  var sheet = SpreadsheetApp.openById(
    '{SPREADSHEET ID}').getSheets()[0];
  var updatedData = sheet.getRange(1,4,3,2).getValues();
  var table = sheet.getRange(1,1,2);
  var tableData = table.getValues();

  for (var i = 0; i < updatedData.length; i++) {
    for (var j = 0; j < tableData.length; j++) {
      if (updatedData[i][0] == tableData[j][0]) {
        if (updatedData[i][1] != tableData[j][1]) {
          tableData[j][1] = updatedData[i][1];
        }
      }
    }
  }

  table.setValues(tableData);
}

请记住,用您的电子表格ID更新。如果您还有任何疑问,请随时要求进一步澄清。

本文链接:https://www.f2er.com/3109557.html

大家都在问