見出し画像

スプレッドシートによる日記のすゝめ

はじめに

日記を書きたい!と思った理系の方々に是非

私事ですが、最近体調を崩しがちでございまして。生活習慣を一目で管理できる日記を付けたいなと思った次第です。スプレッドシートで作る視覚的に分かりやすい日記を作ってみたのでご紹介いたします。


視覚的に分かりやすい日記とは

睡眠時間の視覚化

私は睡眠時間がボロボロでして…就寝時刻と起床時刻を入力すると睡眠時間が計算されます。健康的な時間の場合は緑、注意ゾーンが黄色、危険ゾーンがオレンジ、体ぶっ壊しゾーンが赤で表記するようにしております。こんな生活をしていれば体調も崩すのは無理ないですね。

筆者の実際のスプレッドシート(一部抜粋)

マクロの組み方

表示形式<条件付き書式のタブを選択して色を付けていきます。

スプレッドシートの右側に以下のような設定が出てきます。時間を入力したセルに対して数式を適用して書式設定のスタイル塗りつぶしで色を付けます。

カスタム数式

value関数を用いると時刻表記しているセルから数字として出力できて、*24で24時間表記を数字に変換できます。

=value(21:30)*24
#出力21.5

起床時刻を入れたセルにおいて、6時以降8時未満の時間に起きられた場合、緑に塗りつぶしたいので以下のようにします。他の時間の間隔を設定したいときには数字の部分を変えればokです。
私は朝起きられないのでほとんど緑になりませんが…

#6時以降8時未満の例
=and(6<=value("時刻を入れたセル")*24,value("時刻を入れたセル")*24<8)

睡眠時間を入れたセルで6時間以上7時間未満の場合もしくは、8時間以上9時間未満の場合に黄色に塗りつぶしている数式は以下になります。

ちなみに6時間睡眠を2週間続けると2徹したのと同じ疲労がたまるらしいですよ。適度な睡眠をとりたいですね。

#6時間以上7時間未満もしくは8時間以上9時間未満の例
=or(and(6<=value($D2)*24,value($D2)*24<7),
and(8<=value($D2)*24,value($D2)*24<9))

オマケ

セルが空白だとvalue関数で0を返すので、空白の場合を除いて塗りつぶしするとさらに見やすくなります。同値でない場合は<>を用いるので、""(空欄)を省くと以下の通りです。
空欄を省く場合: "セル"<>""

#0時以降1時未満の例
=and("セル"<>"",and(0<=value("セル")*24,
value("セル")*24<1)))

日記の項目

私の場合は生活時間の改善をしたかったので(出来たとは言ってない)、上記のマクロを

  • 起床時刻

  • 就寝時刻

  • 睡眠時間

に分けて管理できるようにしました。起床時間と前日の就寝時刻を入力するとその日の睡眠時間が自動で計算される、というわけです。自動化すると面倒が減ってモチベーションが続きますね。あとは

  • 食事(朝食、昼食、夕食)

  • 活動記録(午前、午後、夕方、深夜)

  • その日の一言

以上の項目をつくって日記らしい事も記録するようにしております。chat gptのapiを導入して、食事のバランスをAIに判断してもらって色分けする、とかもいずれ出来たら面白そうですね。

最後に

日記を作ったからと言って、それだけで生活習慣が改善される、とは限らないぞ!
へば、また何処かで。

この記事が気に入ったらサポートをしてみませんか?