GAS入門 Google Apps Script

【3分で解決】GASでスプレッドシートの最終行のセルに書き込む2つの方法

お仕事おつにゃッス🐈

文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!

スプレッドシートの最終行に自動でデータを入力できたら便利ですよね?

この記事ではそのお悩みを、コピペOKのGoogle Apps Scriptのコードを2つ紹介して解決します。

あっきょ
この記事は以下で悩んでいる人におすすめ!

  • 自動で最終行の空白セルにデータを入力したい
  • もっと便利で使いやすいリストを作成したい
  • プログラミングでJavaScriptを学んだけど、何を作っていいかわからない

誰でも無料で簡単にできますので、お気軽に学んでいきましょう!

最終行に文字を書き込むイメージ

最終行に文字を書き込むイメージ

最終行に文字を入力します。

例えば、12行目が空白の場合はその行に自動で値を入力します。

これで最終行までスクロールして記入する時間と上書きなどの入力ミスを減らせます

結果として、残業の時間を減らすことができます。

最終行に文字を書き込む準備

Google Apps Script でスプレッドシートの最終行に文字を書き込む準備をします。ファイルは1つ必要です。

必要なファイル

  • Google スプレッドシート  ・・・ リストの作成&コードの貼り付け

スプレッドシートの作成

最終行に文字を埋めるスプレッドシートを作成します。

この記事では「氏名」、「性別」、「年齢」の3項目を追加し、2行目から11行目までに個人のデータをそれぞれ記入していきます。スプレッドシートの準備は以上です。

GASでスプレッドシートの最終行のセル内に値を埋め込むシートの例

サンプルコードを貼り付ける場所

サンプルコードはGoogle スプレッドシートにコピペします。

上バーの「拡張機能」の中にある「Apps Script」をクリック。ここにコードを書きます。

GASをスプレッドシートに記入する際の「Apps Script」の表示

①setValuesメソッドで追加する方法

1つ目はsetValuesメソッドを使って追加する方法です。

解説の項目

  • サンプルコード
  • A, 使用するスプレッドシートの指定
  • B, 最終行に追加するデータを定義
  • C, 最終行のセルにデータを追加

サンプルコード

サンプルコードです。右上にあるマークを押すとコードのコピペが一瞬でできます。

また、文頭にアルファベットが付いているコメントごとに、詳細を説明していきます。

function appendData() {
 //A, 使用するスプレッドシートの指定
 const sheet = SpreadsheetApp.getActiveSheet();
 
 //B, 最終行に追加するデータを定義
 const dataArray = ["佐々木信夫", "男", "47"];
 const dataArrayTwo = [dataArray]; //二次元配列化
 const dataArrayLen = dataArray.length; //一次元配列時の要素の長さ
 const lastRow = sheet.getLastRow(); //セル内が空白になっている最終行番号を取得
 
 //C, 最終行のセルにデータを追加
 sheet.getRange(lastRow+1, 1, 1, dataArrayLen).setValues(dataArrayTwo);

}

A, 使用するスプレッドシートの指定

 //A.使用するスプレッドシートの指定
 const sheet = SpreadsheetApp.getActiveSheet();

使用するアクティブな状態のスプレッドシートを指定します。



B, 最終行に追加するデータを定義

 //B, 最終行に追加するデータを定義
 const dataArray = ["佐々木信夫", "男", "47"];
 const dataArrayTwo = [dataArray]; //二次元配列化
 const dataArrayLen = dataArray.length; //一次元配列時の要素の長さ
 const lastRow = sheet.getLastRow(); //セル内が空白になっている最終行番号を取得

セルに入力するデータを定義します。

定数 dataArrayで最終行に入力する配列を作成し、定数 dataArrayTwo二次元配列化します。

また、シートの最終行を取得します。getLastRowメソッドの詳細は以下の記事から。

【5分で解決】GASでスプレッドシートの最終行と最終列を取得

続きを見る

C, 最終行のセルにデータを追加

//C, 最終行のセルにデータを追加
 sheet.getRange(lastRow+1, 1, 1, dataArrayLen).setValues(dataArrayTwo);

セル内が埋まっている行の次の行に新しくデータを追加します。

getRangeメソッドでセルの範囲を指定し、二次元配列の要素をセルに埋めていきます

setValuesメソッドの詳細は以下の記事から。説明は以上です。

【3分で完了】GASシートの複数のセルに値を書き込む方法

続きを見る

② appendRowメソッドで追加する方法

2つ目はappendRowメソッドを使って最終行にデータを追加する方法です。

解説の項目

  • appendRowメソッド | 空白でない最終行に文字を記入
  • サンプルコード

appendRowメソッド | 空白でない最終行に文字を記入

GASでスプレッドシートの空白ではない最終行を取得してセルに値を記入するappendRowメソッドの説明

appendRowメソッドは、空白ではない最終行を取得してセルに値をを記入します。

引数には一次元配列が入ります。

サンプルコード

サンプルコードです。コードの右上にあるマークを1クリックすると、すぐにコピペできます。

①のsetValuesメソッドを使うよりもすっきりとしたコードになりましたが、あなたの使いやすいコードで利用するといいでしょう。

function appendData() {
 //A, スプレッドシートの指定
 const sheet = SpreadsheetApp.getActiveSheet();
 
 //B, セルに追加するデータ
 const dataArray = ["佐々木信夫", "男", "47"];

 //C, 最終行のセルにデータを追加
 sheet.appendRow(dataArray);

}

最終の行に値を入れるテスト

実際に、GASでセルに値を記入します。

Apps Scriptの上バーの文字が「appendData」になっていたら、「実行」を押します。

GASで空白の最終行にデータを入力するappendData関数の実行

「このアプリはGoogleで確認されていません」と表示される場合はこちら

【3分で解決】GASの「このアプリはGoogleで確認されていません」を許可する方法

続きを見る

画像のように、12行目にデータが追加されていたら成功です。

GASで空白の最終行にデータを入力するappendData関数の実行した結果

【便利】GASで作れる業務効率化アプリの一覧

この記事では、GASでスプレッドシートの最終行のセルに書き込む方法を2つ紹介しました。

最終行に書き込む方法を利用すれば、便利な検索アプリを開発できます。

当サイトではGASで作成した検索結果を反映するツールを公開しています。

もちろん、コピペOKなのでぜひご活用ください。

【3分で完成】GASで検索結果をスプレッドシートに一覧表示

続きを見る

【5分で解決】GASで文字列を検索する2つのサンプルコード

続きを見る

【5分で楽】GASでVLOOKUP関数のような検索機能を作成

続きを見る

おわりに | GASで市場価値を高めるには

以上、GASでスプレッドシートの最終行のセルに文字を書き込む方法でした。

そのままコピペして日常業務で使いやすいように改修したり、プログラミングの練習や動作確認用に使ってみましょう。

GASでさらに業務効率化したい場合、参考書やプログラミングスクールを使うとあなた自身でアプリを作るスキルが身に付きます

プログラミング未経験者にもわかりやすく解説しています。

プログラミングスクールは82社を分析して5つ厳選してるッスよ!
あっきょ

次回の記事もご期待ください!

-GAS入門, Google Apps Script
-, , , , , , , , , , , , , , , , ,