2017-06-04 58 views
0

我想设置动态getRange函数,因此我使用getRange(row,column,numRows,numColumns)函数,我的示例如下所示:计算工作表中的行数然后用Google Apps脚本在Google电子表格中减去行数

var range = sheet.getRange(7,11,sheet.getLastRow(),sheet.getLastColumn()); 

而结果是ex。但是,当我想要使用这个范围,例如,将一些数据放到工作表,函数不使用起始点(startRow - 7,startColumn - 11)。所以,我想从getLastRow()和getLastColumn()减去它和它的作品,但给我的十进制数(例如LASTROW = 193.0)和函数粉碎

function myFunction() { 
    var ss = SpreadsheetApp.getActive(); 
    var sheet = ss.getSheetByName('Arkusz1'); 
    var lastRow = sheet.getLastRow(); 
    var lastColumn = sheet.getLastColumn() - 2; 
    var lastColumnParse = parseInt(lastColumn, 10); 
    var range = sheet.getRange(1,1,lastRow, lastColumn); 
    var formatting = range.getBackgrounds(); 
    var data = range.getValues(); 

    for(var y = 1; y < data.length; ++y){ 
    var message = ''; 

    for(var x = 0; x < data[y].length; x++){ 

     if(formatting[y][x] == '#ffff00'){ 
     var header = data[0][x]; 
     message += ' ' + header + ' - ' + data[y][x] + ' zł, ' + lastRow + ' ' + lastColumn; 
     }; 

     data[y][lastColumn] = message 
    } 
    } 

    range.setValues(data); 
} 

和错误消息是:

该消息表示宽范围不正确。输入7,但它应该是6

在控制台中,我们可以看到,得到x = 7.0,而不是6.

我不能发现其中的错误。请帮帮我。

回答

0

问题是,在JavaScript/Google Apps脚本中,数组索引为0(零),行/列索引为1(一)。换句话说,具有七个元素的数组的长度是七个,但最后一个元素的索引是六个。

相关问题