gpt4 book ai didi

javascript - 使用应用程序脚本在确定列的最后一行插入值

转载 作者:行者123 更新时间:2023-12-04 00:56:02 26 4
gpt4 key购买 nike

我需要复制某列最后一行的值,我看到这样的例子... Stackoverflow但他们没有为我提供剧本。我遇到的问题是,在 A 列中我有五个值,在 BC 列中我只有一个这样的值。 .
A B C
1 1 1
1 - -
1 - -
1 - -
1 - -
我想像这样在 BC 列中插入值...
A B C
1 1 1
1 2 2
1 2 2
1 - -
1 - -
但是我的脚本的问题是它像这样插入它们......
A B C
1 1 1
1 - -
1 - -
1 - -
1 - -
- 2 2

    //This part its not important
function last(){
var ss = SpreadsheetApp.openById("ID");
var ssh = ss.getSheetByName("Name")
var Range = ssh.getRange("B1:C");
var getVal = Range.getValues();

//This part its the important
var ss = SpreadsheetApp.getActiveSpreadsheet();
var ssh = ss.getSheetByName("Sheet 1");
var lastRow = ssh.getLastRow() + 1;
var ssRange = ssh.getRange(lastRow , 2, getVal.length, getVal[0].length).setValues(getVal);
}

我需要帮助,以便将值插入正确的行。

编辑

这是我的脚本...

 function last(){
var ss = SpreadsheetApp.openById("ID");
var name = ss.getSheetByName("NAMES");
var lastRow = name.getLastRow();
var range = name.getRange("A"+(lastRow)+":D"+(lastRow));
var datas = range.getValues();

var actSs = SpreadsheetApp.getActiveSpreadsheet();
var sheetOne = actSs.getSheetByName("1");
var ltRo = sheetOne.getLastRow();
var startRow = null;
var i = 0;
while(i < datas.length)
{
if(datas[i][0]){
startRow = i + 2;
i++;
}
if (!i){
startRow = 1;
}
var ssRange = sheetOne.getRange(startRow, 2, datas.length,
datas[0].length).setValues(datas);
}
}

这是 Spreadsheet

最佳答案

我以前使用过的另一种方法来自 this answer :

var ss = SpreadsheetApp.getActiveSpreadsheet();     
var ssh = ss.getSheetByName("Sheet 1");
var Avals = ssh.getRange("B1:B").getValues();
var Alast = Avals.filter(String).length;
var ssRange = ssh.getRange(Alast +1 , 2, getVal.length, getVal[0].length).setValues(getVal);

关于javascript - 使用应用程序脚本在确定列的最后一行插入值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51973401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com