TIME関数と TIMEVALUE関数

ここんとこ自分のサイトに関数のことをぼちぼち追加しているので、
たまには、一般機能の関数ネタをば。
 
セル A1 に、時
セル A2 に、分
セル A3 に、秒
を入れることにして、別セルに
=TIME(A1,A2,A3)
=TIMEVALUE(A1&":"&A2&":"&A3)
とそれぞれ関数を入れて試してみました。
ちなみに、セルの書式設定は [h]:mm:ss.000 です。
 
基本的に同じ結果になるんですが、異なるケースを列挙すると…
 

  • A1,A2,A3のいずれかを10000以上の値にすると、TIMEVALUE関数は #VALUE! エラーになる
  • A1,A2,A3のいずれかを32768以上の値にすると、TIME関数は #NUM! エラーになる

 

  • A2,A3のいずれかを0未満の値にすると、TIMEVALUE関数は #VALUE! エラーになる(全体として負になる場合は、TIME関数は #NUM! エラーになる)

 

  • A1に小数を入力すると、TIMEVALUE関数は #VALUE! エラーになる
  • A2,A3のいずれかに小数を入力すると、TIMEVALUE関数は小数点以下の部分を次に持ち越す(結果が正当かどうかは別問題。文字列をどう解釈するかの話なので。)
  • A2,A3の両方に小数を入力すると、TIMEVALUE関数は #VALUE! エラーになる

※.TIME関数は小数点以下を切り捨てて受け取るので、整数の場合と同じ結果になる
 
 
総合的に TIME関数の方が機能的に上じゃないかと思います。
ただし、秒に小数値を入力するケースがあるなら、TIMEVALUE関数ですね。
 
# Excel2007で試しています。
 
※.Excel World の 2008年3月29日 13:47 の日記をコピーしています。
http://excel.sns.fc2.com/excel/