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

 文字列を結合する&演算子をご存じの方なら「そんなの簡単さ」と鼻を鳴らすかもしれない。=NOW()&"現在"と入力すればできそうだ。ところがこの方式では失敗する。NOW関数が返すのはシリアル値なので「36194.177790625現在」のように意味不明な結果が表示されてしまうのだ。こんなときはTEXT関数の出番だ。

図1 TEXT関数で表示

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

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

図2 曜日や時間などに変換することも可能