【问题标题】:Import specific ranged data (only of columns)导入特定的范围数据(仅列)
【发布时间】:2016-12-26 07:25:14
【问题描述】:

非常感谢@utphx 写了this script。我接受了答案,然后在真实文档中测试脚本时遇到了问题。

has the script 将列表中的拆分数据发送到报告文件电子表格(区域 A、区域 B)的文档。该脚本将每个region(A 区)的新数据置于旧数据之下。

但是,区域 A 接收新行并将其放置在旧行之下,而不是放在列表的末尾(请参阅区域 A 文件),因为文档在 G 列中包含公式。

如何更正脚本,使其仅向 A-D 列发送和接收数据,并将公式放在右侧?

  function myFunction() {
    // Data Sheet
    var ss = SpreadsheetApp.getActiveSpreadsheet();
    var dataSheet = ss.getSheets()[0];
    var data = dataSheet.getDataRange().getValues();

    //You can change these for each Region
    var regionAId = "SPREADSHEET KEY for RegionA"
    var regionA = "Region A";
    var regionAdata = SpreadsheetApp.openById(regionAId);
    var regionBId = "SPREADSHEET KEY for RegionB"
    var regionB = "Region B";
    var regionBdata = SpreadsheetApp.openById(regionBId);
    //add the other regions

    for (var i=0; i < data.length; i++) {
        if (data[i][0] == regionA){
            regionAdata.appendRow(data[i])
        }     
        if (data[i][0] == regionB){
            regionBdata.appendRow(data[i])
        }    
        //add the other regions
    }
}

https://stackoverflow.com/a/41313534/7337152

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    我认为您不应该针对最初的问题发布单独的问题,但这里是适用于区域 A 的代码。您可以扩展到其他区域。看起来你很着急,所以这段代码很快而且效率不高,但应该可以工作:

    function regionA() {
      // Data Sheet
      var ss = SpreadsheetApp.getActiveSpreadsheet();
      var dataSheet = ss.getSheets()[0];
      var data = dataSheet.getDataRange().getValues();
    
      //Code for Region A
      var regionAId = ""
      var regionA = "Region A";
      var regionAdata = SpreadsheetApp.openById(regionAId).getSheets()[0];
      var column = regionAdata.getRange('A2:A');
      var values = column.getValues(); 
      var ct = 1;
      while ( values[ct] && values[ct][0] != "" ) {
        ct++;
      }
    
      for ( var i=0; i < data.length; i++) {
        if (data[i][0] == regionA){
          regionAdata.getRange(ct+2,1,1,4).setValues([data[i].slice(0, 4)]);
          ct++
        } 
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-09
      • 2021-07-08
      • 1970-01-01
      • 2021-06-07
      • 1970-01-01
      • 2022-11-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多