日付をさまざまな値に変換する「TEXT関数」の威力

エクセルを使いこなすには、基本的な関数をいくつか組み合わせることが重要である。そして、実務的に重要な関数というものは、意外とガイドブックには載っていないものだ。こうした「実務的に大変重要な関数」のひとつが、「TEXT関数」である。

昨日の『日付から曜日を抽出する:「地味に役立つ」テクニック』では、日付を「曜日」、「元号(和暦)」、「西暦」などに表示変更するテクニックをお伝えした。書式は、次のとおりだ(図表1)。

図表1 セルの書式(日付、シリアル値44432の場合)
フォーマット 表示 備考
y 21 西暦下2桁
yy 21 西暦下2桁
yyy 2021 西暦4桁
yyyy 2021 西暦4桁
g R 元号のアルファベット
gg 元号の漢字1字
ggg 令和 元号の漢字2字表示
e 3 元号の数値
ee 03 元号の数値2桁表示
m 8 月の数値
mm 08 月の数値2桁表示
mmm Aug 月の英語名称3桁表示
mmmm August 月の英語名称
mmmmm A 月の英語名称1桁表示
d 24 日の数値
dd 24 日の数値2桁表示
ddd Tue 曜日の英語名称3桁
dddd Tuesday 曜日の英語名称
aaa 曜日の漢字1字
aaaa 火曜日 曜日の漢字表示

また、シリアル値をさまざまなフォーマットで表示させたイメージは、図表2のとおりである。

図表2 シリアル値→さまざまなフォーマットに変換

ちなみに:

  • フォーマット①→yyyy/m/d
  • フォーマット②→yyyy年m月d日
  • フォーマット③→ge/m/d
  • フォーマット④→aaaa

である。

ただし、昨日示したやり方は、「セルの書式設定」で変更しているに過ぎず、「セルの値」自体を変更したわけではない。やはり作業をしていると、何らかのニーズに基づき、セルの値自体を変更したいという需要が生じて来るものである。

そこで、今回紹介するのは、「text関数」である。

書式は、次のとおりだ。

=TEXT(値,表示形式)

表示形式の部分にはセルを指定してやっても良いし、図表1に示したフォーマットを打ち込んでやっても良い。ただし、直接、文字列を打ち込む場合には、「””」(ダブルクオーテーション)で囲む必要がある。

さきほどの図表2のシートのF2セルに、こんな数式を入れてみよう。

=TEXT(A2,"yyyy/m/d")

A2は日付型に変換すれば「2021/8/24」と表示される、エクセル上は「シリアル値」として認識することが可能な値を入力している(図表3)。

図表3 計算式の入力

その結果は、図表4のとおりだ。

図表4 計算結果

この「=TEXT(A2,"yyyy/m/d")」の「yyyy/m/d」を変更してみると、さまざまな値を作ることができる。たとえば “aaa” を入力(図表5)した結果が図表6のとおりだ。

図表5 計算式の入力

図表6 計算結果

ちなみに、本日の日付、すなわち「2021/08/25」を入力したセルに、図表1で示したフォーマットを掛け合わせて計算した結果が、図表7だ。

図表7 計算結果

是非、いろいろと遊んでみてほしい。