Googleカレンダーに月末の繰り返しイベントを追加する方法

Googleカレンダーで「毎月31日」に設定すると、うまいこと月末に合わせてくれそうですが、実際は31日が存在しない2月(28日)や3月(30日)にはイベントが表示されません。
今回紹介する方法を使えば、月末にイベントを表示できるようになります。
ただし、カレンダーをエクスポートして無理矢理テキストエディタで編集する方法なのでデメリットも多いです。
- Googleカレンダー上で編集が完了しない
- 追加するたびに同様の手順を踏む必要がある
- 再編集が面倒
あとから修正しなさそうな、決まったイベントの場合は設定しておいても良さそうです。
月末のイベントの設定
設定の流れは下記の通りです。
- Googleカレンダーで「月末」に設定したいイベントを作成
- Googleカレンダーをエクスポート
- テキストエディタで編集
- Googleカレンダーへインポート
Googleカレンダーで「月末」に設定したいイベントを作成
まずは月末に設定したいイベントを作成します。
Googleカレンダーの「作成」ボタンからカスタムの繰り返し設定画面から「繰り返す間隔:」を1ヶ月ごとにし、「毎月31日」を指定して完了します。

この状態でカレンダーを見てみると分かりますが、31日が存在しない月にはイベントが表示されていません。
Googleカレンダーをエクスポート
ここから先はGoogleカレンダー上ではできないので、1度Googleカレンダーをエクスポートします。
画面右上の歯車アイコンをクリックして[設定]を選択します。

設定画面のサイドバーに[インポート / エクスポート]があるので、それをクリックしてカレンダーのエクスポートを行います。
ちなみにカレンダーを複数持っている人は、エクスポートしたファイルがどのカレンダーなのか分かりやすいように、あらかじめカレンダーの名前を英語にしておくのをオススメします。

テキストエディタで編集
エクスポートしてダウンロードしたZipファイルを解凍すると、カレンダー分の.icsファイルが入っています。
月末にイベントを設定したカレンダーの.icsファイルをテキストエディタで開き、BYMONTHDAY=31で検索します。
下記2行のうちのどちらかがヒットするはずです(ヒットしない場合は、イベントが追加されていないか、開いている.icsファイルが間違っています)。
RRULE:FREQ=MONTHLY;BYMONTHDAY=31
RRULE:FREQ=MONTHLY;WKST=SU;BYMONTHDAY=31これらの行の31となっている部分を-1に変えて保存します。
RRULE:FREQ=MONTHLY;BYMONTHDAY=-1
RRULE:FREQ=MONTHLY;WKST=SU;BYMONTHDAY=-1これでイベントの繰り返し設定が31日から-1日。
つまり来月の1日前の日に表示されるようになり、結果的に月末に表示されます。
Googleカレンダーへインポート
最後に編集した.icsファイルをGoogleカレンダーへインポートします。
設定画面へ戻り、.icsファイルと追加するカレンダーを選択して「インポート」をクリックします。

インポートが完了したら、ちゃんと月末にイベントが表示されているか確認しましょう。
まとめ
この手順であれば、月末にイベントを追加できます。
Googleカレンダー上で完結しないので、面倒ですが忘れてしまうよりはマシです。
需要もあると思いますし、こういうのはGoogleカレンダー側で対応して欲しいものですが、現状はこの方法になりそうです。

macOSのシステム環境設定「通知」の設定見直し
Sketchのプラグインを管理ツールを使わずに直接フォルダで管理する方法
Keyboard Maestroでウインドウのリサイズや移動をするときに使う「SCREENVISIBLE」についてのまとめ
Alfredのランチャー(メインウインドウ)が邪魔で後ろが隠れてしまうときの対処法
Sketchのメニューバーにショートカットキーを割り当てる方法
Alfred 4でのWorkflowの作り方とWorkflow Objectのまとめ
BetterTouchToolを使って、Finderのファイルを「規定アプリケーションで開く」ショートカットキーを設定する方法
Google Chromeの別アカウントとのブックマークを同期する「TeamSync Bookmarks」
デュアルディスプレイの際にAlfredの検索ボックスをマウスがある画面に表示させる方法
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
DeepLで「インターネット接続に問題があります」と表示されて翻訳できないときに確認すること
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
ATOKの「連想変換」で似た意味の別表現に変換して自分の文章に磨きをかける
ウインドウリサイズ系のアプリMagnet・ShiftIt・BetterTouchToolの比較
Alfred 4の無料版と有料版(Powerpack)で使える機能比較
Macのファイル拡張子に紐づいているアプリケーションの管理方法
Path Finderのデュアルブラウザで、別枠へのファイル移動とコピーを使いやすくする
Sketchのライブラリアップデートの方法
Figmaのフレームを一瞬で整列するプラグイン「LilGrid」
1Passwordで素早くパスワードを入力するためのショートカットキー
Macを使って、打ち合わで画面共有をする前にやっておきたい設定や確認事項まとめ
SourceTreeの外部Diff / MergeツールをKaleidoscopeに設定する