【问题标题】:Copy multiple cells into one cell via google script通过谷歌脚本将多个单元格复制到一个单元格中
【发布时间】:2020-02-02 19:16:35
【问题描述】:

谁能告诉我如何通过谷歌脚本将多个单元格复制并合并到一个单元格中?

这是我现在写的函数。问题是来自源单元格范围的多个单元格将被准确地复制到目标单元格中​​。

相反,我只想将其合并到一个单元格中。

function copyToSheet() {
  var srcTitle=getActiveSheet().getRange("C7");
  var srcText=getActiveSheet().getRange("C22:C28");
  var srcOptions=getActiveSheet().getRange("C32:C41");
  var srcListings=getActiveSheet().getRange("C44:C60");

  var extractedValues = [srcTitle, srcText, srcOptions, srcListings]

  var dstTitle="C4";
  var dstText="D4";
  var dstOptions="E4";
  var dstListings="F4";


  var dstList = [dstTitle, dstText, dstOptions, dstListings]

  var index;
  for (index = 0; index < extractedValues.length; ++index) {
    extractedValues[index].copyTo(getDestinationSheet().getRange(dstList[index]), {contentsOnly:true})
  }

}

【问题讨论】:

    标签: google-apps-script google-sheets


    【解决方案1】:

    复制到并合并

    function copyToAndMerge() {
      var ss=SpreadsheetApp.getActive();
      var ssh=ss.getSheetByName('Sheet1');//src sheet
      var dsh=ss.getSheetByName('Sheet2');//des sheet
      var v=[];
      var rgA=['C7','C22:C28','C32:C41','C44:C60'];//input ranges  
      rgA.forEach(function(rg){
        var vA=ssh.getRange(rg).getValues();
        vA.forEach(function(r,i){v=v.concat(r);});
      });
      //Logger.log(v);
      //v.sort(function(a,b){return a-b;});//if you want to sort the output this sorts numerically
      dsh.getRange(1,1).setValue(v.join(', '));//output cell you can change the delimiter
    }
    

    输出单元格:

    输入只是 C 列下的序号。

    【讨论】:

      【解决方案2】:

      受到@cooper 的启发,使用dsh.getRange(1,1).setValue(v.join(', '));

      我一直以为我只能在对象上运行复制功能。相反,我可以在工作表对象上使用 setValue 函数。

      function copyToSheet() {
        var srcTitle=getActiveSheet().getRange("C7").getValue();
        var srcText=getActiveSheet().getRange("C22:C28").getValues();
        var srcOptions=getActiveSheet().getRange("C32:C41").getValues();
        var srcListings=getActiveSheet().getRange("C44:C60").getValues();
      
        var extractedValues = [srcTitle, srcText, srcOptions, srcListings]
      
        var dstTitle="C4";
        var dstText="D4";
        var dstOptions="E4";
        var dstListings="F4";
      
      
        var dstList = [dstTitle, dstText, dstOptions, dstListings]
      
        var index;
        for (index = 0; index < extractedValues.length; ++index) {
          getDestinationSheet().getRange(dstList[index]).setValue(extractedValues[index]);
        }
      
      }
      

      【讨论】:

        猜你喜欢
        • 2021-04-06
        • 2020-06-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-01-09
        • 1970-01-01
        • 2020-07-26
        • 1970-01-01
        相关资源
        最近更新 更多