google カレンダー エクセル インポートの下ごしらえ|表を作り直す手順
google カレンダー エクセル インポートで探している人が持っているのは、たいてい Excel で作った予定表です。月ごとのシフト、年間行事、出張の日程などが、すでに表の形になっています。これを手で打ち直さずに Googleカレンダーへ移したい、というのが出発点です。
結論から言うと、Excel のファイル(xlsx)をそのまま読み込むことはできません。Googleカレンダーが受け付けるのは ICS と CSV の2つだけです。やることは、Excel の表を Googleカレンダーが読める CSV の形に組み替えて保存し、読み込むという流れになります。難しい作業ではありませんが、組み替えの段階を飛ばすと必ず失敗します。
Googleカレンダーを開いて、「インポート/エクスポート」→インポートでさっき作ったcsvファイルを読み込む。読み込んだら、どのカレンダーにインポートするのかを選んでインポートボタンを押す。 出典: blog.fascode.net
手元のExcelの表が、そのままでは読み込めない理由
人が見るために作った予定表と、Googleカレンダーが読む表は、形が違います。人向けの表には次のような作りが入りがちです。
- 1行目にタイトル、2行目に作成日、3行目から見出し、という段組み
- 見出しが「日付」「内容」「場所」と日本語
- 1つの予定が複数の行にまたがるセル結合
- 日付の列が「10月5日(日)」のような表示形式
- 空行や小計行が途中に入っている
Googleカレンダーが読む CSV は、この逆です。1行目が英語の見出し、2行目からは1行に1件の予定、セルの結合も空行も無い状態です。人向けの装飾をすべて落として、機械が読む表に作り直す作業が「下ごしらえ」にあたります。
作り直すときは、元の表を直接いじらず、新しいシートを1枚作ってそこに組み立てると安全です。元の表は人が見るためにそのまま残し、取り込み用のシートだけを CSV として書き出します。次に同じ作業が来たときも、シートを使い回せます。
手順1:取り込み用のシートに列を並べる
新しいシートの1行目に、英語の見出しを並べます。Google カレンダー ヘルプで挙がっている見出しは Subject、Start Date、Start Time、End Date、End Time、All Day Event、Description、Location、Private の9つで、必須は Subject と Start Date の2つだけです。
まずは必要な列だけを置きます。時間帯のある予定なら、Subject、Start Date、Start Time、End Date、End Time、Location の6列で足ります。終日の予定だけなら、Subject、Start Date、End Date、All Day Event の4列で済みます。
元の表からは、関数で引いてくると手入力が要りません。件名の列に元シートの内容の列を参照する式を入れ、日付の列には日付のセルを参照する式を入れます。100件の予定でも、1行分の式を作って下へコピーすれば並びます。セル結合が残っていると参照が崩れるので、元の表をコピーしたシートで結合を解除してから参照します。
手順2:日付と時刻の書式をそろえる
いちばん失敗しやすいのが日付です。Excel の日付は見た目と中身が別で、「10月5日(日)」と表示されていても、中身は日付の値です。CSV に書き出すときには、その時点の表示形式に従った文字列になります。
Google カレンダー ヘルプの記入例では、日付が 05/30/2020、時刻が 10:00 AM の形です。月、日、年の順で、スラッシュ区切りです。取り込み用のシートでは、日付の列の表示形式をこの形にそろえます。表示形式を変えるだけで中身の値は変わらないため、元の表の日付をそのまま参照して問題ありません。
安全なのは、日付の列を文字列として組み立てる方法です。年、月、日をそれぞれ2桁にそろえて連結し、05/30/2026 の形の文字列を作れば、保存のときに書き換えられる心配がなくなります。時刻も同じで、10:00 AM の形の文字列にしておきます。
終日の予定は、All Day Event の列に True と書き、Start Time と End Time を空にします。数日にまたがる場合は、Start Date に初日、End Date に最終日を入れます。時間帯のある予定は All Day Event を False にします。
手順3:CSVとして保存する
組み立てが終わったら、取り込み用のシートだけを CSV として保存します。Excel の「名前を付けて保存」でファイルの種類を選ぶとき、「CSV UTF-8(コンマ区切り)」を選びます。日本語の環境では、ただの「CSV」を選ぶと別の文字コードで書き出され、読み込んだ予定の件名が文字化けする原因になります。
保存したら、いったんテキストエディタで開いて中身を見ます。確かめるのは次の3点です。
- 1行目が英語の見出しになっているか
- 項目の区切りがカンマになっているか
- 日付が意図した書式のままか
Google カレンダー ヘルプには、セミコロンやコロンで区切られたファイルには対応しておらず、すべての項目がカンマで区切られている必要があると書かれています。地域の設定によっては、CSV として保存してもセミコロン区切りになることがあります。
説明の欄に読点の代わりのカンマが入っている場合は、その項目が二重引用符で囲まれているかも見ます。囲まれていないと、カンマの位置で列がずれ、以降の項目が1つずつ後ろに動きます。
Googleスプレッドシートを使える環境なら、Excel のファイルをアップロードしてから「ダウンロード」で CSV を選ぶ方法もあります。こちらは UTF-8 で書き出されるため、文字化けを避けやすくなります。
ファイルの大きさにも上限があります。Googleカレンダーが受け付けるのは1MB 以下で、これを超えると「Google カレンダーは一時的にご利用いただけません」という表示になります。件名と日付だけの CSV なら数千行でも収まりますが、説明の欄に長い文章を入れている場合は上限に近づきます。超えたときは、月ごとや四半期ごとにファイルを分けて、順番に読み込みます。分けて入れても、同じカレンダーへ続けて読み込めば結果は変わりません。
手順4:取り込み用のカレンダーへ読み込む
読み込みはパソコンのブラウザから行います。Googleカレンダーの設定を開き、「インポート / エクスポート」でファイルを選び、読み込み先のカレンダーを選んで、インポートを押します。
読み込み先は、既定ではメインのカレンダーです。ここを新しく作ったカレンダーに変えます。左側の「他のカレンダー」の横から、「シフト取り込み」のような名前のカレンダーを先に作っておきます。CSV の読み込みには取り消しの機能がないため、書式の間違いで大量にずれて入ったときは、カレンダーごと削除できる状態にしておくと復旧が1分で終わります。
読み込むと、処理した件数が表示されます。用意した行数と合っているかを見て、合わないときはファイルの中に読み取れない行があります。空行、日付の欄が空の行、列の数が見出しと違う行が原因になりやすい箇所です。
入ったあとは、最初と最後の数件を開いて、日付と時刻を確かめます。特に見るのは月と日の入れ替わりです。10月5日のつもりの予定が5月10日に入っていたら、日付の解釈がずれています。この場合はエラーが出ないまま、違う日に静かに入ります。
繰り返しの予定も、入り方を知っておくと驚かずに済みます。Google カレンダー ヘルプには、CSV ファイルから定期的な予定を読み込むと、カレンダーに定期的な予定として表示されず、1回限りの予定の連続として表示されることがあると書かれています。Excel の表で毎週の会議を52行書いて取り込めば、52件の別々の予定になります。あとで時間を変えたくなったときに52件を開くことになるため、規則のある予定は取り込まずに、Googleカレンダーの画面で1件作って繰り返しを設定するほうが後が楽になります。
Excelで予定を管理し続けるか、カレンダーへ移すか
一度取り込むと、次の疑問が出てきます。これからも Excel で予定表を作り、月ごとに取り込むのか。それともカレンダー側で直接入れていくのかです。
みなさんは普段、どのようにスケジュールを管理しているでしょうか。手帳の方もいるかと思いますが、デジタルツールで管理されている方もいるかと思います。特にGoogleカレンダーは導入の手軽さから、仕事やプライベートで活用されています。 出典: note.com
判断の目安は、その予定表が誰のために作られているかです。職場全体のシフト表のように、Excel の形で配布したり印刷したりする必要があるなら、Excel を正とし、カレンダーへは取り込みで反映させる形が続けやすくなります。自分の予定だけなら、カレンダーに直接入れたほうが二重管理になりません。
取り込みを続ける場合、変更があった予定の扱いが問題になります。CSV には識別番号が無いため、同じファイルを2回読み込むと同じ予定が2件並びます。月ごとに取り込み用のカレンダーを分け、更新するときは前の月のカレンダーを削除してから入れ直すと、重複せずに更新できます。
配布のしかたも合わせて考えます。Excel の表を配りながらカレンダーにも入れていると、両方を直す手間が毎月かかります。カレンダー側を正とし、必要なときに書き出して配る形にすると、直す場所が1つになります。Googleカレンダーからは、カレンダー単位で ICS ファイルを書き出せます。印刷した形が必要な場面では、カレンダーの画面から印刷する方法もあります。どちらを正とするかを決めないまま両方を使い続けると、会議の時刻が表とカレンダーで食い違う事故が起きます。
取り込んだあとの、1件ずつの予定をどうするか
Excel で作れるのは、あらかじめ決まっている予定です。当日に入る打ち合わせや、電話で決まった訪問は、カレンダーへ直接入れることになります。ここは表計算ソフトでは短くできない部分です。
Mac用のカレンダーアプリの中には、話し言葉で書いた一文から日時や場所を読み取って予定にするものがあります。「来週火曜の10時から本社で定例」と書けば、日時と場所が分かれて入る作りです。表で用意できる予定は CSV、その場で決まる予定は一文で、と分けると、どちらの手間も小さくなります。入力の作りの違いは予定の入れ方に、アプリごとにできることはできることにまとめてあります。
取り込んだ直後のカレンダーは、予定が詰まって見えます。Excel の表には移動や準備の時間が書かれていないためです。訪問や研修のように場所が変わる予定は、前後に移動の時間を置かないと当日に回りません。ここをどう扱うかは移動時間で扱っています。取り込みが終わったら週の表示で眺めて、間に合わない並びの日を先に直しておくと、表の上では成立していた予定表が実際にも回るようになります。
よくある質問
Excelのファイルをそのままインポートできますか?
できません。Googleカレンダーが読み込めるのは ICS と CSV の2つです。Excel で作った表は、英語の見出しに組み替えてから「CSV UTF-8(コンマ区切り)」で保存し、その CSV を読み込みます。元の表は人が見る用として残し、取り込み用のシートを別に作って書き出すと、次回以降も同じ手順で進められます。
取り込んだ予定の日付が1日ずれたり、違う月に入ったりします。
日付の書式の解釈がずれています。Google カレンダー ヘルプの記入例は 05/30/2020 のように月、日、年の順です。Excel が保存時に別の形式へ書き換えることがあるため、日付の列を文字列として組み立てるか、保存後にテキストエディタで中身を確かめます。ずれた予定は、取り込み用のカレンダーごと削除してから入れ直します。
毎月シフト表を取り込むと、予定が重複しませんか?
CSV で入れた予定には識別番号が無いため、同じ内容を2回読み込むと2件並びます。月ごとに取り込み用のカレンダーを分けておき、修正版を入れるときは前のカレンダーを削除してから読み込むと重複しません。カレンダーの表示はオンとオフで切り替えられるので、過去の月を畳んでおくこともできます。
件名が文字化けするのはなぜですか?
保存したときの文字コードが原因であることが多いです。Excel の標準の「CSV」形式は、日本語の環境では UTF-8 以外で書き出される場合があります。「CSV UTF-8(コンマ区切り)」を選んで保存し直すか、Googleスプレッドシートに読み込んでから CSV としてダウンロードすると、文字化けせずに取り込めることが多くなります。