【Excel】TEXT関数で日付フォーマットを自由自在に変換する

この記事は約3分で読めます。

今回は、ExcelのTEXT関数を使って日付のフォーマットを自由自在に変換するコツを紹介します。

日付の表示形式で悩んでいませんか?

Excelで資料を作成していると、入力した日付が「2023/10/01」のように表示されてしまい、「10月1日」や「2023年10月」といった好みの形式にならなくて困った経験があるかもしれません。

セルの書式設定から表示形式を変更することも可能ですが、別のセルに日付の一部(例えば月や曜日だけ)を取り出して使いたい場合や、文字列と組み合わせて「締切日は10月1日です」のように表示させたい場合には、書式設定だけでは対応が難しくなります。

そこで役立つのが、TEXT関数です。TEXT関数を使えば、日付データを好みの文字列(テキスト)に変換し、他の文字とつなげて表示させるといった柔軟な処理が可能になります。

TEXT関数の基本的な使い方

TEXT関数は、数値を指定した表示形式の文字列に変換する関数です。日付もExcelの内部ではシリアル値という数値として扱われているため、TEXT関数でフォーマットを変更できます。

基本的な構文は以下の通りです。

=TEXT(値, “表示形式”)

  • 値:変換したい日付が入力されているセルを指定します(例:A1)。
  • 表示形式:どのように表示させたいかを、特定の記号(表示形式コード)を使って指定し、ダブルクォーテーション(””)で囲みます。

日付を思い通りに変換する表示形式コード

日付を変換するためによく使われる表示形式コードには、次のようなものがあります。これらを組み合わせることで、様々な表現が可能になります。

  1. 年(Year):「yyyy」と入力すると西暦4桁(2023)、「yy」なら下2桁(23)が表示されます。
  2. 月(Month):「m」で1桁〜2桁(1〜12)、「mm」で常に2桁(01〜12)になります。
  3. 日(Day):「d」で1桁〜2桁(1〜31)、「dd」で常に2桁(01〜31)になります。
  4. 曜日:「aaa」で短い曜日(月、火)、「aaaa」で長い曜日(月曜日、火曜日)が表示されます。

たとえば、A1セルに「2023/10/01」と入力されている場合、`=TEXT(A1, “yyyy年mm月dd日(aaa)”)`
と入力すると、「2023年10月01日(日)」という文字列に変換されます。

文字列と組み合わせて案内文を自動作成

TEXT関数の真価が発揮されるのは、他の文字列と結合(&)させるときです。

単にセルを参照して `=”締切日は” & A1 & “です”`
と入力すると、「締切日は45200です」のように、日付がシリアル値で表示されてしまい、意味がわからなくなってしまいます。

これを防ぐために、TEXT関数を間に挟んでフォーマットを整えます。

`=”締切日は” & TEXT(A1, “m月d日”) & “です”`

このように入力することで、「締切日は10月1日です」という自然な案内文を自動的に作成できます。日付のセルを更新すれば、案内文の日付も自動で切り替わるため、毎月の請求書や案内状の作成などにとても便利です。

まとめ

ExcelのTEXT関数は、日付データを自由に加工し、思い通りの形式で表示させることができる便利な関数です。表示形式コード(y, m, d,
aなど)の基本を覚えておけば、年・月・日・曜日を自在に組み合わせた表現が可能になります。

単体で使うだけでなく、他の文字列と結合して案内文を作成したり、他の関数と組み合わせて月別の集計表を作ったりと、工夫次第でさまざまな場面で活躍します。データの見せ方にこだわりたい方は、ぜひTEXT関数を活用してみてください。