現在の日付と時刻を知るにはNOW関数を使う。どこかのセルに=NOW()と入力しておけば、そのブックを開くたびに新しい日付と時刻が表示される。では、このNOW関数を使って「○月○日現在」と表示するにはどうしたらいいだろう。

 文字列を結合する&演算子使って、=NOW()&"現在"と入力すればできそうだ。ところがこの数式では失敗する。NOW関数が返すのはシリアル値なので「39289.3286204861現在」のように意味不明な結果が表示されてしまうのだ。こんなときはTEXT関数を使おう。

図1 TEXT関数でシリアル値を文字列に変換する

 TEXT関数は数値を書式設定した文字列に変換する関数。セルに設定する表示形式の関数版と思えばいい。ただし、表示形式はあくまで「そう見える」のに対して、TEXT関数は文字列に変換した結果を返してくれる。そのままではシリアル値を返してしまうNOW関数も、=TEXT(NOW(),"yyyy/mm/dd")と書けば「2007/07/26」のような文字列に変換される。したがって、=TEXT(NOW(),"yyyy/mm/dd")&"現在"で「2007/07/26現在」と表示できる。

 TEXT関数の引数は2つ。最初の引数は文字列に変換する元の数値を指定する。2番目の引数で、その数値をどんな形式の文字列に変換するかを指定する。ここで指定できる記号は、セルの表示形式のユーザー定義書式に設定する記号とほとんど同じ。日付だけでなく、曜日や時間などに変換することも可能だ。

図2 日付の書式も自由に指定できる