Googleスプレッドシートを自動で制御するためにGASコードを使用する手法があります。コード生成の際のコツをまとめますのでご利用ください。
①やりたいことの概要をまとめる
やりたい作業を書き出してみてください。
| 例) スプレッドシートにおいて、データを整える作業を行い、生成したデータを新たなシートにペーストする。 |
②やりたいことを順番通り書き出してみる
やりたいことを、順番通りに書き出してみてください。
| 例) 1.スプレッドシートのフィルタ解除 2.データシート内のクリーニング 3.CSV用の新シート作成 4.スプレッドシートのフィルタをもとに戻す |
③シートを作成する
やりたいことを実行するために必要なシートの作成します。
1.実行するうえで必要なデータを配置します。
例:

2.実行されるシートを作成します。

④必要なデータや作業に名前を付ける
繰り返し登場する作業やデータには、名前を付けましょう。後で指示を作成するときに楽に指示が出来ます。
| 例) ・シート名”FY25_最新データ のコピー(杉山使用)”→対象シート ・”既存&NG”シートのE3:Eにあるデータ→法人格リスト ・”既存&NG”シートのI3:Iにあるデータ→NGリスト ・対象シートにおいて、2行目からA列に”新規追加”と書かれている行まで→Aブロック ・対象シートのA列に”新規追加”と書かれている行の次の行からデータの存在する最終行のまで→Bブロック |
⑤さらに細かく書き出してみる
④で作成したデータ配列をもとに、セル単位で指示するための細かい作業指示を書き出してみましょう。
| 例) 1.スプレッドシートのフィルタ解除 2.データシート内のクリーニング ①改行削除 ②メールアドレスクリーニング ③メールアドレス生成 ④法人格削除データの生成 ⑤会社重複チェック ⑥削除リストチェック 3.CSV用シートの新規作成 4.スプレッドシートのフィルタをもとに戻す |
⑥さらに作業レベルで書き出してみる
今度は、実際にやりたい作業を具体的に書き出してみましょう。
| 例) 1.改行の削除 ・対象シートのBブロック内のすべてのセルにおいて、改行データがある場合その改行データだけを削除する。(他の文字列は残すこと) 2.メールアドレスクリーニング ・対象シートのBブロック内のK列において全角の文字列がある場合には、それを半角に変換する。 K列のデータはメールアドレスなので、半角のアルファベットや数字記号のみであるはず。もし、それ以外の文字列が混入していた場合には作業を中断し、何行目に異常な文字列があることをモーダルダイアログ表示する。 …. |
覚えておくと良い言葉
※モーダルダイアログ

画面中央に表示されるポップアップウィンドウ。
※トーストメッセージ

画面右下に表示される、ステータスなどを表示するウィンドウ。
⑦プロンプトの作成
今までの作業をつなげて、プロンプトを作成します。プロンプトの頭には、決まり文句のように、自分がやりやすい文章を作っておき、必ず入れましょう。
| 例 以下を満たすGASコードを生成してください。 指示は、GAS実行の効率性を理解していない人間が作成しているため、作業内容を崩さないようであれば、順番の前後、同時作業することはあなたに任せます。より短い時間で実行できる方が望ましいです。コード生成は、ステップバイステップで進行し、内容をしっかり吟味、理解し、解決が必要な箇所があればGAS生成前に私に質問を投げかけて確認してください。 #やりたいこと概要 スプレッドシートにおいて、データを整える作業を行い、生成したデータを新たなシートにペーストする。 #前提 ・GASを実行するスプレッドシートはアクティブなスプレッドシート。 ・今後指示において、以下の呼び方で統一する。 ・シート名”FY25_最新データ のコピー(杉山使用)”→対象シート ・”既存&NG”シートのE3:Eにあるデータ→法人格リスト ・”既存&NG”シートのI3:Iにあるデータ→NGリスト ・対象シートにおいて、2行目からA列に”新規追加”と書かれている行まで→Aブロック ・対象シートのA列に”新規追加”と書かれている行の次の行からデータの存在する最終行のまで→Bブロック #実施したい作業詳細 1.スプレッドシートのフィルタ解除 ・対象シートにフィルタがかかっていたら、フィルターを解除する。 2.データシート内のクリーニング ①改行削除 ・対象シートのBブロック内のすべてのセルにおいて、改行データがある場合その改行データだけを削除する。(他の文字列は残すこと) 3.メールアドレスクリーニング ・対象シートのBブロック内のK列において全角の文字列がある場合には、それを半角に変換する。 K列のデータはメールアドレスなので、半角のアルファベットや数字記号のみであるはず。もし、それ以外の文字列が混入していた場合には作業を中断し、何行目に異常な文字列があることをモーダルダイアログ表示する。 ….. |
このような流れで作成すると、GASコードを効率的に生成することが出来ます。
是非ご活用ください。
