Googleカレンダーの予定を一括登録する|3つの型で手順が変わる

google カレンダー 予定 一括 登録 で検索する人の用件は、言葉が同じでも中身が3つに分かれています。同じ予定を複数の日に入れたいのか、内容の違う予定をまとめて入れたいのか、元になる表が更新されるたびに入れ直したいのか。この3つは解き方がまったく違います。取り違えたまま調べ続けると、繰り返しの設定だけで終わる話にCSVを作り、CSVで終わる話にスクリプトを書くことになります。

この記事では、Googleカレンダーが公開している仕様をもとに3つの型を切り分けて、それぞれの手順と、どこで手が止まるのか、そして次に何を決めればよいのかを並べます。

自分の用件がどの型かを先に決める

同じ質問に見えて中身が違う、という状況は質問サイトにも残っています。

Googleカレンダーで同じ予定を複数の日数に入れたい時 1回でぽんとたくさん、入れる方法はありますか? 1個入れて、コピーか複製する方法は分かったのですが 1個ずつしか複製出来なくてあまり手間が省けた感じは無いです 出典: detail.chiebukuro.yahoo.co.jp

この質問は型1です。予定の中身は1種類で、変わるのは日付だけ。この場合、ファイルを作る作業には入らないほうが早く終わります。

型は次の3つで分けられます。

  • 型1 同じ予定を複数の日に入れたい。内容は1種類で、日付だけが変わる
  • 型2 内容の違う予定をまとめて入れたい。シフト表、講義の日程、出張の行程など
  • 型3 元になる表が更新されるので、更新のたびに入れ直したい

型1は繰り返しと複製で終わります。型2はCSVかICSの読み込みです。型3だけがスクリプトの話になります。読者が探している「一括登録」の多くは型2で、型3のつもりで調べ始めると必要のない工程が増えます。

型1は繰り返しと複製で足りる

日付に規則があるなら、予定を1件だけ作って繰り返しを設定します。毎週火曜、毎月第2月曜、平日のみといった規則は繰り返しの設定で表せるので、行数ぶんの予定を作る必要はありません。あとで時刻を変えたくなったときも、繰り返しの予定なら1件を直すだけで全部の回に反映されます。

問題になるのは規則のない日付です。10日、17日、25日、翌月の3日のように、法則のない日付に同じ予定を入れる場合、繰り返しでは表せません。この場合は予定を右クリックして複製し、日付を変える作業を繰り返すことになります。件数が10件を超えるあたりから、複製を繰り返すよりファイルを1枚作ったほうが早くなります。そこが型1と型2の境目です。

判断の目安として、日付を書き出してみて規則が1文で言えるなら型1、言えないなら型2に移ります。「毎週火曜と、第3木曜」のように規則が2つあるだけなら、繰り返しの予定を2件作れば足ります。

型2の入口は設定の「インポート / エクスポート」

CSVかICSのファイルを読み込む手順はこうなります。

  1. パソコンでGoogleカレンダーを開く
  2. 右上の設定アイコンから「設定」を開く
  3. 左側のメニューで「インポート / エクスポート」を選ぶ
  4. 「パソコンからファイルを選択」を押して、用意したファイルを選ぶ
  5. 読み込んだ予定を追加するカレンダーを選ぶ
  6. 「インポート」を押す

追加先を選び忘れると、予定はメインのカレンダーに入ります。仕事用と個人用を分けている場合は、ここで必ず選び直します。

この工程で先に知っておくとよい制限が2つあります。1つは、読み込みで運ばれないデータがあることです。

予定を読み込んでも、予定のゲストと会議のデータは読み込まれません。 出典: support.google.com

出席者と会議リンクは入りません。参加依頼を送る必要がある予定は、読み込んだあとに1件ずつ出席者を足すことになります。もう1つは、書き出しも読み込みもパソコンからの作業だという点です。Googleはスマートフォンやタブレットには対応していないと書いています。移動中に片づけるつもりで始めると、机に戻るまで進みません。

読み込むファイルがZIPに入っている場合は、パソコンでZIPを開き、カレンダーごとに分かれている.icsファイルを取り出して1つずつ読み込みます。ZIPをそのまま渡しても1回では終わりません。

CSVの列は英語で書く。必須はSubjectとStart Dateだけ

