見出し画像

GAS超初心者講座1:シートに名前を書いて返事を出す

はじめに

前回の記事では、GASで何を効率化するかを見つける考え方についてまとめました。
毎回やっている作業を書き出して、「表を見る」「条件で選ぶ」「通知する」あたりから始めると、GAS化しやすいという話でした。

ただ、そもそもGASを触ったことがないと、効率化のイメージも湧きにくいんですよね。
なので今回は、かなり初心者向けにいきます。
完成させるものはシンプルです。

A1セルに名前を書くと、B1セルにあいさつ文を返すGASです。

小さいですが、シートから値を読む、文字を組み立てる、シートに書き戻す、というGASの基本が入っています。


※この画像は、記事内容を説明するためにイメージとして作成したものです。
実際の画面・環境とは異なる場合があります。

まずシートを用意する

最初に、Googleスプレッドシートを1つ作ります。
シート名はそのままでも動きますが、今回は分かりやすく `練習` にしておきます。

A1セルに名前を書きます。

A1: 佐藤
B1: ここに返事が出る

GASからA1の値を読み取り、B1へ「佐藤さん、こんにちは!」と書き込む流れです。
ポイントは、最初から大きな自動化を作らないことです。
まずは1セルを読んで、1セルへ書く。
ここだけでも、GASの入口としては十分だったりしますね。


※この画像は、記事内容を説明するためにイメージとして作成したものです。
実際の画面・環境とは異なる場合があります。

Apps Scriptを開いてコードを書く

スプレッドシートの上部メニューから、拡張機能、Apps Script の順に開きます。
エディタが開いたら、最初に入っているコードを消して、次のコードを貼り付けます。

function makeGreeting() {
  // 今開いているスプレッドシートを取得する
  const spreadsheet = SpreadsheetApp.getActiveSpreadsheet();

  // 「練習」という名前のシートを取得する
  const sheet = spreadsheet.getSheetByName('練習');

  // A1セルに入力された名前を読む
  const name = sheet.getRange('A1').getValue();

  // 名前を使ってあいさつ文を作る
  const message = `${name}さん、こんにちは!`;

  // B1セルにあいさつ文を書き込む
  sheet.getRange('B1').setValue(message);
}

やっていることはかなり素直です。
`getActiveSpreadsheet()` で今のスプレッドシートを取得し、`getSheetByName('練習')` で対象シートを選びます。
そのあと `getRange('A1').getValue()` でA1を読み、`setValue()` でB1へ書き込みます。

GASは、この `getValue()` と `setValue()` を理解すると一気に見通しが良くなります。
多くの自動化は、読む、加工する、書く、の組み合わせでできています。


※この画像は、記事内容を説明するためにイメージとして作成したものです。
実際の画面・環境とは異なる場合があります。

実行して結果を確認する

コードを保存したら、関数名が `makeGreeting` になっていることを確認して、実行ボタンを押します。
初回は権限の確認が出ます。
自分のスプレッドシートを操作するための確認なので、内容を見て許可します。

実行が終わったら、スプレッドシートに戻ってB1セルを見ます。

佐藤さん、こんにちは!

このように表示されていれば成功です。
たった1セルですが、シートの情報を読み取って、GASが別のセルへ結果を書いたことになります。

もし動かない場合は、まずシート名を確認します。
コードでは `練習` という名前のシートを探しているので、シート名が違うと止まります。
次に、A1が空になっていないかも見ます。
最初の練習では、原因を複雑にしないのが大事です。
慣れてきたら、A2、B2のようにセル位置を変えたり、複数行へ広げたりします。
まず1行で動くものを作る。

まとめ

  • 最初のGASは、シートから1つ値を読んで、1つ書き戻すだけで十分

  • `getRange('A1').getValue()` でセルの値を読む

  • `setValue()` でセルに値を書き込む

  • シート名がコードと合っているかを必ず確認する

  • 小さく動かしてから、行数や処理を増やしていく


【今日の私のひとこと】

次は、「GAS超初心者講座2:一覧表から未対応だけを抜き出す」を予定しています。
今回の流れを少し広げて、一覧表から条件に合う行を見つけるところまで進めます。

#GoogleAppsScript #GAS #業務効率化 #スプレッドシート #note #GAS初心者 #AppsScript #GoogleWorkspace #自動化入門

いいなと思ったら応援しよう!