- Home »
- エクセル練習問題:目次 »
- 時間の計算2
更新:2024/5/11;作成:2012/9/6
- 問題1:入場時刻と退場時刻が記録されています。滞在時間を時刻のシリアル値で出しなさい。
ただし、入力されている時刻は3〜4桁の数値で入力されています。 問題1の解答
|
B |
C |
D |
2 |
入場時刻 |
退場時刻 |
滞在時間 |
3 |
909 |
1705 |
|
4 |
1108 |
1613 |
|
5 |
1004 |
1709 |
|
-
|
B |
C |
D |
2 |
入場時刻 |
退場時刻 |
滞在時間 |
3 |
909 |
1705 |
7:56 |
4 |
1108 |
1613 |
5:05 |
5 |
1004 |
1709 |
7:05 |
- 入場時刻と退場時刻はシリアル値に直して、引き算で計算できます
- TIME関数を利用する方法です。
- 時は入力値を100で割った時の商になりますので、INT(C3/100)
分は入力値を100で割った時の余りになりますので、MOD(C3,100)
秒は0とします。
- これらをTIME関数に入れれば時刻のシリアル値になります。
- TIME関数の使い方は 時間・時刻の関数 をご覧ください。
=TIME(INT(C3/100),MOD(C3,100),0)-TIME(INT(B3/100),MOD(B3,100),0)
- TEXT関数を利用する方法です。
- 表示形式で "0!:00" とすることで、時刻のシリアル値になります。
TEXT関数での返り値は文字列ですが、四則演算でExcelが計算可能な文字列と判断して計算してくれます。
よって、D3セルは =TEXT(C3,"0!:00")-TEXT(B3,"0!:00") とします。 - TEXT関数の使い方は TEXT関数 をご覧ください。

- 分単位に直して計算することもできます。
- 時は入力値を100で割った時の商になりますので、INT(C3/100) 、これに60をかけて分単位に直します。
分は入力値を100で割った時の余りになりますので、MOD(C3,100) 、そのままです。
D3セルは =((INT(C3/100)*60+MOD(C3,100))-(INT(B3/100)*60+MOD(B3,100))) で時間の差を分で求めることができます。
- 分単位で求めた結果をシリアル値に直すためには /1440 と1440で割る必要があります。
D3セルは
=((INT(C3/100)*60+MOD(C3,100))-(INT(B3/100)*60+MOD(B3,100)))/1440
となります。

- 滞在時間も入力値と同じように、3〜4桁の数値にするには?
- TEXT関数を使って数値にすることができます。
上記Bを例にします。
=TEXT(TEXT(C3,"0!:00")-TEXT(B3,"0!:00"),"hmm")*1
のように、TEXT(シリアル値,"hmm") とします。ただし、これでは文字列になりますので*1として数値にしています。
スポンサードリンク
Home|エクセル練習問題:目次|時間の計算2
PageViewCounter

Since2006/2/27