エクセルで勤務表等を作る際に抑えておきたいポイントを整理しておきます。
24時以降の時間を表示する方法やその時間を時間数(何時間)の数値に変換する方法が
いつもわかりずらくなってしまうので、改めて整理しておきます。
また、15分単位で切り捨て、切り上げの方法などもまとめます。
1.24時以降を表示する方法
・セルの表示設定を[h]:mmに設定する。
そうすると、24:00の様に表示されます。
(仕組みを理解する)
エクセルで時間を入力するとシリアル値というもので管理されます。
シリアル値の少数部分で時間を表します。基準は1900年1月0日となります。
セルに0を入力して、表示形式を日時の形式にすると以下の様に表示されます。
1900/1/0 0:00が0となります。シリアル値は1秒で0.0000115740740740741となり、それを加算していきます。
1:30では0.0625
23:59:59では0.999988425925926となります。
で
24:00:00が1となります。これは翌日の0:00分ということで表されます。
そのため、25:30となると1.0625となります。(表示形式を標準にするとわかります。)
そう。25:30は1日の1:30というシリアル値となります。
72:00は3日の0:00となり、3がシリアル値になります。
といった感じです。
2.時間数(0.0h)に換算する。
①時間数(h)を取得する
通常は、hour()関数でOKなのですが、上記の25時等を入力した場合を考え、日の考えも考慮します。
そうすると、シリアル値の整数部分で何日経過したかを把握するため、0からの経過日数を調べるという形で
DAYS()関数を使用します。経過日数×24hを加算することによって、正しい時間数を求めることができます。
=DAYS(H5,0)*24+HOUR(H5) となります。
②分数(m)を取得し、時間数(h)に換算する。
分数については、簡単で=MINUTE()関数でOKです。
抽出した分を1時間ということで60分で割ると時間数に変換できます。
=MINUTE(H5)/60 となります。
③合算する
で、上記①と②で求めた時間数(h)を足し算することで、時間数が求められます。
=(DAYS(H5,0)*24+HOUR(H5))+(MINUTE(H5)/60) とすることで、出来上がりました。
3.15分刻みで時間を切り捨てる。切り上げる。
CEILING(シーリング)関数で切り上げ、FLOOR関数で切り捨てるという関数が用意されています。
①CEILING(シーリング)関数
指定した基準値の倍数で最も近い値に切り上げることができる関数で出勤時間などの時に使用できます。
=CEILING(数値, 基準値)
数値:切り上げたい数値を参照します。
基準値:倍数の基準となる数値を指定します。
=CEILING(B1,"0:15")
②FLOOR(フロア)関数
指定した基準値の倍数で最も近い値に切り捨てることができる関数で退勤時間などの時に使用できます。
=FLOOR(数値, 基準値)
数値:切り捨てたい数値を参照します。
基準値:倍数の基準となる数値を指定します。
=FLOOR(B1,"0:15")
一旦今回はこれぐらいですかね。
何か他に必要なことはないかな・・・?
思いついたら随時追加していきます!!
もし何か疑問やこんなの考えて欲しいなどありましたら、連絡ください!!
(関連記事)
0 件のコメント:
コメントを投稿