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

図1 NOW関数は現在の日時を返す関数
図1 NOW関数は現在の日時を返す関数
[画像のクリックで拡大表示]

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

図2 NOW関数に文字列を結合すると意味不明な結果になってしまう
図2 NOW関数に文字列を結合すると意味不明な結果になってしまう
[画像のクリックで拡大表示]

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

図3 シリアル値を日付文字に変換するにはTEXT関数を使う
図3 シリアル値を日付文字に変換するにはTEXT関数を使う
[画像のクリックで拡大表示]

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