お仕事おつにゃッス🐈
文系未経験から社内SEになった、あっきょ(@daily_code_JP)です!
膨大なリスト内の空白セルにデータを入力すると時間かかりますよね?
GASなら1クリックで入力したデータを別シートに自動で転記できます。
この記事ではそのお悩みをコピペOKのGoogle Apps Scriptのコードで解決します。
こんな人におすすめ!
- データの登録と管理に費やす時間を減らしたい
- 1クリックで空白セルにデータを自動で登録したい
- プログラミングでJavaScriptを学んだけど何を作っていいかわからない
誰でも無料で簡単にできますので、お気軽に学んでいきましょう!
-プログラミング独学の挫折率は90%近く-
侍エンジニアの調査によれば独学経験者のうち9割が挫折を経験。
挫折する理由は「相談できる相手がいなかった」からが多数です。
また社内のDX化や小学校からのIT教育により、プログラミングは社会人の教養の1つになりました。
文系未経験が挫折しないでスキルアップを目指せるプログラミングスクールを紹介。
事務職から社内エンジニアになったあっきょが徹底比較しました。
入力したデータを別シートに自動登録する完成イメージ
シートを2つ利用してデータを自動登録する仕組みを作成。
「登録」シートに入力したデータを1クリックで「リスト」シートに移動します。
あなたが仮に数百や数千のデータを扱うとき、空白行を探すと時間が非常にかかります。
また、データの上書きをしてしまうミスも考えられるでしょう。
このツールでは、上書きミスをなくしつつ入力時間を減らす目的で開発していきます。
あなたが何かしらのデータを管理しているなら確実に便利ッスよ!
別シートに登録する準備
スプレッドシートでデータを管理する準備。
ファイルは1つ必要です。
必要なファイル
- Google スプレッドシート…データの編集と保存&GASのプログラムの実行
Google スプレッドシートの作成
Google スプレッドシートを作成していきます。
赤丸で囲んだ十字アイコンをクリックしてシートを1つ追加して計2つ用意。
シート名をそれぞれ「登録」と「リスト」に変更します。
2つのシートには、それぞれ4項目を記入します。
- 苗字
- 名前
- 年齢
- 性別
「登録」シートを編集。
A2からA5まで4項目を入力し、B列に登録する顧客のデータを記入します。
「リスト」シートを編集します。
1行目に4項目を入力し、2行目以降に「登録」シートで入力したデータを転記。
スプレッドシートの準備は以上です。
サンプルコードを貼り付ける場所
サンプルコードはGoogle スプレッドシートにコピペ。
上バーの「拡張機能」の中にある「Apps Script」をクリックしてコードを貼り付けます。
別シートに登録するサンプルコード
GASで別シートにデータを転記するサンプルコードの公開と解説をしていきます。
解説の項目
- サンプルコード
- A, 使用するシートを定義
- B, 「登録」シートから記入したデータを取得
- C,「リスト」シートの空白セルに転記
サンプルコード
右上にあるマークを押すとコードのコピペが一瞬でできます。
また、コード内で文頭にアルファベットが付いているコメントごとに詳細を説明していきます。
function registerDataToList(){
//A.使用するシートを定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const registerSheet = spreadSheet.getSheetByName('登録');
const listSheet = spreadSheet.getSheetByName('リスト');
const writingRow = listSheet.getLastRow() + 1; //すでにセル内にあるデータを上書きしないように1を足す
//B.「登録」シートから記入したデータを取得
const firstName = registerSheet.getRange("B2").getValue(); //苗字
const lastName = registerSheet.getRange("B3").getValue(); //名前
const age = registerSheet.getRange("B4").getValue(); //年齢
const seibetsu = registerSheet.getRange("B5").getValue(); //性別
//C.「リスト」シートの空白セルに転記
listSheet.getRange("A" + writingRow).setValue(firstName);
listSheet.getRange("B" + writingRow).setValue(lastName);
listSheet.getRange("C" + writingRow).setValue(age);
listSheet.getRange("D" + writingRow).setValue(seibetsu);
}
A, 使用するシートを定義
//A.使用するシートを定義
const spreadSheet = SpreadsheetApp.getActiveSpreadsheet();
const registerSheet = spreadSheet.getSheetByName('登録');
const listSheet = spreadSheet.getSheetByName('リスト');
const writingRow = listSheet.getLastRow() + 1; //「リスト」シートに登録時、セル内に既にあるデータを上書きしないよう1を足す
「登録」シートと「リスト」シートの2つを定義します。
定数writingRowは「リスト」シート内の空白セルに値を転記する行番号。
「最終列の番号 + 1」 と表現すると、セル内の値を上書きを防いで空白セルに登録できます。
B, 「登録」シートから記入したデータを取得
//B.「登録」シートから記入したデータを取得
const firstName = registerSheet.getRange("B2").getValue(); //苗字
const lastName = registerSheet.getRange("B3").getValue(); //名前
const age = registerSheet.getRange("B4").getValue(); //年齢
const seibetsu = registerSheet.getRange("B5").getValue(); //性別
「登録」シートに入力した値をgetValueメソッドでそれぞれ取得します。
C,「リスト」シートの空白セルに転記
//C.「リスト」シートの空白セルに転記
listSheet.getRange("A" + writingRow).setValue(firstName);
listSheet.getRange("B" + writingRow).setValue(lastName);
listSheet.getRange("C" + writingRow).setValue(age);
listSheet.getRange("D" + writingRow).setValue(seibetsu);
「登録」シートから取得したデータを 「リスト」シートの空白のセルに転記。
setValueメソッドでセルにそれぞれの値を記入します。
サンプルコードの説明は以上です。
別シートに登録するプログラムの実行
作成した関数を実際に動かして、シートに登録できるか確認してみましょう。
「登録」シートのB列にデータをそれぞれ入力します。
Apps Scriptの上バーの文字が「registerDataToList」になっていたら「実行」を押します。
「このアプリはGoogleで確認されていません」と表示した場合はこちら。
「リスト」シートに移動すると入力したデータが転記できています。
まとめ | GASで事務仕事を自動化しよう!
以上がGoogle Apps Scriptでデータを入力して別シートのリストに登録する方法でした。
そのままコピペしたり、プログラミングの練習や動作確認用に使ったりしてみましょう。
GASを効率的に学ぶなら以下の2つの方法が多いです。
- 参考書やオンライン教材で独学
- プログラミングスクールを利用
正しく学ぶことで非エンジニアでも実用的な業務効率化のスキルが身に付きます。
デイコーでは、GASのサンプルコードからおすすめのプログラミングまで幅広く紹介。
初心者にもわかりやすく解説しています。
プログラミングスクールは82社を分析したッス!
次回の記事もご期待ください!
それでは、よいプログラミングライフを!