gpt4 book ai didi

javascript - 如果第 5 列不为空,则将行复制到目标工作表

转载 作者:行者123 更新时间:2023-12-02 23:29:16 25 4
gpt4 key购买 nike

这是我编写的代码 - 我尝试了许多不同的组合,但没有一个给我想要的结果 - 你能解释一下为什么我的代码不正确吗?

代码正在迭代行查找大于 0 的行 - 如果是这样,则将该行复制到目标表 - 但是我复制了错误的行?

function try2() {
var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Final');
var lastrow = sheet2.getLastRow()+1;
var target = sheet2.getRange(lastrow,1,1,5);

var data = sheet1.getRange('E1:E500').getValues();

for(var i=1; i< data.length; i++) {
Logger.log(i)
if (data[i] > 0) {
Logger.log(data[i])

sheet1.getRange(i, 1, 1, 5).copyTo(target);
}
}


}
我更新了代码,在 for 循环中添加了 lastrow 和目标变量,但结果仍然不理想。
function try2() {
var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Final');


var data = sheet1.getRange('E1:E500').getValues();

for(var i=1; i< data.length; i++) {
var lastrow = sheet2.getLastRow()+1;
var target = sheet2.getRange(lastrow,1,1,5);
//Logger.log(i)
if (data[i] !== "") {
Logger.log(data[i])

sheet1.getRange(i, 1, 1, 5).copyTo(target);
}
}


}

最佳答案

要求:

将数据从一张工作表复制到另一张工作表的下一个空闲行。

<小时/>

解决方案:

function try2() {
var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1');
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Final');
var targetLastRow = sheet2.getLastRow() + 1;

var dataLastRow = sheet1.getLastRow();
var dataRange = sheet1.getRange(1,5,dataLastRow);
var data = dataRange.getValues();

for(var i = 0; i < data.length; i++) {
if (data[i]) {
sheet1.getRange(i+1, 1, 1, 5).copyTo(sheet2.getRange(targetLastRow+i,1));
}
}
}
<小时/>

说明:

此脚本将循环遍历第一张工作表 E 列中的所有行,并将所有非空白行复制到工作表“Final”中。通过使用dataLastRow来获取数据。您可以节省定义设定范围 E1:E500 的时间,脚本现在只会获取运行副本所需的行数,而在运行 for 循环之前 500无论如何,次数。

数据被复制到 targetLastRow+i,它是工作表“Final”的下一个可用行,每次循环完成时加 1。

关于javascript - 如果第 5 列不为空,则将行复制到目标工作表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56583426/

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