0

列の長さをチェックし、各セルに一意の 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);
}

助けてくれてありがとう

4

1 に答える 1