表示形式を整えて文字列内のデータを自動更新

ExcelのTEXT(テキスト)関数は、中級者以上の方にはよく知られているものの、初心者の方には馴染みがなく、使いどころの分かりにくい関数です。「指定した数値に表示形式を適用した文字列を返す」という機能があるのですが、どのような場面で便利なのか、すぐには想像できないのではないでしょうか?

そこで、以下の例を見てください。表の近くに「来場者は、約11,000人です」という文字列があります。実は、この文字列内にある「11,000」の部分は、表のデータに応じて自動更新されるようになっています。

【エクセル時短】TEXT関数は「文字列内のデータの自動更新」に便利! 業務効率化に役立つ使い方3選

表の近くにある補足説明に含まれる「約○人」という数値は、TEXT関数を利用することで、表のデータに応じて自動更新されます。

このような補足説明があると、Excelのファイルを開いた瞬間におおまかな状況を把握できて便利です。「約○人」以外にも「約○円」「○月○日現在」といったデータを表示する使い方があるでしょう。

しかし、そのデータが間違っていたら意味がありません。文字列内の数値の間違いには気づきにくいものですし、日々数値が変わる表であれば更新を忘れることもあります。そうしたミスに備えて自動的に更新する仕掛けを作れるのが、TEXT関数というわけです。

先ほどの表には、ほかにもTEXT関数を使っている箇所があります。本記事ではこの表を例に、TEXT関数の効果的な使い方を3つ紹介しましょう

TEXT関数の構文

最初に、TEXT関数の構文を確認していきます。

TEXT, 表示形式

1つめの引数[]には、表示形式を適用した文字列に変換したい数値を指定します。

2つめの引数[表示形式]には、数値の表示形式を「"」(ダブルクォーテーション)で囲んだ書式記号で記述します。書式記号には多くの種類があるので、詳しくは以下の関連記事を参照してください。

関連記事

TEXT関数で数値の形式を整える

続いて、TEXT関数の具体的な使い方を見ていきます。まずは数値の形式を整える使い方です。

先ほどの表には「来場者は、約11,000人です」という文字列がありました。これをTEXT関数を使わずに、「&」演算子とSUM関数で表現すると以下のようになります。

【エクセル時短】TEXT関数は「文字列内のデータの自動更新」に便利! 業務効率化に役立つ使い方3選

セルG2に「="来場者は、約" & SUM(C3:E33) & "人です"」と入力したところ、「来場者は、約11206人です」と表示されました。

冒頭の例と近しい文字列にはなりましたが、人数が単純な合計となり、「約」ではありません。そこで、以下のように数式を修正します。

="来場者は、約" & TEXT(SUM(C3:E33),"#,##0,千人") & "です。"

【エクセル時短】TEXT関数は「文字列内のデータの自動更新」に便利! 業務効率化に役立つ使い方3選

セルG2の数式を修正すると「来場者は、約11千人です」と表示されました。

数式の意味としては、TEXT関数の引数[]にSUM関数、[表示形式]に「"#,##0,千人"」を指定しています。来場者数の合計を求めたうえで、引数[表示形式]で数値の1,000以下を丸めて「千人」と表示しています。人数を概算にしたことで、おおまかな状況の把握がしやすくなったのではないでしょうか。

TEXT関数で日付の形式を整える

次に、TEXT関数で日付を整えてみましょう。

ここでは補足説明の頭に、TODAY関数を利用して今日の日付が自動更新されるように表示します。ただ、文字列内に日付のデータを何も考えずに含めると、以下のようにシリアル値として表示されてしまい、うまくいきません。

【エクセル時短】TEXT関数は「文字列内のデータの自動更新」に便利! 業務効率化に役立つ使い方3選

「=TODAY() &"現在の累計来場者は、約"&TEXT(SUM(C3:E33),"#,##0,千人")&"です。"」としたところ、日付がシリアル値で表示されてしまいました。

そこでTEXT関数の出番です。以下のようにTEXT関数の引数としてTODAY関数を記述するようにすれば、シリアル値を日付に変換できます。ここでは[表示形式]として「m/d」を指定しました。

=TEXT(TODAY(), "m/d") &"現在の累計来場者は、約"&TEXT(SUM(C3:E33),"#,##0,千人")&"です。"

【エクセル時短】TEXT関数は「文字列内のデータの自動更新」に便利! 業務効率化に役立つ使い方3選

セルG2の数式を修正すると「7/20現在の累計来場者は、約11千人です」と表示されました。

TEXT関数で日付から曜日に変換する

最後に、TEXT関数で日付を曜日に変換する方法を紹介します。TEXT関数の使い方として、もっともポピュラーなものともいえます。

先ほどの表にはA列に日付があり、B列に曜日が表示されていました。この曜日の表示にTEXT関数を利用すれば、日付と曜日がずれてしまうミスを防ぐことができます。

「月」「火」のように1文字で曜日を表現するときの[表示形式]はaaaです。「月曜日」「火曜日」とするならaaaaと指定します。入力する数式は以下の通りです。

=TEXT(A3,"aaa")

【エクセル時短】TEXT関数は「文字列内のデータの自動更新」に便利! 業務効率化に役立つ使い方3選

曜日を表示するセルに「=TEXT(A3,"aaa")」と入力すれば、日付を参照して曜日を表示できます。

TEXT関数を利用すれば、数値の表示形式を整えて文字列と連結できます。セルの数値と連動して内容が切り替わるため、補足説明の確認や修正の手間が省けるので、ぜひ活用して見てください。