【问题标题】:Update or Replace Row data in other sheet when unique id is found - Google Appscript找到唯一 ID 时更新或替换其他工作表中的行数据 - Google Appscript
【发布时间】:2020-10-14 06:11:02
【问题描述】:

我需要有人修改我在此处找到的此脚本,以便在找到唯一 ID 时从 sheet1 更新或替换 sheet2 的行值。这只适用于第 2 列。我需要一些东西来更新或替换 sheet2 中的行,最多 10 列或更多。我有一个示例电子表格。如果您在 sheet2 上看到,某些行值丢失或尚未更新,因此我需要更新或替换 sheet1 中的行。

这是电子表格:

https://docs.google.com/spreadsheets/d/100sjGCr0HSdJE1AERCJ9bGKiu3Vs2KxrvGIIjIrOjHw/edit?usp=sharing

感谢您的帮助和分享您的知识。

函数更新主条目(){
  var ss=SpreadsheetApp.getActive();
  var sh1=ss.getSheetByName('Sheet1');
  var rg1a=sh1.getRange(2,1,sh1.getLastRow()-1,1);
  var vA1a=rg1a.getValues();
  var rg1b=sh1.getRange(2,2,sh1.getLastRow()-1,1);
  var vA1b=rg1b.getValues();
  var sh2=ss.getSheetByName('Sheet2');
  var rg2a=sh2.getRange(2,1,sh2.getLastRow()-1,1);
  var vA2a=rg2a.getValues();
  var rg2b=sh2.getRange(2,2,sh2.getLastRow()-1,1);
  var vA2b=rg2b.getValues();
  for(var i=0;i

【问题讨论】:

    标签: javascript google-apps-script google-sheets-api


    【解决方案1】:

    试试下面的代码,在第二行,根据你的需要改变“numColumns”的值:

    function updateEntrees() {
      var numColumns = 9;
      var ss = SpreadsheetApp.getActive();
      
      var sh1 = ss.getSheetByName('Sheet1');
      
      var rg1a = sh1.getRange(2,1,sh1.getLastRow()-1,1);
      var vA1a = rg1a.getValues();
      
      var rg1b = sh1.getRange(2,2,sh1.getLastRow()-1,numColumns);
      var vA1b = rg1b.getValues();
      
      var sh2 = ss.getSheetByName('Sheet2');
      
      var rg2a = sh2.getRange(2,1,sh2.getLastRow()-1,1);
      var vA2a = rg2a.getValues();
      
      var rg2b = sh2.getRange(2,2,sh2.getLastRow()-1,numColumns);
      var vA2b = rg2b.getValues();
      
      for( var i=0; i < vA1a.length; i++ ) {
        for( var j=0; j < vA2a.length; j++ ) {
          if( vA1a[i][0] == vA2a[j][0] ) {
            vA2b[j] = vA1b[i];
          }
        }
      }
      rg2b.setValues(vA2b);
    };
    

    【讨论】:

    • 感谢基尚的分享。这是一种更好更短的方法。我能够弄清楚,但是我使用了很长的方法来指定每一列: vA2b[j][0] = vA1b[i][0] vA2b[j][1] = vA1b[i][1] vA2b [j][2] = vA1b[i][2]..等等。但它们的工作原理相同..
    猜你喜欢
    • 1970-01-01
    • 2021-04-25
    • 2022-08-13
    • 2020-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-20
    • 1970-01-01
    相关资源
    最近更新 更多