2021-02-17に更新

Numbersで子ども用の時間管理アプリを作った話

とある成り行きで子どものゲームの時間を管理する必要が出てきた。ひとまず一旦1週間で合計10時間までゲームをしてよいというルール。そのためゲームプレイ時と終了時に子どもがその時の時刻をメモし、あとで計算してく形。

しかしそれは結構大変。まだ小学2年生なので時間の計算にそこまで慣れているわけではない。60を足したり引いたりする必要もあるため単純な筆算だけではできない。教えたら分かる感じではあったので最初の数回はやっていたが。また、その計算した時のメモも全部残しておき、毎日毎日合計を出していかなければならない。なかなか大変。

ということで、iPadも最近届いたしせっかくだし何かアプリは無いかな、と思ったのだが、ちょうど良いアプリがない。時間をオンオフすると勝手に時刻も記録してくれたり、1日毎の記録しか残せないものなどは見つかったが、今回の要件には合わない。

であればアプリを作れないかな、と思ったのだが、さすがにアプリをストアにリリースとなるとそもそもこの1週間が終わってしまうような気もするし、スピード感に欠ける。Webでとなると今度はデータの保存が面倒くさいのでやはりスピード感に欠ける。

と、よくよく考えたらiPadにはNumbersが入っているので、それが一番早いのではないかと思って作ることにした。完成品はこんな感じ。まあよくあるエクセルの計算表レベルのもの。

  • 開始と終了の時刻を入れれば勝手にその時の合計と、全部の合計が算出される
  • 円グラフもあるので視覚支援になりわかりやすい
  • 時刻を入力するだけなので小学2年生でも簡単に扱える

速攻で機能を顧客に提供することができたし、家庭内で使うレベルのアプリであればNumbersやエクセルで十分そうな気がした。

作り方

基本的にエクセルと同じ。

開始~終了時間の算出

合計欄にカーソルを合わせ = をうつと計算入力欄が現れる。そこで終了セルと開始セルをそれぞれタップすると計算入力欄にそのセルが追加される。あとはマイナスを間に入れるだけ。これで計算の行ができる。

あとはこの3つを範囲選択し、全ての行に貼り付ける。貼り付ける時に計算式を貼り付ける方で貼り付ける。これで全部の行で同じ用に計算ができる。

全部の合計の算出

これはSUM関数を使う。計算入力欄が出たら、SUMを入力、もしくはfxボタンの中から選択する。そして全ての行の合計欄を範囲選択すればその合計が自動的に算出される。

残り時間の算出

こちらはちょっと分かりづらいが、単に10:00というフォーマットで文字を入力すると時刻になってしまって正しく計算できない。時間の量を計算するためには期間値という値を利用する。一番簡単なのは、DURATIONという関数を使うこと。具体的には DURATION(0,0,10)-合計セル という計算で出せる。

グラフの作成

あとは合計と残りの2つのセルを範囲選択し、上の方にあるプラスボタンをタップして、そこから円グラフを選択すればもうできる。スクリーンショットのような配置であればラベルも勝手につく。あとはわかりやすいように色を変える。

まとめ

あとで気づいたが、デフォルトでは同じアカウントであれば別端末でも同期されるようなので、大人はmacで開発して、子どもにiPadで使ってもらう、みたいなこともできる。

あとは需要がありそうだと思った人はスマホアプリを作ってみると良いかもしれない。僕がぱぱっと検索した範囲では見つけられなかった。ずっと使い続けるなら僕が作るのかもしれないが、次週移行も使うのかはわからないのでモチベーションはない。

ツイッターでシェア
みんなに共有、忘れないようにメモ

だら@Crieit開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント