お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
スプレッドシートの最終行に自動でデータを入力できたら便利ですよね。
GASを使えばいちいち最終行までスクロールしなくても1クリックで書き込めます。
この記事ではコピペOKのGoogle Apps Scriptのコードを2つ紹介して解決します。
こんな人におすすめ!
- 自動で最終行の空白セルにデータを入力したい
- もっと便利で使いやすいリストを作成したい
- プログラミングでJavaScriptを学んだけど何を作っていいかわからない
誰でも無料で簡単にできますので気軽に学んでいきましょう!
最終行に文字を書き込むイメージ
最終行に文字を入力します。
例えば、12行目が空白の場合はその行に自動で値を入力。
これで最終行までスクロールして記入する時間と上書きなどの入力ミスを減らせます。
結果として残業の時間を減らすことができます。
データ量が膨大なほど作業も楽になるッスよ!
最終行に文字を書き込む準備
Google Apps Script でスプレッドシートの最終行に文字を書き込む準備。
ファイルは1つ必要です。
必要なファイル
- Google スプレッドシート…リストの作成&コードの貼り付け
スプレッドシートの作成
最終行に文字を埋めるスプレッドシートを作成します。
この記事では「氏名」、「性別」、「年齢」の3項目を追加し、2行目から11行目までに個人のデータをそれぞれ記入していきます。スプレッドシートの準備は以上です。
- 氏名
- 性別
- 年齢
の3項目を追加して2行目から11行目までに個人のデータをそれぞれ記入していきます。
スプレッドシートの準備は以上です。
サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「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メソッドの詳細は以下の記事から。
C, 最終行のセルにデータを追加
//C, 最終行のセルにデータを追加
sheet.getRange(lastRow+1, 1, 1, dataArrayLen).setValues(dataArrayTwo);
セル内が埋まっている行の次の行に新しくデータを追加します。
getRangeメソッドでセルの範囲を指定して二次元配列の要素をセルに埋めていきます。
getValuesメソッドの詳細は以下の記事から。
説明は以上です。
② appendRowメソッドで追加する方法
2つ目はappendRowメソッドを使って最終行にデータを追加する方法です。
解説の項目
- appendRowメソッド | 空白でない最終行に文字を記入
- サンプルコード
appendRowメソッド | 空白でない最終行に文字を記入
appendRowメソッドは空白ではない最終行を取得してセルに値をを記入します。
引数には一次元配列が入ります。
サンプルコード
コードの右上にあるマークを1クリックするとすぐにコピペできます。
①のsetValuesメソッドを使うよりもすっきりとしたコードになりました。
あなたの使いやすいコードで利用しましょう。
function appendData() {
//A, スプレッドシートの指定
const sheet = SpreadsheetApp.getActiveSheet();
//B, セルに追加するデータ
const dataArray = ["佐々木信夫", "男", "47"];
//C, 最終行のセルにデータを追加
sheet.appendRow(dataArray);
}
最終の行に値を入れるテスト
実際にGASでセルに値を記入します。
Apps Scriptの上バーの文字が「appendData」になっていたら「実行」を押します。
「このアプリはGoogleで確認されていません」と表示した場合はこちら。
画像のように12行目にデータが追加されていたら成功です。
まとめ | 未経験者でも即戦力のITスキルを身に着けるには
以上、Google Apps Script でスプレッドシートの最終行のセルに書き込む2つの方法でした。
そのままコピペして日常業務に使ったり、プログラミングの練習や動作確認用に使ったりしてみましょう。
未経験者でも即戦力のITスキルを身に着けるにはプログラミング学習が必須。
とくにGASは初心者でも学びやすくエンジニアではない職業からも人気です。
GASを効率的に学ぶなら以下の2つの方法が多いです。
- 参考書やオンライン教材で独学
- プログラミングスクールを利用
正しく学ぶことで非エンジニアでも実用的な業務効率化のスキルが身に付きます。
デイコーでは、GASのサンプルコードからおすすめのプログラミングまで幅広く紹介。
初心者にもわかりやすく解説しています。
プログラミングスクールは82社を分析したッス!
次回の記事もご期待ください!
それでは、よいプログラミングライフを!