我有一个包含40个不同数字的列,从1到40列出。 当我在另一行的上方或下方插入一行时,此新行的编号应为41,忽略序列。 这些数字都不应出现两次或被删除。
这个想法是每行都有唯一的ID,并且行数可以增长。
这个想法的功能如何在谷歌脚本中查找谷歌电子表格?
我尝试使用脚本单元函数和正常的给定函数,但不幸的是我被卡住了。
感谢您的帮助!
答案 0 :(得分:1)
以下此脚本严格按照您的要求执行。这也意味着它只有在新插入的行单元格为空时才有效。 (由于第二个循环中的++ maxval,它可以填充多个插入的行)。如果你在最后一行之后添加一个空行,它将无法工作(实际上ID单元格必须为空,但该行必须有一些东西,以便脚本“看到它”)但这是非常合乎逻辑的!
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);
}