インフルエンサー

哲学とライティングとプログラムの発信

【GAS】特定列の最終行の次の空セルに値をセットする

GASで、"特定列の最終行の次の空セルに値をセット"したいと思いました。

  • 値を、継続的にスプレッドシートにセットする
  • 値を上の行から順にセットする
  • データがすでに存在する時は次の行へセット

シンプルな関数などは用意されていない模様です。

さっそくコード。

 var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート名');
 var last_row = sheet.getLastRow(); // 最後の行を取得

 // A列→(i,1)の最後の行データの次のセルに値をセット
  for(var i = last_row; i >= 1; i--) {
    if(sheet.getRange(i,1).getValue() != '') {
      var range = sheet.getRange(i,4); // 取得する範囲を取得
        var j = i + 1;
        sheet.getRange(j,2).setValue("テスト");
        break;
    }
  }

i +1の、iはデータが入っているセルで、その次に指定するために+1しています。

この場合、iが行番号、数字が1→A列、2→B列、3→C列なので適宜変更してください。

if文の下にさらに条件を追加すれば、同じ情報が入ってきたり、処理を抜けたり、など実装できます。