CSVはスプレッドシートで作れます。1行目に列の名前を英語で並べ、2行目から1行1件で予定を書きます。列の名前を日本語にすると読み込めません。

列の名前 必須 入れる値の例
Subject 必須 期末試験
Start Date 必須 05/30/2026
Start Time 任意 10:00 AM
End Date 任意 05/30/2026
End Time 任意 1:00 PM
All Day Event 任意 True または False
Description 任意 "選択式50問と記述2問"
Location 任意 "渋谷オフィス 6階"
Private 任意 True または False

必須はSubjectとStart Dateの2つだけで、残りは省けます。時刻を書かなければ終日の予定として扱われるので、シフト表のように時刻が要る表では Start Time と End Time まで埋めます。

つまずきやすいのは、説明や場所にカンマが入る場合です。CSVはカンマで列を区切る形式なので、値の中にカンマがあるとそこで列が切れます。Googleはその対処として、カンマを含むテキストは引用符で囲むよう案内しています。住所や、箇条書きを1つの説明欄に押し込んだ文章で起きやすいので、書き出す前に検索して確かめておくと読み込み時のエラーが減ります。

日付の書き方も事故の元です。スプレッドシートは入力した日付を表示形式で書き換えるため、画面上は「2026/05/30」に見えても、CSVとして保存したときに別の形になることがあります。作ったCSVはテキストエディタで開いて、1行目と2行目の中身を目で確かめてから読み込みます。

定例をCSVに混ぜると、繰り返しではなくなる

型2で最も影響が大きい仕様がこれです。Googleは次のように書いています。CSVから定期的な予定を読み込むと、カレンダーに定期的な予定として表示されず、1回限りの予定の連続として表示されることがある、という記述です。

週1回の定例を1年ぶん、52行並べたCSVを読み込むと、52件の単発の予定になります。見た目は同じですが、半年後に開始時刻を30分ずらしたくなったとき、繰り返しの予定なら1件を直せば済むところが、52件を1つずつ直す作業に変わります。削除も同じで、まとめて消す操作ができません。

この事故を避ける分け方は単純です。日付に規則のある予定はCSVに入れず、繰り返しの予定として別に1件作る。CSVには規則のない予定だけを並べる。シフト表のように「早番・遅番が不規則に並ぶ」表は規則がないのでCSVが向いていますが、その中に混ざっている「毎週月曜の朝会」は抜き出して繰り返しにします。

ICSで入れると、繰り返しの形を保てる

繰り返しの予定を繰り返しのまま持ち込みたいときは、CSVではなくICSを使います。ICSはカレンダーの移行に使われる標準の形式で、ファイルの先頭に BEGIN:VCALENDAR、末尾に END:VCALENDAR を置き、その間に予定を BEGIN:VEVENT と END:VEVENT で1件ずつ挟んで並べます。ヘッダーには VERSION:2.0 と PRODID を入れます。

BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//example//calendar//JA
BEGIN:VEVENT
{予定の詳細}
END:VEVENT
BEGIN:VEVENT
{予定の詳細}
END:VEVENT
END:VCALENDAR

形が正しいか自信が持てないときは、Googleカレンダーから既存のカレンダーを書き出して、出てきた.icsファイルを見本にするのが早い方法です。書き出したファイルの BEGIN:VEVENT の1行上までがヘッダーなので、そこまでを写して使えます。

ICSは手で書くと形の崩れで読み込めなくなりやすい形式です。Outlookやほかのカレンダーアプリから移す場合は、その側で書き出したICSをそのまま読み込むほうが確実で、CSVに作り直す理由はありません。

型3を無人にするときの上限

元の表が毎週更新される、申し込みが入るたびに予定を作りたい、といった用件は型2では終わりません。スプレッドシートの行を読んでカレンダーに予定を作るスクリプトを書き、時刻を決めて自動で動かす形になります。

ここで先に知っておくべきなのは上限です。Googleは自動化の実行環境ごとに1日あたりの作成件数と実行時間を公開しています。

Calendar events created 5,000 / day(個人のGoogleアカウント) 10,000 / day(Google Workspace) Script runtime 6 min / execution 出典: developers.google.com

