みた、こと。きいた、こと。

合言葉はSite Seeing

時間計算・その2

殆ど趣味的に昨日に引き続き*1はてなグラフで時間を扱う方法についていろいろと試してみた。

ダラダラと書いてますので、興味のない方は読み飛ばしてください。

時間と時間の差を計算

昨日は「出社時刻」を入力した。だから今日は「退社時刻」を入力してみた。

おっと。言い忘れたことだが、この時間は私がこの説明の為に作った物なので私の本当の出社時刻とは一切関係ないです。では、それぞれをグラフで確認してみよう。

出社時刻2 退社時刻2 比較グラフ
出社時刻2 退社時刻2 出社時刻と退社時刻


比較のグラフを出してみた。折れ線グラフとなっているが、この2つの線の間が「勤務時間」と考えられる。

というワケで時間を計算できる形に再計算した「退社時刻2」と「出社時刻2」の引き算をすればいい。

・・・と、言いたい所なのだが残念ながら、現在のはてなグラフには「数式を用いたグラフ名は数式に利用できない」という仕様(?)がある。なので、本来なら

  • 数式=[退社時刻2]-[出社時刻2]

とやりたいのだけれども、これが出来ない。結果的に言えば「数式をそのまま展開する」としなければならない。ガッカリ。

出退時間差
  • 数式=(FLOOR([退社時刻])+([退社時刻]-FLOOR([退社時刻]))*100/60)-(FLOOR([出社時刻])+([出社時刻]-FLOOR([出社時刻]))*100/60)

出退時間差
出退時間差

出来た。これで分単位の引き算も出来ていることになる。エヘン。

ってことは「出社時刻2」と「退社時刻2」のグラフはもう要らないんだな(笑)<でも記事に使っちゃったからもう消せないな〜。

時間計算式 ver.2

ついでに。

昨日考えた時間の入力方法は、小数点以下の部分に「分」を入れ、数式を使って計算できる形だった。使った数式は以下の通り。

  • 数式=FLOOR([出社時刻])+([出社時刻]-FLOOR([出社時刻]))*100/60

一晩考えてもう少し簡単にする事が出来た。

  • 数式=FLOOR([出社時刻])+MOD([出社時刻]*100,100)/60

基本的に答えは同じになる。何が違うかといえば、分の計算の部分。前処理の仕方が違う。昨日の式は「元の値から時間部分を引いて分を求める」というやり方をしているのに対し、今日の式は「小数部を100倍して整数化し、下2桁を切り出して分を求める」というやり方だ。どちらがいいかというと、実は後者の方が都合がいいみたい。理由は「小数部分の計算は丸めが発生する」という事が何度かあった。結構細かい。

というワケで明日からの計算はこれをベースにすることにします。ちょっと短くなったので勘弁ってことで。

で、明日は?というと「タイムカードの計算をするならやっぱり15分刻みよね」という事にチャレンジしていきたいと思います!*2

*1:その1:過去記事→id:kenbot3:20050823:p3

*2:もう、かなり趣味に走ってます。暴走中。誰か止めて。