是否可以在 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:
在此模式中,使用了 getValues
和 setValues
。
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"中的值通过转置的方式水平放置到最后一列,请测试一下。
参考文献:
我目前有这个脚本。我工作正常,但是,我希望每次选择附加时 水平地附加到下一列 。现在它附加在最后一行之后。请非常具体地说明需要更改的内容。谢谢!
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:
在此模式中,使用了 getValues
和 setValues
。
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"中的值通过转置的方式水平放置到最后一列,请测试一下。
- 如果