予定の作成は個人のGoogleアカウントで1日5,000件、Google Workspaceで1日10,000件までです。日常の予定づくりで上限に当たることはほとんどありませんが、実行時間のほうは当たります。1回の実行は6分で打ち切られるため、数千件を1回で流し込もうとすると途中で止まります。止まった位置が分からないと二重登録になるので、処理した行に印を付けながら進め、次の実行では印のない行だけを扱う形にします。

自動で動かす仕掛けの合計実行時間にも枠があり、個人のアカウントで1日90分、Google Workspaceで1日6時間です。5分おきに重い処理を走らせる設計にすると、夕方には枠を使い切って動かなくなります。

向く場合と、向かない場合

用件 向いている方法 理由
規則のある定例 繰り返しの予定 あとから1件で直せる
規則のない同じ予定が10件未満 複製 ファイルを作るより早い
内容の違う予定を数十件 CSVの読み込み 表で作って一度に入れられる
ほかのカレンダーから移す ICSの読み込み 繰り返しの形を保てる
元の表が毎週更新される スクリプト 人が触る工程を外せる
出席者に参加依頼を送る予定 手で作る 読み込みでは出席者が運ばれない

表の最後の行は見落とされやすい分かれ目です。出席者の返答を集めたい予定は、一括で入れても参加依頼が飛びません。読み込みで作れるのは、自分の枠を押さえるための予定までだと考えると設計を間違えません。

入口を変えると、まとめて入れる作業そのものが減る

一括登録が必要になる場面をよく見ると、入力の入口が「予定の作成フォームを1件ずつ開く」ことしかないために、まとめて入れる工程を別に用意している場合があります。入口が増えると、ファイルを作る前に片づく用件が出てきます。

Mac用のカレンダーアプリには、メールやチャットの文面を丸ごと貼り付けて、日時・場所・出席者・会議リンクを読み取って予定の下書きにするものがあります。行程表や案内メールが手元にある場合、CSVに作り直すより貼り付けたほうが速く終わります。文章から予定を作る手順は予定の入れ方で説明されています。書類やWebページを読み取って複数の予定として取り込む機能まで含めて何ができるのかはできることに一覧があります。

移動を伴う予定を並べるときは、予定と予定の間に移動の時間が入っているかも確認が要ります。住所から所要時間を計算して移動の枠を自動で作る仕組みについては移動時間にまとめられています。CSVで会議だけを50件入れたあとに移動が入らないことに気づく、という手戻りはここで防げます。

どの道具を選ぶかは、Googleカレンダーだけで足りるのか、手元のアプリ側に入口を足すのかという判断になります。Macで使えるカレンダーアプリの機能と料金の並びは他のカレンダーとの比較にあり、無料のまま使える範囲とライセンスが要る範囲の切り分けは購入に書かれています。導入の前に確かめておきたい細かい条件はよくある質問で拾えます。

次に決めることは1つです。自分の用件が型1か型2か型3かを、日付の規則と更新の頻度から判定する。そこが決まれば、この記事のどの節を読み直せばよいかも決まります。

よくある質問

CSVの読み込みはスマートフォンからできますか?

書き出しも読み込みもパソコンからの作業になります。Googleはスマートフォンやタブレットには対応していないと案内しています。ファイルを用意するところまではスマートフォンでもできますが、カレンダー側の「インポート / エクスポート」を開く工程はパソコンが必要です。

CSVの列名を日本語で書いてはいけないのですか?

列の名前は英語で書く必要があります。Subject や Start Date のように決められた名前で1行目に並べます。日本語の見出しにすると読み込めないため、社内の表をそのまま使う場合は1行目だけ英語に差し替えてから保存します。

毎週の定例をCSVで52行入れると何が困りますか?

CSVから読み込んだ定期的な予定は、繰り返しの予定ではなく1回限りの予定の連続として入ることがあります。その場合、開始時刻を変えたいときに52件を1件ずつ直すことになります。規則のある予定はCSVに混ぜず、繰り返しの予定として別に作るほうが後が楽です。

スクリプトで自動登録するとき、件数の上限はどれくらいですか?

予定の作成は個人のGoogleアカウントで1日5,000件、Google Workspaceで1日10,000件です。あわせて1回の実行が6分で打ち切られる制限があるため、数千件を扱うときは処理済みの行に印を付けて分割して流します。

記事一覧へ戻る