Excel 数値・日付に表示形式コード(ユーザー定義書式)を適用した文字列を取得(TEXT関数)

2021年7月5日

TEXT関数は数値・日付と表示形式コード(ユーザー定義書式)を指定し

それを適用した文字列を返す関数です。

文字列を数値に変換するVALUE関数とは、逆の機能の関数です。

この記事ではTEXT関数の仕様と使い方を紹介します。

仕様

=TEXT(値,表示形式コード)
引数省略時の値説明
省略不可変換する数値か日付を指定。
表示形式コード省略不可適用する書式を文字列で指定
引数の詳細

利用上の注意点

TEXT関数の結果は文字列に変化し、

数値計算や日付の関数に使用することが出来なくなります。

よってTEXT関数は文字列関数と組み合わせて使用したいケースに絞り

可能な限りセル参照と書式設定を使用する方が便利なことが多いです。

使用例

それぞれTEXT関数に値と表示形式を与えた場合の例です。

TEXT関数の仕様例

表示形式コードは全て打ち込んでもよいですが

書式設定のユーザー定義からコピーして改修するほうが早くて正確です。

ユーザ設定書式

赤字書式は再現不可

取得するのはあくまで文字列だけで負数を赤字にする表示形式は

エラーにこそならないものの文字色は反映されません。

このあたりもTEXT関数の使用を制限したほうがよい理由です。

曜日を取得

表示形式に「aaaa」や「aaa」を指定すると曜日の文字列になります。

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には引数を複数セルの範囲で指定します。

スピルでTEXT関数を記述する例(D3セル)
スピルでTEXT関数を記述する例(D3セル)

数式を入力するのは最初の一つのセルですが、

引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

D3に指定したTEXT関数がD8まで自動拡大
D3に指定したTEXT関数がD8まで自動拡大

スピルを利用することで今回の例では、

D3セルに入力するだけでよいため(D3以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

関連記事

活用例

日付を和暦の文字列に変換(DATESTRING関数)

DATESTRING関数は便利ですが、非推奨関数のためTEXT関数を使用しましょう。

TEXT関数での代替例

=TEXT(日付,"[$-ja-JP]gggee年mm月dd日")

日付から曜日を自動表示する方法

令和元年と表示する方法

和暦を表示する方法

年月のみを表示する方法

文字列を連結する(CONCAT関数)

VLOOKUP関数で日付が正常に表示されない場合の対処方法

リンク

関数の仕様と使い方の記事一覧

Power Automate Desktop

「datetime をテキストに変換」アクション