指定期間のカレンダー上から予定を検索して、その合計時間を計算してくれるショートカットレシピを作りました
例えばですけど、「今週勉強した時間」とか「今月ジム行ってた時間」とかを、たまに自分で計算してみて、「おおお…!こんなにやってたのか自分!」とかってなるのって、めっちゃ気持ちよくないですか。
…ぼくだけかしら。甘すぎかしら。自分に。
でもたまに自分のやってきた量を振り返ったりするのはいいですよね。この調子で頑張ろ!ってモチベになります。
ということで、その「予定の合計の計算」が自動でできるショートカットレシピを作りました。
遊び半分で作ったものですが、せっかくなら誰かに使ってもらえた方が嬉しいので、このnoteでショートカットを公開します。
ショートカットの名前は「予定の合計求めるくん」です。予定の合計を計算してくれるからです。
以下「求めるくん」として紹介します。お見知りおきを。
実際に動かしたところを見てみよう
自動で動いてるところを見てもらったら割と感動してもらえるんじゃないかということで、動画にしてみました。
動画では
・3/1から3/31の期間の、
・毎日7:00~7:35の時間で繰り返してある、
・「note書く!」というタイトルの予定
の合計時間を計算してくれています。
めちゃ朝活ですね。健康的。
計算結果は 35分×31日=1,085分=18時間5分 になるはずで、求めるくんの答えもこれと一致しています。優秀ですね。
インストールして使ってみてください、ぜひ
この求めるくんは、共有することで誰でも使えるようになります。よかったらインストールしてみてください。
手順は次の通り。とっても簡単です。
(1)↓ をタップ、ブラウザもしくはショートカットアプリが立ち上がります
(2)[ショートカットを入手]→[ショートカットを追加]をタップ
インストール完了です。すごい。
これで求めるくんがあなたのスマホに。
使い方は解説とっても簡単
ショートカットをタップすると、求めるくんが「これしてください」「あれしてください」と順番に教えてくれます。
それに従って、
①予定を検索したい期間
②検索する予定のタイトル
の2つを入力していくだけです。
優秀な求めるくんですが、きちんと動くように以下の2つだけ注意してください。
【1】予定のタイトルは完全一致で入力する
入力するタイトルは、検索したい予定のそれと完全に一致させる形にしてあげてください。
例えば「note書く!」という予定を探したいとき、「noteを書く!」
「note書く」などでは検索がヒットしません。
求めるくんはすごくゲンミツな性格なのです。
【2】Googleカレンダーユーザーの人はiPhoneカレンダーと同期させる
ショートカットの仕様上、求めるくんが予定を検索できるのはiPhoneの標準カレンダーからのみです。
そのため、普段Googleカレンダーを使っている人は、GoogleカレンダーからiPhoneカレンダーに予定を同期する必要があります。
こちら ↓ の記事を参考にしてください。
iPhoneカレンダーユーザーの人は何もしなくて大丈夫です。
作ろうと思ったきっかけ
個人的にはこの求めるくんはすごい気に入ってて、便利だし使い道が意外とありそうだし、中身も割と工夫して、「作ってよかったなー」と思ってるんですが、そもそもなんで作り始めたんだったけ…となってます。なんでだっけ。
急に思いついて、作れそうだなと思った感じだったような。通勤中の電車の中で立ちながら作ってました。
仕組みとむずかしかったところ
制作者的にはここが一番熱く語れるところなわけですが、とはいえそれを伝わるように書く文章力も気力も、そもそも読まれる需要もないということで、どうしたって手短にせざるをえません。残念です。
今回のショートカットで一番やっかいだったのは、
検索した予定の時間は「分:秒」の形式と「時:分:秒」の形式と混ざってるけど、どうやって区別させる?どうやって足し合わせる?
というところでした。
単純に「予定を検索してその時間を全部足す」というわけにはいかないんです。どうしてか。
例えばですが、求めるくんが検索してきた予定の時間は下のような状態になってます。
このままこれらをガシャンと足し合わせたい気持ちは山々ですが、そうはいきません。ショートカットは4つの数字を一気に足す、とかができないからです。
しかもただ足すんではなくて、「時」と「分」とを分けて足さないといけないし、そもそも何個の数字を足し合わせるのかもその時々で変わってくるわけだし……うおお…。
と、考えることがいっぱいあって、頭がいっぱいいっぱいになりますが、これを結局どうしてるかというと、こんな ↓ 感じです。
あらかじめ「時の合計」ボックスと「分の合計」ボックスを作っておきまして、そこへ検索してきた予定の時間を1つずつ持ってきては、「分」と「時」とを間違えないように、それぞれボックスに入れていく、と。
これを実現するためには、割とちゃんとプログラミングっぽいテクニックを使いました。
左の「1つずつ取り出す」はForEach処理だし、「時:分:秒」形式で「時」と「分」を分けて足すために、それぞれを一旦リストに格納したあとindexで指定して時、分と順番に持ってくる、ということをしてます。
難しかっただけに、計算がうまくいったときは嬉しかったです。
インストールして使ってもらう時も、うまく動くことを願ってます。
もし求めるくんをインストールして使ってくださった方がいましたら、ぜひぜひコメントなどで教えてください。大変喜びます。それはもう、大変に。
ご不明点や質問などももちろんお待ちしています。
ステキな求めるくんライフを!