2017-12-05 8 views
0

Googleシートの特定の列に空のセルを見つけようとしています。私はgetLastRow()に精通していますが、シート全体の最後の行を返します。私は特定の列の最初の空のセルを取得したい。だから、私はforループとifを使いました。しかし、私はなぜそれが動作していないのか分からない。問題はforループが何も返さないということです。 シートテスト(line2)で列H(位置8)の10行を取得しています。最初の5行には既にコンテンツがあります。データは後で別のコードを使用してこのセルに追加されます。だから、私は新しいデータを入れることができるようにこの列の最初の空のセルを見つけることができるようにしたい。Googleシートスクリプトを使用して列の空のセルを検索する

var sheettest = SpreadsheetApp.getActive().getSheetByName("test"); 
var columntest = sheettest.getRange(4, 8, 10).getValues(); 
    for(var i=0; columntest[i]=="" ; i++){ 
     if (columntest[i] ==""){ 
     var notationofemptycell = sheettest.getRange(i,8).getA1Notation(); 
     return notationofemptycell 
     } 

    } 

私が言ったように、私はその列の最初の空のセルを見つけたいです。セルが空でない限り、forループを実行するように定義しました。セルが空の場合、そのセルのA1表記が返されます。 デバッグ時にvar "notationofemptycell"の定義がないため、空のセルが見つかるまでforループが実行されるようです。

答えて

0

columntestの長さにループする必要があります。これを試してください:

function myFunction() { 
    var sheettest = SpreadsheetApp.getActive().getSheetByName("test"); 
    var lr=sheettest.getLastRow() 
    var columntest = sheettest.getRange(4, 8, lr).getValues(); 
    for(var i=0; i<columntest.length ; i++){ 
     if (columntest[i] ==""){ 
     var notationofemptycell = sheettest.getActiveCell().getA1Notation(); 
     Logger.log(notationofemptycell) 
     break;//stop when first blank cell on column H os found. 
     } 
    } 
} 
+0

が働いています。ありがとうございます –

+0

答えの左側にチェックマークを付けることで、回答を承認してください。ありがとう。 –

関連する問題