Google sheets 谷歌电子表格中的脚本:列和行索引的移位

Google sheets 谷歌电子表格中的脚本:列和行索引的移位,google-sheets,Google Sheets,我编写了一个脚本,将单元格内容的一部分(比如说单元格C4)放入另一列(同一行)。列由列的标题确定,使用for循环更改行。我把代码的主要结构放在下面。除此之外,一切都在运行,例如,如果我取单元格C4的内容(因此行I=2),它必须放在B4中,实际上它将放在B3中。我必须将1添加到行和列索引中,以便它位于正确的单元格中。奇怪的是,代码在读取单元格(单元格A1=[0][0])时获得了正确的列和行索引,但当它必须在单元格中写入时,情况就不再是这样了(如单元格A1=[1][1])。你知道为什么吗?还是我的代

我编写了一个脚本,将单元格内容的一部分(比如说单元格C4)放入另一列(同一行)。列由列的标题确定,使用for循环更改行。我把代码的主要结构放在下面。除此之外,一切都在运行,例如,如果我取单元格C4的内容(因此行I=2),它必须放在B4中,实际上它将放在B3中。我必须将1添加到行和列索引中,以便它位于正确的单元格中。奇怪的是,代码在读取单元格(单元格A1=[0][0])时获得了正确的列和行索引,但当它必须在单元格中写入时,情况就不再是这样了(如单元格A1=[1][1])。你知道为什么吗?还是我的代码有问题?谢谢 PS:我确信我没有在代码中使用“I”作为另一个变量名

function thrs() {
    var ss = SpreadsheetApp.getActiveSpreadsheet(),
        sheet = ss.getActiveSheet(),
        range = sheet.getDataRange(),
        values = range.getValues(),
        ...;
    for (var i=2;i<values.length;i++) { // change the row
        var val = values[i][an], // the index "an" is determined by the column title
            ...;
    range.getCell(i, ts).setValue(num); // the index "ts" is determined by the column title and "num" is what I want to write in the cell
     }
}
函数thrs(){
var ss=SpreadsheetApp.getActiveSpreadsheet(),
sheet=ss.getActiveSheet(),
范围=工作表。getDataRange(),
values=range.getValues(),
...;

对于(var i=2;iJavaScript数组索引是基于0的。这是在
values[i][an]

谷歌电子表格索引是基于1的。这是您在
getCell(i,ts)
中使用的


因此,您需要针对这种差异进行调整:
range.getCell(i+1,ts)
JavaScript数组索引是基于0的。这是您在
值[i][an]中使用的

谷歌电子表格索引是基于1的。这是您在
getCell(i,ts)
中使用的

因此,您需要针对这种差异进行调整:
range.getCell(i+1,ts)