【初心者向け】GAS入門:プログラミング未経験でもGeminiを使ってスプレッドシートを自動化してみよう!

日々の定型作業を効率化したいと考えたことはありませんか。本記事では、Google Apps Script(GAS)の基礎知識と、Geminiを活用した簡単な開発方法を紹介します。実際にスプレッドシートのセル色を変更するGASを作成しながら、業務自動化の始め方を解説します。

はじめに


業務の中で、

  • 毎日同じ作業を繰り返している
  • スプレッドシートの更新作業に時間がかかる
  • 「この作業、自動化できないかな」と思ったことがある

このような経験をしたことはないでしょうか。

近年では生成AIの進化によって、プログラミング経験がない人でもシステム開発や業務自動化に挑戦しやすくなっています。

その中でも特に注目されているのが、Googleが提供している「Google Apps Script(GAS)」です。

GASを利用すると、GoogleスプレッドシートやGmail、GoogleドライブなどのGoogleサービスを簡単に自動化できます。

今回は、GASをこれから触る方向けに、

  • GASとは何か
  • GASで何ができるのか
  • Geminiを利用して実際にGASを作る方法

について解説します。

プログラミング経験がない方でも理解できる内容を目指しているので、ぜひ最後までご覧ください。


Google Apps Script(GAS)とは


Google Apps Script(以下GAS)は、Googleが提供している開発プラットフォームです。

JavaScriptをベースとしており、Google Workspaceと連携したアプリケーションや業務自動化ツールを作成できます。

簡単に言うと、

「Googleサービスを自動化するためのプログラム」

です。

例えば、

  • スプレッドシートのデータ加工
  • Gmailの自動送信
  • Googleフォームの回答集計
  • Googleドライブのファイル整理
  • カレンダーへの予定登録

などを自動化できます。


GASの特徴


① 無料で利用できる

GASはGoogleアカウントがあれば基本的に無料で利用できます。

新たなソフトウェアを購入する必要もなく、すぐに開発を始められます。

② インストール不要

通常のプログラミングでは、

  • 開発環境のインストール
  • ライブラリの設定
  • バージョン管理

などが必要になることがあります。

一方でGASはブラウザ上で開発できます。

Googleスプレッドシートからそのままスクリプトエディタを起動できるため、環境構築に悩む必要がありません。

③ Googleサービスとの相性が良い

Googleが提供しているサービスとの連携が非常に簡単です。

  • Gmailを送信する
  • スプレッドシートの値を取得する
  • Googleドライブのファイルを操作する

といった処理を数行のコードで実現できます。

④ 初学者でも始めやすい

GASはJavaScriptベースですが、近年は生成AIを活用することでコードを書くハードルが大きく下がっています。

プログラミング未経験者でも取り組みやすい環境になっています。


今回作成するもの


今回はGASの入門として、

「スプレッドシートで範囲選択したセルの文字が1つ上のセルと異なる場合、文字色を灰色に変更する」

という機能を作成します。

  1. スプレッドシートでセルを選択
  2. メニューから実行
  3. 選択範囲の文字色が変更される

難しいロジックはなく、GASとスプレッドシートの連携を体験するにはちょうど良い題材です。


Geminiにコードを作ってもらう


今回はプログラミング未経験者を想定しているため、コードはGeminiに作成してもらいます。

以下のプロンプトをGeminiで実行します。

Google Apps Scriptを作成してください。

スプシの選択範囲で一つ上の文字と同じ場合は文字色を灰色にして、異なる場合は黒色にしたい。

初心者向けにコメントも付けてください。

すると、以下のようなコードが生成されます。

function changeTextColorIfSameAsAbove() {
  // 1. 現在開いているスプレッドシートを取得
  var sheet = SpreadsheetApp.getActiveSheet();
  
  // 2. 現在マウスで選択されている範囲を取得
  var range = sheet.getActiveRange();
  
  // 3. 選択範囲のデータ(文字)をまとめて取得
  var values = range.getValues();
  
  // 選択範囲の「行数(縦)」と「列数(横)」を取得
  var numRows = values.length;
  var numCols = values[0].length;
  
  // 4. 新しい文字色を保存しておくための空のリスト(配列)を準備
  var fontColors = [];
  
  // 5. 行ごとに順番にチェックしていく(上から下へ)
  for (var i = 0; i < numRows; i++) {
    var rowColors = []; // 1行分の色を保存するリスト
    
    // 列ごとに順番にチェックしていく(左から右へ)
    for (var j = 0; j < numCols; j++) {
      
      // 一番上の行(iが0のとき)は比較する「上のセル」がないので、必ず黒色にする
      if (i === 0) {
        rowColors.push('#000000'); // #000000 は黒色のコード
      } else {
        // 2行目以降の処理
        var currentValue = values[i][j];   // 今チェックしているセルの文字
        var previousValue = values[i-1][j]; // 1つ上のセルの文字
        
        // 今のセルが空欄ではなく、かつ「1つ上のセル」と全く同じ文字だった場合
        if (currentValue !== "" && currentValue === previousValue) {
          rowColors.push('#cccccc'); // 灰色にする(#cccccc は薄い灰色のコード)
        } else {
          // 違う文字だった場合、または初めて出てきた文字の場合は黒色にする
          rowColors.push('#000000'); // 黒色にする
        }
      }
    }
    // 1行分の色の設定を、全体の色リストに追加する
    fontColors.push(rowColors);
  }
  
  // 6. 選択した範囲全体に、用意した色をまとめて設定する
  range.setFontColors(fontColors);
}

// スプレッドシートを開いたときに自動で実行される特別な関数
function onOpen() {
  var ui = SpreadsheetApp.getUi();
  
  // スプレッドシートのメニューに「カスタム機能」を追加
  ui.createMenu('カスタム機能')
    .addItem('同じ文字を灰色にする', 'changeTextColorIfSameAsAbove')
    .addToUi();
}

指示通りにコメントも詳細に記載されていますね。


実際に動かしてみる


1.Googleスプレッドシートを開く
2.「拡張機能」→「Apps Script」を選択

「拡張機能」→「Apps Script」を選択


3.プロジェクト名を変更する(任意)

プロジェクト名を変更する(任意)


4.コードを貼り付けて保存

5.実行ボタンをクリック

コードを貼り付けて保存後、実行


6.権限を承認する

権限を承認する


7.セルを選択して実行し、文字色が変更されることを確認する

セルを選択して実行

文字色が変更されることを確認する


初回実行時はGoogleアカウントへのアクセス許可が必要です。


GASと生成AIの相性が良い理由


今回の例は簡単な内容でしたが、実際の業務では、

  • 毎朝メールを自動送信
  • スプレッドシートの集計処理
  • フォーム回答の自動整理
  • API連携によるデータ取得
  • Slack通知

なども実現可能です。

GeminiやChatGPTなどの生成AIを活用することで、コード生成やエラー解決、機能追加まで支援してもらえます。

そのため、プログラミング経験がなくても業務自動化に挑戦しやすくなっています。


まとめ


今回はGAS(Google Apps Script)の概要と、Geminiを活用した簡単な開発方法について紹介しました。

GASは、無料で利用できることや環境構築が不要であることに加え、Googleサービスとの高い親和性を持つため、業務自動化の第一歩として取り組みやすいツールです。

また、生成AIの活用によってプログラミング経験がない方でもコードを作成しやすくなっています。

まずは今回のようなシンプルなスクリプトから始めて、業務効率化に挑戦してみてはいかがでしょうか。