時間の計算と関数

   
 時間にもシリアル値ってあるの〜?

時刻シリアル値とは、1日の0時0分0秒を「0」、翌日の0時0分0秒を「1」とし、24時間に「0」以上「1」未満の少数値を割り振ったものです。という事は24時が”1”だから、12時が”0.5”、6時が”0.25”、3時が”0.125”、1時が”0.041666667”で0時30分が”0.02083333・・・・・・・・きりがないですね、

要するに

24時 → 「1」

12時 → 「0.5」

1時 → 「0.041666666・・」
30分 → 「0.020833333・・」
1分 → 「0.000694444・・」 と、 いう事ですね。

今現在2011年8月1日PM13:11:32としましょう。このシリアル値は40756.5496717593となります
小数点より左側の40756が日付を表し、右側の.5496717593が時刻を表します

セルに日付を入力し、そのセルの上でマウス右クリックしセルの書式設定を選び表示形式タブの中の分類で”数値”を選ぶと入力した日付のシリアル値を表示することが出来ます。

   


 現在の時刻が知りたい・・・【使用関数 NOW()】
  A B C D E
1 13時11分32秒        
2          
3          
4          
セル”A1”に=NOW()と入力すると現在の時刻が表示されます
(2011年8月1日に作成したものとします)
セルの表示形式は「時刻」となっており
シリアル値にすると・・
40756.5496717593となります
小数点より左側が日付を表し、右側が時刻を表します

同じ関数を使っているのにセルの書式設定、表示形式で日付になったり数値になったり紛らわしいです、関数を入力しても思ったような結果が表示されなかった時は、表示形式を確認してみましょう。

   


 3つのセルに数値で振り分けられた時、分、秒を1つのセルに時刻表示する・・・【使用関数 TIME(時,分,秒)】
  A B C D E
1 2      
2 45 2:45:30    
3 30      
4          
セル”C2”に=TIME(A1,A2,A3)と入力すると
時、分、秒が1つにまとまりました
   


 時刻から時、分、秒を抜き出す・・・【使用関数 HOUR(シリアル値) MINUTE(シリアル値) SECOND(シリアル値)】
  A B C D E
1

時刻

  2  
2 2:45:30   45  
3     30  
4    

待合せは2時45分だよ、忘れないでね!

セル”D1”に=HOUR(A2)と入力されています
セル”D2”に
=MINUTE(A2)と入力されています
セル”D3”に
=SECOND(A2)と入力されています

セル”C4”に="待合せは" & HOUR(A2) & "時" & MINUTE(A2) & "分だよ、忘れないでね!"と入力されています

   


 時間の計算 (その1)・・・経過時間

経過時間(24時間以内)の計算は引き算で出来ます

  A B C D
1 開始時間

5:30:15

   
2 終了時間

 13:48:20

経過時間

8:18:05

3      
セル”D2”に=B2-B1と入力されています
   


 時間の計算 (その2)・・・24時間を超える時間数の合計

単純に時間の合計を出したいのに、セルの書式設定・表示形式を時刻にしておくと、24時間以上の合計時間を出してくれません
(60進数の為、25時間は1:00、30時間は6:00と表示されてしまいます)
24時間以上の時間数の合計を表示するには、セルの書式設定・表示形式をユーザー定義で[h]:mm:ss と設定します

  A B C D E
1   勤務時間   合計時間  
2 1日 8:00   35:25  
3 2日 9:10      
4 3日 8:45      
5 4日 9:30      

セル”D2”に
=SUM(B2:B5)と入力されています
   


 時間と通貨の計算・・・10進数に変換

アルバイトなどの賃金計算などで、就労時間×時給というような計算をする場合がありますが、エクセルのワークシート上で時間×通貨の計算をする場合、まず時間を10進数に変換する必要があります(30分→0.5 15分→0.25 10分→0.8333333・・・というように)

  A B C D E
1 出勤時間 退出時間 就労時間 10進数変換  
2 7:00 15:30 8:30 8.5  
3 7:45 15:00 7:15 7.25  
4 8:00 15:45 7:45 7.75  
セル”C2”に=B2-A2と入力されています
セル”C3”に
=B3-A3と入力されています
セル”C4”に
=B4-A4と入力されています
セル”D2”に
=(B2-A2)*24と入力されています
セル”D3”に
=(B3-A3)*24と入力されています
セル”D4”に
=(B4-A4)*24と入力されています

10進数に変換された数値(就労時間)に時給をかければ賃金を算出できます

   


 時間の切り捨てと切り上げ・・・【使用関数 CEILING(数値,基準値,) FLOOR(数値,基準値,)】

タイムカードの出勤時間を15分単位で切り上げ、退出時間を15分単位で切り捨てます

  A B C D E
1 出勤時間 切り上げ 退出時間 切り捨て  
2 7:51 8:00 15:03 15:00  
3  7:45 7:45 15:15 15:15  
4 7:41 7:45 15:20 15:15  
セル”B2”に=CEILING(A2,TIME(0,15,0))と入力されています
セル”B3”に
=CEILING(A3,TIME(0,15,0))と入力されています
セル”B4”に
=CEILING(A4,TIME(0,15,0))と入力されています
セル”D2”に
=FLOOR(C2,TIME(0,15,0))と入力されています
セル”D3”に
=FLOOR(C3,TIME(0,15,0))と入力されています
セル”D4”に
=FLOOR(C4,TIME(0,15,0))と入力されています

10分単位で切り上げ、切り捨てする場合は、基準値をTIME(0,10,0)とします

   


 変換 (その1)・・・60進数→10進数 【使用関数 INT(数値)】
  A B C D E
1 60進数 10進数      
2 7:15 7.25      
3 7:30 7.5      
4  7:45 7.75      
セル”B2”に=(A2-INT(A2))*24と入力されています
セル”B3”に
=(A3-INT(A3))*24と入力されています
セル”B4”に
=(A4-INT(A4))*24と入力されています
   


 変換 (その2)・・・10進数→60進数 【使用関数 TRUNC(数値,桁数) ROUND(数値,桁数)】
  A B C D E
1 10進数 60進数      
2 7.25 7:15      
3 7.5 7:30      
4  7.75 7:45      
セル”B2”に=TIME(TRUNC(A2),ROUND((A2-TRUNC(A2))*60,),0)と入力されています
セル”B3”に
=TIME(TRUNC(A3),ROUND((A3-TRUNC(A3))*60,),0)と入力されています
セル”B4”に
=TIME(TRUNC(A4),ROUND((A4-TRUNC(A4))*60,),0)と入力されています


Top