GoogleスプレッドシートからGoogleタスクに自動登録する
output
ツール説明
この方法は Google スプレッドシートと Google Apps Script、Google Tasks API を使って、スプレッドシートに書いたタスクを自動で Google タスクに登録する仕組みである。スプレッドシートの「未処理」のタスクだけを登録するようにしている。日単位の期限は設定できるが、時間単位の通知はできないため、細かい時間指定通知は Google カレンダーで代替する。
準備するもの
Google アカウント
Google スプレッドシート(タスク一覧用)
スプレッドシートのタブ名は Tasks にする
Google Apps Script が使える状態
スプレッドシートの準備
新規スプレッドシートを作成する
タブ名を Tasks にする
1行目にヘッダーを作る
例: 名称 | 期限 | 備考 | ステータス
2行目以降にタスクを入力する
ステータスは未処理にする
Apps Script での設定
同じスプレッドシートから「拡張機能 → Apps Script」をクリック
新規プロジェクトを作る
下記のコードを貼る
code:コピペ
function syncTasksFromSheet() {
var ss = SpreadsheetApp.openById("スプレッドシートIDをここに貼る");
var sheet = ss.getSheetByName("Tasks");
if (!sheet) {
Logger.log("シート 'Tasks' が見つかりません");
return;
}
var data = sheet.getDataRange().getValues();
var tasksList = '@default';
for (var i = 1; i < data.length; i++) {
var row = datai;
var title = row0;
var due = row1;
var notes = row2;
var status = row3;
if (status !== '未処理') continue;
if (!title) continue;
var dueDate = new Date(due);
var dueISO = new Date(dueDate.getFullYear(), dueDate.getMonth(), dueDate.getDate(), 23, 59).toISOString();
var task = {
title: title,
notes: notes,
due: dueISO
};
Tasks.Tasks.insert(task, tasksList);
sheet.getRange(i + 1, 4).setValue('登録済み');
}
}
function myFunction() {
syncTasksFromSheet();
}
function listSheets() {
var ss = SpreadsheetApp.openById("スプレッドシートIDをここに貼る");
var sheets = ss.getSheets();
for (var i = 0; i < sheets.length; i++) {
Logger.log("'" + sheetsi.getName() + "'");
}
}
function testOpenSpreadsheet() {
var ss = SpreadsheetApp.openById("スプレッドシートIDをここに貼る");
Logger.log(ss.getName());
}
スプレッドシートIDを自分のスプレッドシートIDに置き換える
左側メニュー「サービス」から Tasks API を追加
testOpenSpreadsheet を実行してログにスプレッドシート名が出るか確認する
listSheets を実行してシートタブ名が 'Tasks' であることを確認する
myFunction を実行して初回は認証画面で許可する
成功すると、スプレッドシートの未処理タスクが Google タスクに追加され、ステータスが「登録済み」に変わる
毎朝自動実行(時間主導型トリガー)
スクリプトエディタの左側メニューで「時計アイコン(トリガー)」をクリック
「トリガーを追加」をクリック
設定
関数:myFunction
実行するデプロイ:Head
イベントの種類:時間主導型
時刻ベースのトリガー → 毎日 → 午前6時
保存
初回は認証画面が出るので許可する
これで毎朝6時に自動で同期されると同時に、必要なときは手動で myFunction を実行して即座に同期することも可能になる。
注意点
Google タスクは日単位の期限のみ対応しており、時間指定はできない
時間単位の通知が必要な場合は、Google カレンダーにリマインダーイベントを作ることで代替できる
三橋龍起 用シート 
https://docs.google.com/spreadsheets/d/16n7E3xGuydu5IuuIlRg2HoTVNj3wGapfWO9jfrwoWV8/edit?gid=0#gid=0
使ってるプロンプト
code:ForTask
あなたはスプレッドシート作成の補助です。
以下の条件で、task listを作成してください。
1. タスク名
2. 開始日:{yyyy/mm/dd}
5. 備考欄:{内容}
6. ステータス欄:{内容}
出力形式:
「名称 (Title)」「期限 (Due)」「備考 (Notes)」「ステータス (Status)」をタブ区切りで、スプレッドシートにそのまま貼れる形式で。
例:
- 湘南最強カンパニー打ち合わせ
- 開始日:2025/10/01
- 備考:ミーティング議事録、前回引き継ぎ https://scrapbox.io/tatsuki3284/Google%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%81%8B%E3%82%89Google%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AB%E8%87%AA%E5%8B%95%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B
- ステータス:未処理
→ 出力は以下のようにする:
湘南最強カンパニー打ち合わせ 2025/10/01 備考:ミーティング議事録、前回引き継ぎ https://scrapbox.io/tatsuki3284/Google%E3%82%B9%E3%83%97%E3%83%AC%E3%83%83%E3%83%89%E3%82%B7%E3%83%BC%E3%83%88%E3%81%8B%E3%82%89Google%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AB%E8%87%AA%E5%8B%95%E7%99%BB%E9%8C%B2%E3%81%99%E3%82%8B 未処理
B社 打ち合わせ 2025/10/01 なし 未処理
C社 打ち合わせ 2025/10/02 なし 未処理
1.
code:chatgptへ
あなたはスプレッドシート作成の補助です。
以下の条件で、科目ごとのレポート予定表を作ってください。
1. 科目リスト:{科目名1, 科目名2, …}
2. 開始日:{yyyy/mm/dd}
3. 各科目の回数:{回数}
4. 1日あたり処理する科目数:{数}(例:1日で全科目、または一部科目)
5. 備考欄:{内容}
6. ステータス欄:{内容}
出力形式:
「名称 (Title)」「期限 (Due)」「備考 (Notes)」「ステータス (Status)」をタブ区切りで、スプレッドシートにそのまま貼れる形式で。
日付は1日ずつ順に増やす。
例:
- 科目リスト:科目A、科目B
- 開始日:2025/10/01
- 回数:3
- 1日あたり処理科目数:2
- 備考:なし
- ステータス:未処理
→ 出力は以下のようにする:
科目A 第1回 2025/10/01 なし 未処理
科目B 第1回 2025/10/01 なし 未処理
科目A 第2回 2025/10/02 なし 未処理
科目B 第2回 2025/10/02 なし 未処理
科目A 第3回 2025/10/03 なし 未処理
科目B 第3回 2025/10/03 なし 未処理
---
これを使えば、新しい科目や日付、回数を変えるだけで簡単にレポート予定表を生成できます。
---
💡 **ポイント**
- {} の部分を変えるだけで新しい表を作れる
- 「1日あたり処理する科目数」を指定すると、日付を自動調整してくれる
- 出力はスプレッドシートに貼る前提なのでタブ区切りで統一
科目ごとのレポート予定表サポートプロンプト