TEXT(テキスト)関数は、指定する値の表示形式を設定し、文字列として出力する関数です。

【構文】

=TEXT(値, 表示形式) 

【使用例】

  • =TEXT(TODAY(),"yyyy/mm/dd")
    TODAY関数が「2021/8/16」ならば、「2021/08/16」という出力結果になります。ただし、文字列データとして出力されます。
  • =TEXT(TODAY(),"dddd")
    TODAY関数が「2021/8/16」ならば、「Monday」と出力されます。
  • =TEXT(TODAY(),"aaaa")
    TODAY関数が「2021/8/16」ならば、「月曜日」と出力されます。

TEXT関数は[セルの書式設定]より[ユーザー定義]に表示されるものを文字列として出力してくれます。クリティカルなところで役に立つデータクレンジング用の関数なので、ぜひ覚えておいてください!

関数説明

TEXT関数は、第1引数に入力した値(参照したセル)に対し、表示形式を変更し、文字列として出力する関数です。

例えば、日付を6桁の番号に置き換えてみましょう。セルB3にはTODAY関数が入っています(※この記事の作成日時は、2021年8月16日です)。

TEXT関数は、[数式]タブ→[文字列操作]の中にあります。6桁の番号を出力したいセルをアクティブセルにして、関数を呼び出します。

第1引数にセルB3を参照し、第2引数に「yymmdd」と入力します。

これで6桁の日付表示をすることができました。注意する点は、第2引数はダブルクォーテーションがつくという点です。直接入力で数式を作成すると、ここ忘れがちなので注意してください。

なお、出力されたこの6桁の数字は数値データではなく、文字列データとなります。そのため、このように計算はできません。

ただし、数式の引数内であれば可能です。セル参照元は数値データですからね。

TEXT関数はいつ使うのだ? と、疑問に思われる方が多いかもしれません。私自身、これまでオペレーション操作の改善を行った中でも1回しかありません。

外資系ホテルのワークシート改善で、英語版OSの日本語版Excelを使用していたため、Excelマクロの日付データでどうしてもエラーが生じしてしまう現象に直面しました。

TODAY関数の出力が、そのマシンでは「2021/8/16」ではなく「16/8/21」が標準だったため、日本語OS日本語Excelで作成したマクロがここで不一致を引き起こしたんですね。

そこを改善すべく、このTEXT関数で「210816」と6桁の数値になるように変換して、マクロ実行するという処理を行いました。無事にエラーを回避できました。

TEXT関数も文字列操作関数ですので、データクレンジングで用いる関数です。普段は使わなくても、いざというときこの関数しかない! というシーンに遭遇することがありますので、他にどんな表示形式があるのか? ワンポイントアドバイスもあわせてご確認いただけますと幸いです。

さえちゃんのTEXT関数ワンポイントアドバイス

TEXT関数の表示形式はどのようなものがあるか? を知る場合、[セルの書式設定]→[ユーザー設定]の個所を参考にするといいですよ。

ショートカットキー「Ctrl+1」でセルの書式設定を開きます。[表示形式]→[ユーザー定義]より、右側の種類が、第2引数で[表示形式]として使用できる一覧です。

注意したいのは、TEXT関数は文字列操作関数に属する関数なので、出力結果は[文字列]になる! ということを忘れずに。

関数ステータス

関数ライブラリの種類

文字列操作

数式の構文

=TEXT(値, 表示形式) 

引数ダイアログ

Microsoft 公式サポート

TEXT関数 - Office サポート