昨日から2012年度分の確定申告書類作成にとりかかっている@web_shufuです。銀行の明細書などにある「20130222」のような日付を表す8桁の数字を、日付データ(シリアル値)に変えるのに苦労したのでメモ。
なぜ、この作業が必要か
減価償却や賃貸契約時の初期費用など、日割り計算が必要な品目がある場合、日付同士の引き算で日数計算ができる状態にしておきたいところです。
20130222のような8桁の数字ではこれができないのです。
そこで、8桁の数字はシリアル値にしておいたほうがいいのです。
とはいえ、手打ちでこれをするのは面倒です。
TEXT関数
そこで、TEXT関数を使います。テキスト関数は数字を決まったフォーマットの文字列に変換する関数です。
A3セルに「20130222」という2012年2月22日を表す数字が入力されている場合、B3セルに
=TEXT(A3;”0000\/00\/00″)
と打ち込んでEnterボタンを押すと、見事に「2013/02/22」と表示されます。
しかし、この「2013/02/22」は文字列で、見た目が変わったに過ぎず、まだシリアル値になっていません。
シリアル値にするにはもう一手間必要です。
DATEVALUE関数
DATEVALUE関数は日付を表す文字列で、一定の形式を満たすものを、シリアル値に変換してくれる関数です。
この一定の形式の中に「2013/02/22」のパターンが含まれているんです。
そこで、B3セルを以下のように変えてEnterボタンを押します。
=DATEVALUE(TEXT(A3;”0000\/00\/00″))
こうすることで、「2013/02/22」はシリアル値に変わります。
B3セルの書式設定を「数値」に変更すると41327というシリアル値が表示されます。
B3セルの書式設定を「日付」にし、フォーマットをYYYY/MM/DDに変更すると「2013/02/22」という形式で表示されます。
シリアル値になっているので書式変更も自由自在。
会計データの日付はシリアル値に変換
このように会計データの日付は、シリアル値にしておいたほうが後々扱いやすくて便利です。
8桁数字は少し手間がかかりますが、大抵の日付表現はDATEVALUE関数でシリアル値に変換できます。