我使用一个函数来检查列的长度并在每个单元格中插入唯一 ID。
var sh = SpreadsheetApp.getActiveSheet();
var dataincol = sh.getRange(1,8,sh.getMaxRows(),1).getValues(); //getRange row, column, numRows, numColumns
//thanks to Serge insas
我的问题是 getValues() 也接受字符串,我不打算这样做,而且我不知道如何从我的 Range 中过滤字符串。dataincol 应该只使用空闲单元格,忽略字符串并继续增加数字。
在这里你可以看到完整的功能:
function fillRowNumber(){
var col = 1 ; // this for column A ! change to your needs
var sh = SpreadsheetApp.getActiveSheet();
var dataincol = sh.getRange(1,col,sh.getMaxRows(),1).getValues();
var maxval =0
for(n=0;n<dataincol.length;++n){
if(Number(dataincol[n][0])>maxval){ maxval=Number(dataincol[n][0])}
}
for(n=1;n<sh.getLastRow();++n){
if(dataincol[n-1][0] == ''){ dataincol[n-1][0]=maxval+1;++maxval}
}
sh.getRange(1,col,sh.getMaxRows(),1).setValues(dataincol);
}
感谢您的任何帮助