使用带有 if else 语句的 for 循环
Using a for loop with an if else statement
我对此有点陌生,我想知道是否可以寻求帮助。我有点坚持我试图在 googlescript 中创建的这个功能。让我简要介绍一下我希望它如何工作。给定 2 个 worksheets,它查看 sheet 1 中的数据集,如果 (i,12)
的值为 Open
,那么它将复制整行并粘贴到 sheet 4 上的下一个空行(因此它向下偏移 1 行)。如果值为 Closed
,则它将继续评估下一个 i
。这一直持续到最后一行 sheet 1 中的值。
function UpdateList(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dSheet = ss.setActiveSheet(ss.getSheets()[0]);
var gSheet = ss.setActiveSheet(ss.getSheets()[3]);
var lRow = dSheet.getLastRow();
var lCol = dSheet.getLastColumn();
var i
var j = 1
for (i = 0; i < lRow; i++) {
if (dSheet.getRange(i, 12).getValue() == "Open") {
dSheet.getRange(i,1,0,lCol).copyValuesToRange(gSheet.setRange(j,1))
} else {
}
}
}
您正在使用 getValue()
在每个循环中获取单个单元格值。这会减慢您的代码速度。获取整列数据,然后遍历数组。为此,您需要使用 getValues()
其中 returns 一个二维数组。如果您只从一列获取数据,那么每个内部数组将只有一个元素。
获取外部数组的内部数组对于单行或单列是不同的。如果你得到一个单行的二维数组,那么就只有一个内数组。
[[cell one, cell two, cell three, etc]]
在上面的二维数组中,只有一个内数组。因此,您只需使用索引零即可轻松获得内部数组。
var innerArray = outerArray[0];
如果您从电子表格中获取单列数据,则会有很多内部数组。
[[one],[two],[three],[etc]]
在那种情况下,您不能简单地获取外部数组的零索引。在这种情况下,您可以有两个 For
循环,一个嵌套在另一个循环中。外层循环会得到每一个内层数组,内层循环会得到内层数组的内容
我对此有点陌生,我想知道是否可以寻求帮助。我有点坚持我试图在 googlescript 中创建的这个功能。让我简要介绍一下我希望它如何工作。给定 2 个 worksheets,它查看 sheet 1 中的数据集,如果 (i,12)
的值为 Open
,那么它将复制整行并粘贴到 sheet 4 上的下一个空行(因此它向下偏移 1 行)。如果值为 Closed
,则它将继续评估下一个 i
。这一直持续到最后一行 sheet 1 中的值。
function UpdateList(){
var ss = SpreadsheetApp.getActiveSpreadsheet();
var dSheet = ss.setActiveSheet(ss.getSheets()[0]);
var gSheet = ss.setActiveSheet(ss.getSheets()[3]);
var lRow = dSheet.getLastRow();
var lCol = dSheet.getLastColumn();
var i
var j = 1
for (i = 0; i < lRow; i++) {
if (dSheet.getRange(i, 12).getValue() == "Open") {
dSheet.getRange(i,1,0,lCol).copyValuesToRange(gSheet.setRange(j,1))
} else {
}
}
}
您正在使用 getValue()
在每个循环中获取单个单元格值。这会减慢您的代码速度。获取整列数据,然后遍历数组。为此,您需要使用 getValues()
其中 returns 一个二维数组。如果您只从一列获取数据,那么每个内部数组将只有一个元素。
获取外部数组的内部数组对于单行或单列是不同的。如果你得到一个单行的二维数组,那么就只有一个内数组。
[[cell one, cell two, cell three, etc]]
在上面的二维数组中,只有一个内数组。因此,您只需使用索引零即可轻松获得内部数组。
var innerArray = outerArray[0];
如果您从电子表格中获取单列数据,则会有很多内部数组。
[[one],[two],[three],[etc]]
在那种情况下,您不能简单地获取外部数组的零索引。在这种情况下,您可以有两个 For
循环,一个嵌套在另一个循环中。外层循环会得到每一个内层数组,内层循环会得到内层数组的内容