- 投稿日:2025/07/14
- 更新日:2025/09/29

私はGoogleカレンダーで予定を管理していますが、子どもを含めて予定が多く、毎回の入力がちょっと面倒…。
「もっとラクにできないかな?」と思い、ChatGPTに相談してみたところ、便利な自動化の方法を教えてもらいました!
仕事では主にExcelを使っているので、Google Apps Script(GAS)は今回が初挑戦。
でも初心者の私でもちゃんとできました!
ChatGPTで自然な言葉で入力した予定を、表形式に変換→スプレッドシートに貼るだけで、GASがGoogleカレンダーに一括自動登録!
パソコン初心者の方でも取り組めるように、ステップを画像付きでまとめました👇
🗓こんな人におすすめ!
●Googleカレンダーを使っている人
●カレンダー登録が面倒な人
●家族やチームの予定を一括で管理したい人
●自然文で「予定」をメモすることが多い人
●ChatGPT+GASを使ってみたい人!
✅ステップ① ChatGPTで“表形式”に指示(プロンプト)を入れる
下記の“表形式”に変換する指示(プロンプト)をコピーして
表形式”に変換指示(プロンプト)
今から自然な言葉で予定をするので、以下の形式に変換してください: | タイトル | 開始日時 | 終了日時 | 場所 | 繰り返し | |----------|----------|----------|------|----------| 日時は「2025/07/16 15:00」のように整えてください。 「来週の火曜」や「明後日」なども具体的な日付に変換してください。 一括でコピーできる形式にして下さい。私がこれから入力する「自然な言葉で書かれた予定一覧」を、Googleスプレッドシートにそのまま貼り付けられる形式に変換してください。 【出力形式(列名あり)】 タイトル(予定名) 開始日時 終了日時 場所 繰り返し 【日時について】 ・日付は「2025/11/01 13:00」のように「半角/西暦/24時間制」で整えてください ・「明日」「来週の火曜」などの表現は、すべて具体的な日付に変換してください(例:「来週の火曜」→「2025/11/04」など) ・時間が省略されていた場合は、おおよその時間帯(午前→9:00、午後→13:00、夜→18:00 など)を補ってください 【出力形式のルール】 ・表に見える形で表示してくださいが、実際の出力は「タブ区切り」形式でお願いします ・そのままGoogleスプレッドシートに貼れば、各列に自動で分かれる状態にしてください ・1行目に列名(タイトル・開始日時・終了日時・場所・繰り返し)を必ず含めてください 【備考】 ・繰り返し予定がある場合は、「毎週」「毎月」「なし」などと記載してください ・場所や繰り返しが不明な場合は「不明」や「なし」で構いません それでは、以下の予定を変換してください:
ChatGPTの窓に貼り付けて下さい。
✅ステップ② ChatGPTで予定を書いて、表を作成
コピペしたプロンプトの下に
Shiftキーを押しながらEnterキーを押して(改行)
「自然な文章」で予定をたくさん書いて下さい。
🔍例
11/1 午後、娘のピアノ発表会に行く予定
11.2 の10:00〜11:30、Zoomでオンライン勉強会
11/5 午前中に歯医者の予約あり
11.6 の13時から15時まで、博多でクライアントと打ち合わせ
11月9日 終日、家族で阿蘇へ日帰り旅行
11/11 の14:00から美容室に行く
11.13 の10:00〜10:30、市役所で手続き
11月15日 15時〜16時半、町内会の清掃活動
11/18 10:00から小学校で個人面談
11.29 の18:00〜21:00、天神で職場の送別会
予定を入れたら Enter もしくは 右の↑をクリック
📌ChatGPTが表形式にしてくれるので、の出力表を右上でコピー
✅ステップ③ ChatGPTの出力をGoogleスプレッドシートに貼り付け
ブラウザで Googleスプレッドシート にアクセス
画面左上の「+空白」または「新しいスプレッドシートを作成」をクリック
→ 新しいスプレッドシートが開きます
ChatGPTでコピーした表をGoogleスプレッドシートの(A1セルに)貼り付けます
✅ステップ④ GASでGoogleカレンダーに一括登録!
スプレッドシート上部メニューから
👉「拡張機能」→「Apps Script」をクリック
画面が新しく開くので
今書いてある文字をCtrl+Aで全選択、削除して
下↓のコードを貼り付けて
✅自動登録に使うコード(コピペして下さい)
function addEventsToCalendar() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const calendar = CalendarApp.getDefaultCalendar(); const data = sheet.getDataRange().getValues(); for (let i = 1; i < data.length; i++) { const [title, startStr, endStr, location, repeat] = data[i]; if (!title || !startStr || !endStr) continue; const startTime = new Date(startStr); const endTime = new Date(endStr); const existingEvents = calendar.getEvents(startTime, endTime, { search: title }); if (existingEvents.length > 0) continue; const event = calendar.createEvent(title, startTime, endTime); if (location) event.setLocation(location); if (repeat && repeat.toLowerCase() !== 'なし') { switch (repeat.toLowerCase()) { case '毎週': event.setRecurrence(CalendarApp.newRecurrence().addWeeklyRule()); break; case '毎日': event.setRecurrence(CalendarApp.newRecurrence().addDailyRule()); break; case '毎月': event.setRecurrence(CalendarApp.newRecurrence().addMonthlyRule()); break; } } } }
保存して下さい。
関数 addEventsToCalendar を選んで ▶ 実行!
🔐Googleの認証
🔐 初回はGoogleの認証(許可)画面が出るので、そのまま進めてOKです。
Googleアカウントを選択
このアプリは Google で確認されていません と出てきますが、自分で使う分には大丈夫です。
詳細をクリックして
無題のプロジェクト(安全ではないページ)に移動 をクリック
☑すべて選択 続行
実行完了
真っ白だったGoogleカレンダーに
予定が一括で入りました!
🎉まとめ
自然な言葉で予定を入力 → ChatGPTで整形 → スプレッドシートに貼ってGASで登録!
これだけで、手間のかかるカレンダー登録を一気に自動化できます。
ぜひ試してみてください🙌