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カレンダー側で対応して欲しいものですが、現状はこの方法になりそうです。

Path Finder 8のウインドウにターミナルを追加して使用する
MacのターミナルからVisual Studio Codeを開く方法
Macでダブルクォーテーションを入力すると自動で変換されてしまうのを無効にする
Macのエイリアスとシンボリックリンクの違いや作成方法
Path Finderのデスクトップ表示をすれば、デスクトップだけ不可視ファイルを非表示にできる!
日々のやり取りを便利にしてくれるチャットサービス統合アプリの比較!Franz・Rambox・Station・Stack・Biscuit
iPhoneをもっと便利に使うための細かい小技集 #1日1Tips – 2020年2月
ウインドウリサイズ系のアプリMagnet・ShiftIt・BetterTouchToolの比較
Dropboxの「Macをバックアップ」機能でデスクトップや書類フォルダを同期する
AirPodsで片耳を外しても再生が止まらないようにする方法
MacのKeynoteにハイライトされた状態でコードを貼り付ける方法
iTerm2でマウスやトラックパッドの操作を設定できる環境設定の「Pointer」タブ
Ulyssesの「第2のエディタ」表示を使って2つのシートを横並びに表示する
Google Chromeでタブのグループ化機能を使う方法
TwitterとFacebook用のOGP設定方法と表示確認方法
チャットサービスを一元管理できる「Franz」を使ってチャットの確認をラクにする
瞑想をするならApple Watchにも対応している「Insight Timer」がオススメ!
Google Chromeで文字コードを変更するChrome拡張機能「Charset」
Finderで選択したフォルダをVisual Studio Codeで開くAlfred Workflowの作り方
1PasswordとAlfredを連携してログイン情報の検索を行う方法
Macの高機能diffツール「Kaleidoscope」
Photoshopでファイルを開いたとき「予期せずにファイルの末尾に達しました。」と表示される場合の対処法
Backlogの課題期限をカレンダーアプリのFantastical 3に表示させる方法