是否可以在 google 工作表中水平附加到下一列?

Is it possible to append to the next column horizontally in google sheets?

我目前有这个脚本。我工作正常,但是,我希望每次选择附加时 水平地附加到下一列 。现在它附加在最后一行之后。请非常具体地说明需要更改的内容。谢谢!

function myFunction() {
  var ss = SpreadsheetApp.openById("1aACg8M89LLxILIvUqWT2ZnrykF8e3BkIiamj2NhKrmc")
  var sheet = ss.getSheetByName("Framsida");
  var data = sheet.getRange(2, 3, 25, 1).getValues();
  for (var i = 0; i < data.length; i++) {
    Logger.log(data[i][0]);
    Logger.log(data[i][1]);
  }
  var row= sheet.getLastRow();
 Logger.log(row);
 Logger.log(data);
   var temp = data
     for (i in temp){
       var write = temp[i]
       if (row >=10) {ss.getSheetByName("Archive").appendRow(write)};

     } 
   ss.getSheetByName("Framsida").getRange(2, 3, 25, 1).clear();

}

您想从 sheet“Framsida”的“C2:C26”单元格中检索值,并希望将这些值放入 [=55] 最后一列的下一列=]“存档”。

为了检索 sheet 的最后一列,请使用 getLastColumn()。在这里,我想提出 2 种模式来实现您的目标。

模式 1:

在此模式中,使用了 getValuessetValues

function myFunction() {
  var ss = SpreadsheetApp.openById("1aACg8M89LLxILIvUqWT2ZnrykF8e3BkIiamj2NhKrmc")
  var srcSheet = ss.getSheetByName("Framsida"); // <--- Modified
  var srcRange = srcSheet.getRange(2, 3, 25, 1);
  var data = srcRange.getValues();
  
  var dstSheet = ss.getSheetByName("Archive");
  dstSheet.getRange(2, dstSheet.getLastColumn() + 1, data.length, 1).setValues(data);
  
  srcRange.clear();
}

模式二:

在此模式中,使用了 copyTo

function myFunction() {
  var ss = SpreadsheetApp.openById("1aACg8M89LLxILIvUqWT2ZnrykF8e3BkIiamj2NhKrmc")
  var srcSheet = ss.getSheetByName("Framsida"); // <--- Modified
  var srcRange = srcSheet.getRange(2, 3, 25, 1);
  
  var dstSheet = ss.getSheetByName("Archive");
  srcRange.copyTo(dstSheet.getRange(2, dstSheet.getLastColumn() + 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES);
  
  srcRange.clear();
}
  • srcRange.copyTo(dstSheet.getRange(2, dstSheet.getLastColumn() + 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES);修改为srcRange.copyTo(dstSheet.getRange(2, dstSheet.getLastColumn() + 1), SpreadsheetApp.CopyPasteType.PASTE_VALUES, true);时,数值是转置的。
    • 如果appended to the next column horizontally表示要将"C2:C26"中的值通过转置的方式水平放置到最后一列,请测试一下。

参考文献: