2008年12月16日

DATEVALUEとTIMEVALUE

残念な関数の仲間に入れてしまったVALUE関数ですが、この関数には、DATEVALUE関数とTIMEVALUE関数という“兄弟”がいます。
VALUE関数が“残念”だとすると、この2つの関数はさらに残念かもしれません。

VALUE関数の機能は「数値を表す文字列を数値データに変換する」というもの。
また、DATEVALUE関数は「日付を表す文字列を日付データに変換する」、TIMEVALUE関数は「時刻を(以下略)」です。

ただ、「日付」「時刻」を表す文字列については、VALUE関数でも、その日付と時刻に相当する数値に変換できます。
さらに、VALUE関数による変換は「+0」「*1」などでも代用できるので……。

DATEVALUE、TIMEVALUEで処理できる文字列の範囲は、VALUEよりも狭くなっています。
具体的には、下の表のようになります。

文字列VALUEDATEVALUETIMEVALUE
$1,2001200#VALUE!#VALUE!
12月16日39798397980
6時0分0.2500.25


つまり、金額など普通の数字は、DATEVALUEもTIMEVALUEも対応できず。
日付文字列はTIMEVALUEが、時刻文字列はDATEVALUEが、それぞれ0になります。
まあ、「日付」「時刻」を返すと考えると、これはこれで正しい結果ではあるのですが(日付文字列に「年」を追加しても同じです)。

しかも、DATE関数やTIME関数であれば、「標準」の表示形式のセルに入力した場合、自動的に日付や時刻の表示形式に変更されるのですが、DATEVALUE関数やTIMEVALUE関数にはこうした機能もありません。
入力後に、ユーザー自身が表示形式を変更しなければならず、慣れていない人だと、「日付」のはずなのに意味のわからない数値が出てきて、戸惑ってしまうかもしれません。

そういう点でもVALUE関数と同じなのに、使える場面はより限られているわけです。
ただ、逆に、ある文字列が「日付」または「時刻」として計算可能かどうかを判断するために、これらの関数を利用する手はあるかもしれません。
posted by 土屋和人 at 08:41| Comment(0) | TrackBack(0) | Excel
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/24395686
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック