初心者 AI入門 2026年6月18日 12分

GAS入門: スプレッドシートから毎朝の未対応リストをメールで受け取る

Google Apps Scriptを初めて使う人向けに、スプレッドシートの未対応タスクを毎朝メールで受け取る小さな自動化を作ります。

AIを使い始めた人が最初につまずきやすいのは、「便利そうだけど、自分の仕事のどこに入れればいいのか分からない」という点です。

そこで最初の題材としておすすめなのが、Google Apps Script、通称GASです。GASはGoogleスプレッドシート、Gmail、カレンダー、ドライブなどをつなげて、日々の小さな作業を自動化できます。AIにコードを書いてもらう練習にも向いています。

この記事では、スプレッドシートにある未対応タスクを毎朝メールで受け取る仕組みを作ります。完成すると、「シートを開かなくても今日見るべきものが届く」状態になります。

作るもの

スプレッドシートに次のような表を用意します。

A列: タスクB列: 担当C列: 期限D列: 状態
請求書を確認する自分2026/06/20未対応
資料を送る自分2026/06/21完了
問い合わせに返信する自分2026/06/19未対応

このうち、D列が「未対応」の行だけを集めて、自分のGmailに送ります。

手順1: スプレッドシートを作る

Googleスプレッドシートを新規作成し、1行目に見出しを入れます。

  • A1: タスク
  • B1: 担当
  • C1: 期限
  • D1: 状態

2行目以降に、テスト用のタスクを数件入れてください。状態には「未対応」または「完了」と入力します。

手順2: Apps Scriptを開く

スプレッドシート上部のメニューから、拡張機能Apps Script を開きます。

最初に表示される Code.gs に、次のコードを貼り付けます。

function sendOpenTaskDigest() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  const values = sheet.getDataRange().getValues();
  const header = values.shift();

  const taskIndex = header.indexOf('タスク');
  const ownerIndex = header.indexOf('担当');
  const dueIndex = header.indexOf('期限');
  const statusIndex = header.indexOf('状態');

  const openTasks = values.filter((row) => row[statusIndex] === '未対応');

  if (openTasks.length === 0) {
    MailApp.sendEmail({
      to: Session.getActiveUser().getEmail(),
      subject: '今日の未対応タスクはありません',
      body: '未対応タスクは0件です。落ち着いて一日を始められます。',
    });
    return;
  }

  const lines = openTasks.map((row, index) => {
    const task = row[taskIndex];
    const owner = row[ownerIndex] || '未設定';
    const due = row[dueIndex] || '期限なし';
    return `${index + 1}. ${task}\n   担当: ${owner}\n   期限: ${due}`;
  });

  MailApp.sendEmail({
    to: Session.getActiveUser().getEmail(),
    subject: `未対応タスク ${openTasks.length}件`,
    body: `今日確認したい未対応タスクです。\n\n${lines.join('\n\n')}`,
  });
}

手順3: まず手動で実行する

Apps Script画面の上部で関数 sendOpenTaskDigest を選び、実行ボタンを押します。

初回は権限確認が出ます。自分のスプレッドシートを読み、自分宛にメールを送るための確認です。内容を見て問題なければ許可します。

実行後、Gmailにメールが届けば成功です。

手順4: 毎朝届くようにする

左側の時計アイコン、または「トリガー」を開きます。

新しいトリガーを追加し、次のように設定します。

  • 実行する関数: sendOpenTaskDigest
  • イベントのソース: 時間主導型
  • 時間ベースのトリガーのタイプ: 日付ベースのタイマー
  • 時刻: 朝の好きな時間帯

これで、スプレッドシートを開かなくても未対応タスクがメールで届くようになります。

AIに手伝わせるときの頼み方

GASはJavaScriptに近いので、AIに相談しやすい分野です。ただし、いきなり「便利なGASを書いて」だと失敗しやすくなります。

次のように、表の列とやりたいことを具体的に書くと精度が上がります。

GoogleスプレッドシートでGASを書きたいです。

列は A:タスク, B:担当, C:期限, D:状態 です。
D列が「未対応」の行だけを集めて、毎朝Gmailで自分に送るコードを書いてください。
初回実行、トリガー設定、権限確認の注意点も説明してください。

失敗しやすいポイント

まず、列名を変えたらコード側の見出しも合わせてください。この記事のコードは、1行目の「タスク」「担当」「期限」「状態」という文字を探しています。

次に、メールが届かない場合は迷惑メール、実行ログ、トリガーの設定時刻を確認します。GASには実行時間やメール送信数などの制限もあります。大量送信や長時間処理には向きません。

最後に、仕事で使う場合は、個人情報や機密情報を扱いすぎない設計にしてください。最初は「自分だけに届く小さな通知」から始めるのが安全です。

次に試すとよい改造

  • 期限が今日以前のタスクだけ送る
  • 担当者ごとにメールを分ける
  • 完了したタスクに自動で完了日を入れる
  • SlackやGoogle Chatに通知する
  • AIにタスク文を分類させる

GASのよいところは、いきなり大きなアプリを作らなくていいことです。まずは「毎朝シートを見る」を「毎朝メールが届く」に変える。それだけでも、日々の摩擦はかなり減ります。

参考リンク