以下のこのスクリプトは、あなたが求めていることを厳密に実行します。これは、新しく挿入された行セルが空の場合にのみ機能することも意味します。(2 番目のループの ++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);
}