Deprecated : The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
時間の計算2:エクセル練習問題
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