Microsoft Excel(エクセル)でセルに入力された日付に曜日を追加したり、数字に符号や小数点を追加する時どうしたらいいか悩みますよね?
そんな時、エクセルのTEXT関数(テキスト関数)を利用すれば、日付や数値や時刻などのセルの表示形式を変更することが出来ます。
この記事では、TEXT関数の基本的な使い方とTEXT関数を使った応用テクニックなどを、事例と合わせながら紹介します。
エクセルのTEXT関数とは?何が出来るのか?
まず、エクセルのTEXT関数を使うと、どんなことが出来るのかを紹介します。
TEXT関数とは、様々な【表示形式コード(書式記号)】を利用して、セルの表示(見え方、見栄え)を変更する関数です。
例えば、下の例のように、TEXT関数を使えば日付に曜日を追加したり、「年」や「月」「日」だけを取り出することができます。
日付以外にも数字の桁数を調整したり、ドルやユーロや千円などの通貨を追加することができます。
TEXT関数の構文(書式)と引数
上記のとおり、TEXT関数は指定した表示形式に合わせた文字列を返す関数です。
TEXT関数の構文と引数は以下のとおりです。
=TEXT(セル番号,”表示形式コード”)
第1引数「セル番号」:セルの表示を変更したいセルを指定します。(例:B3、C4)
第2引数「表示形式」:セルの表示を変更する表示形式コード(※)を「"」ダブルクォーテーションで挟んで入力します。(例:”aaa”、”#.###”、”0000.0”) ※次に詳しく説明
TEXT関数の使い方は以下のとおりです。TEXT関数を利用して、B3セルの「2024/7/15」を曜日付きで「2024/7/15(月)」と表示しています。使用している表示形式コードは「"yyyy/mm/dd(aaa) "」です。
TEXT関数に使う表示形式コード(書式記号)
TEXT関数に使用する表示形式コード(書式記号)を紹介します。
コードの種類は多岐にわたり、複数のコードを組み合わせも可能です。
記事の中盤で具体的な使い方と事例をケースごとに紹介していますので、合わせて参考にしてください。
数値、通貨、会計、分数
数値や通貨、会計、分数、パーセントに関する表示形式コードです。
表の下段に、TEXT関数での実際の使い方の事例を載せていますので参考にしてください。
表示形式 | コードの意味 |
下段:使い方の例 | |
+、- | 正負の符号を表示 |
例 :=TEXT(5,”+###”) ⇒+5 | |
() | 括弧の符号を表示 |
例 :=TEXT(5,"(###)") ⇒(5) | |
#(ハッシュ) | 1桁の数字を表示。数値の桁数が#の数より少ない場合は、余分な0は表示されない |
例 :=TEXT(123.45,”#.#”) ⇒123.5 | |
0 | 1桁の数字を表示。数値の桁数が#の数より少ない場合は、先頭に0を表示する |
例 :=TEXT(123.45,”0000.#”) ⇒0123.5 | |
.(ピリオド) | 小数点を表示 |
例 :=TEXT(12345,”####.000”) ⇒12345.000 | |
,(コンマ) | 桁区切りの記号を付ける |
例 :=TEXT(12345,"####,###") ⇒12,345 | |
% | パーセントを表示する |
例 :=TEXT(0.4,"####%") ⇒40% | |
¥ | 円通貨を付ける |
例 :=TEXT(100,"\####") ¥100 | |
$ | ドル通貨$を先頭や末尾に後に付ける |
例 :=TEXT(100,"####$") ⇒100$ | |
€ | ユーロ通貨€を先頭や末尾に後に付ける |
例 :=TEXT(100,"####€") ⇒100€ | |
/ | 分数を表す |
例 :=TEXT(0.5,"##/##") ⇒1/2 |
時刻、時間
時間や時刻に関する表示形式コードです。
表示形式 | コードの意味 |
下段:使い方の例 | |
hh | 時刻・時間の「時」を表示。1桁の時間は0が付く |
例 :7:35:02のセルに対して、=TEXT(A1,"hh") ⇒07 | |
mm | 時刻・時間の「分」を表示。1桁の分数は0が付く |
例 :7:35:02のセルに対して、=TEXT(A1,"mm") ⇒35 | |
ss | 時刻・時間の「秒」を表示。1桁の秒数は0が付く |
例 :7:35:02のセルに対して、=TEXT(A1,"ss") ⇒02 | |
AM/PM | 午前に「AM」、午後に「PM」を付ける |
例 :7:35:02のセルに=TEXT(A1,"hh:mmAM/PM") ⇒07:35AM | |
[] | 経過時間を表示します |
例 :6:00:00のセルに=TEXT(A1,"[mm]:ss") ⇒360:00 |
日付、曜日
日付や曜日に関する表示形式コードです。
日付に曜日を付けたり、西暦を和暦に変更したり、日付の桁数を変更することができます。
表示形式 | コードの意味 |
下段:使い方の例 | |
yyyy | 西暦を4桁で表示する |
例 :2024/7/15のセルに=TEXT(A1,"yyyy") ⇒2024 | |
yy | 西暦を2桁で表示する |
例 :2024/7/15のセルに=TEXT(A1,"yy") ⇒24 | |
e | 和暦(平成や令和)の年を表示する |
例 :2024/7/15のセルに=TEXT(A1,"e") ⇒6 ※令和6年の6 | |
ggg | 和暦(平成や令和)の元号を表示する |
例 :2024/7/15のセルに=TEXT(A1,"ggg") ⇒令和 | |
m | 月を数値で表示する |
例 :2024/7/15のセルに=TEXT(A1,"m") ⇒7 | |
mm | 月を2桁の数値で表示する |
例 :2024/7/15のセルに=TEXT(A1,"mm") ⇒07 | |
mmmm | 月を英語で表示する |
例 :2024/7/15のセルに=TEXT(A1,"mmmm") ⇒July | |
mmm | 月を英語の3文字の短縮版で表示する |
例 :2024/7/15のセルに=TEXT(A1,"mmm") ⇒Jul | |
dd | 日付を2桁の数値で表示する |
例 :2024/7/5のセルに=TEXT(A1,"dd") ⇒05 | |
d | 日付を数値で表示する |
例 :2024/7/15のセルに=TEXT(A1,"d") ⇒15 | |
aaaa | 曜日を表示する |
例 :2024/7/15のセルに=TEXT(A1,"aaaa") ⇒月曜日 | |
aaa | 曜日を短縮形で表示する |
例 :2024/7/15のセルに=TEXT(A1,"aaa") ⇒月 | |
dddd | 曜日を英語で表示する |
例 :2024/7/15のセルに=TEXT(A1,"dddd") ⇒Monday | |
ddd | 曜日を英語の3文字の短縮版で表示する |
例 :2024/7/15のセルに=TEXT(A1,"ddd") ⇒Mon |
その他
数字を漢字で表示したり、セミコロンを使って条件を設定する表示形式コードなどもあります。
表示形式 | コードの意味 |
下段:使い方の例 | |
G/標準 | 入力された文字をそのまま表示する |
例 :123.456のセルに=TEXT(A1,"G/標準") ⇒123.456 | |
;(セミコロン) | 数字がプラスかマイナスのときの表示形式を分ける |
例 :123のセルに=TEXT(A1,"+##;-##") ⇒-123 | |
[DBNum1] | 数字を漢数字と位で表示する |
例 :1234のセルに=TEXT(A1,"[DBNum1]") ⇒千二百三十四 | |
[DBNum1]###0 | 数字を漢数字で表示する |
例 :1234のセルに=TEXT(A1,"[DBNum1]###0") ⇒一二三四 | |
[DBNum2] | 古い漢数字(大字(だいじ))と位で表示する |
例 :1234のセルに=TEXT(A1,"[DBNum2]") ⇒壱阡弐百参拾四 | |
[DBNum2]###0 | 古い漢数字(大字(だいじ))で表示する |
例 :1234のセルに=TEXT(A1,"[DBNum2]###0") ⇒壱弐参四 |
TEXT関数の基本的な使い方と事例を紹介
続いて、TEXT関数を使った基本的な事例を表示形式コード別に詳しく紹介します。
TEXT関数の事例1.日付や曜日を表示(記号:yy、mm、ddなど)
まずは、TEXT関数を使った曜日に関する表示の事例です。表示形式の「yyyy」「mm」「dd」「aaa」など日付の表示を変更するのに必須の書式記号です。
コードの意味は、上で紹介した記号一覧表を参考にしてください。
日付 | TEXT関数の結果 | TEXT関数の構文 |
2024/7/5 | 2024 | =TEXT(B3,"yyyy") |
2024/7/5 | 24 | =TEXT(B4,"yy") |
2024/7/5 | July | =TEXT(B5,"mmmm") |
2024/7/5 | Jul | =TEXT(B5,"mmm") |
2024/7/5 | 07 | =TEXT(B5,"mm") |
2024/7/5 | 7 | =TEXT(B6,"m") |
2024/7/5 | 05 | =TEXT(B7,"dd") |
2024/7/5 | 5 | =TEXT(B8,"d") |
2024/7/5 | Friday | =TEXT(B11,"dddd") |
2024/7/5 | Fri | =TEXT(B12,"ddd") |
2024/7/5 | 金曜日 | =TEXT(B9,"aaaa") |
2024/7/5 | 金 | =TEXT(B10,"aaa") |
2024/7/5 | 2024/07/05(金) | =TEXT(B13,"yyyy/mm/dd(aaa) ") |
2024/7/5 | 2024年07月05日(金) | =TEXT(B14,"yyyy年mm月dd日(aaa) ") |
2024/7/5 | 20240705 | =TEXT(B15,"yyyymmdd") |
TEXT関数の事例2.和暦(令和)と元号を表示(記号:e,ggg)
令和や平成、昭和などの和暦や元号に関するTEXT関数の使い方は以下のとおりです。
上で紹介した「yyyy」「dd」「aaa」などの日付や曜日を表す表示コードと組み合わせて利用すると便利です。
日付 | TEXT関数の結果 | TEXT関数の構文 |
2024/7/5 | 令和 | =TEXT(B3,"ggg") |
2024/7/5 | 6 | =TEXT(B4,"e") |
2024/7/5 | 06 | =TEXT(B5,"ee") |
2024/7/5 | 令和6 | =TEXT(B6,"ggge") |
2024/7/5 | 令和06 | =TEXT(B7,"gggee") |
2024/7/5 | 令和06年07年05日 | =TEXT(B8,"gggee年mm年dd日") |
2024/7/5 | 令和6年07年05日 | =TEXT(B9,"ggge年mm年dd日") |
2024/7/5 | 令和6/07/05 | =TEXT(B10,"ggge/mm/dd") |
2024/7/5 | 令和06年07年05日(金) | =TEXT(B8,"gggee年mm年dd日(aaa)") |
2024/7/5 | 令和06年07年05日(金曜日) | =TEXT(B9,"ggge年mm年dd日(aaaa)") |
TEXT関数の事例3.時刻・時間を表示(記号:hh,mm,ssなど)
TEXT関数を使った時刻・時間に関する表示の事例です。
分を表示する「mm」の表示形式コードは、月の「mm」とコードが重複しているため、エクセルが判断できないため単独では使用できません。
時刻 | TEXT関数の結果 | TEXT関数の構文 |
6:50:02 | 6 | =TEXT(B3,"h") |
6:50:02 | 06 | =TEXT(B4,"hh") |
6:50:02 | 02 | =TEXT(B5,"ss") |
6:50:02 | 06:50 | =TEXT(B6,"hh:mm") |
6:50:02 | 06:50AM | =TEXT(B7,"hh:mmAM/PM") |
15:50:02 | 03:50PM | =TEXT(B8,"hh:mmAM/PM") |
1:00:00 | 60:00 | =TEXT(B9,"[mm]:ss") |
1:00:00 | 3600 | =TEXT(B10,"[ss]") |
TEXT関数の事例4.数値の桁数と小数点の調整(記号:#,0)
TEXT関数を使った数値の桁数と小数点に関する表示の事例です。
利用する表示形式コードの記号は「#」「0」「.」「,」の4つとシンプルですが、組み合わせにより様々な形式で表示することができます。
特に、コード「0」を利用すると数値の先頭や末尾で「0」を追加できるので、実務で非常に役に立ちます。
数字 | TEXT関数の結果 | TEXT関数の構文 |
1234.56 | 01234.560 | =TEXT(B3,"00000.000") |
1234.56 | 1234.56 | =TEXT(B4,"#####.###") |
1234.56 | 1234.6 | =TEXT(B5,"#####.#") |
1234.56 | 1235 | =TEXT(B6,"#####") |
1234.56 | 1,235 | =TEXT(B7,"##,###") |
1234.56 | 1,234.56 | =TEXT(B8,"#,####.###") |
1234.56 | (1,234.56) | =TEXT(B9,"(#,####.###)") |
1200000 | 1200 | =TEXT(B10,"#,") |
1200000 | 1,200 | =TEXT(B11,"#,###,") |
TEXT関数の事例5.パーセントや分数で表示(記号:%、/)
TEXT関数を使って数字を%表示したり、分数や帯分数で表示する方法の事例です。
帯分数(例:1 1/4)を表示する場合は、1つ目の「#」の後ろに半角スペースを挿入してください。
数字 | TEXT関数の結果 | TEXT関数の構文 |
0.25 | 25% | =TEXT(B3,"0%") |
0.25 | 25.0% | =TEXT(B4,"0.0%") |
0.25 | 25.00% | =TEXT(B5,"0.00%") |
0.25 | 1/4 | =TEXT(B6,"# #/#") |
1.25 | 1 1/4 | =TEXT(B7,"# #/#") |
1.25 | 5/4 | =TEXT(B8,"#/#") |
1.245 | 1 12/49 | =TEXT(B9,"# ##/##") |
1.245 | 1 49/200 | =TEXT(B10,"# ###/###") |
TEXT関数の事例6.ドルやユーロ通貨を追加(記号:¥、$、円)
TEXT関数を使って数字に円や$(ドル)、€(ユーロ)などの通貨を表示することができます。
数字 | TEXT関数の結果 | TEXT関数の構文 |
1000 | $1,000 | =TEXT(B3,"$##,###") |
1000 | $1,000.00 | =TEXT(B4,"$##,###.00") |
1000 | 1,000$ | =TEXT(B5,"##,###$") |
1000 | €1,000.00 | =TEXT(B6,"€##,###.00") |
1000 | 1,000€ | =TEXT(B7,"##,###€") |
1000 | ¥1,000 | =TEXT(B8,"\##,###") |
1000 | ¥1,000.00 | =TEXT(B9,"\##,###.00") |
1000 | 1,000千円 | =TEXT(B10,"##,###千円") |
1000 | 1,000百円 | =TEXT(B11,"##,###百円") |
TEXT関数の事例7.入力文字をそのまま表示(記号:G/標準)
TEXT関数の表示形式コードに「G/標準」というコードを利用すると、指定したセルの値をそのまま表示されます。
ただし、日付や時刻に関しては、シリアル値で表示されます。
文字 | TEXT関数の結果 | TEXT関数の構文 |
1000 | 1000 | =TEXT(B3,"G/標準") |
2024/7/15 | 45488 | =TEXT(B4,"G/標準") |
22:15:05 | 0.927141204 | =TEXT(B5,"G/標準") |
0.25 | 0.25 | =TEXT(B6,"G/標準") |
カタカナ | カタカナ | =TEXT(B7,"G/標準") |
ひらがな | ひらがな | =TEXT(B8,"G/標準") |
漢字 | 漢字 | =TEXT(B9,"G/標準") |
TEXT関数の事例8.漢数字と位で表示(記号:[DBNum1])
TEXT関数の表示形式コードに「[DBNum1]」「[DBNum1]###0」「[DBNum2]」[DBNum2]###0」というコードを利用すると、数字を漢数字で表示することができます。
漢字 | TEXT関数の結果 | TEXT関数の構文 |
1234 | 千二百三十四 | =TEXT(D3,"[DBNum1]") |
1234 | 一二三四 | =TEXT(D4,"[DBNum1]###0") |
1234 | 壱阡弐百参拾四 | =TEXT(D5,"[DBNum2]") |
1234 | 壱弐参四 | =TEXT(D6,"[DBNum2]###0") |
TEXT関数の事例9.+(プラス)や-(マイナス)の符号を表示
TEXT関数を利用することで、プラスやマイナスの数字の先頭に「+」「-」「△」「()」などの符号を表示することができます。
数字 | TEXT関数の結果 | TEXT関数の構文 |
12.5 | +12.5 | =TEXT(B3,"+#,##0.0;-#,##0.0") |
-12.5 | -12.5 | =TEXT(B4,"+#,##0.0;-#,##0.0") |
12.5 | +12.5 | =TEXT(B5,"+#,##0.0;△#,##0.0") |
-12.5 | △12.5 | =TEXT(B6,"+#,##0.0;△#,##0.0") |
12.5 | +12.5 | =TEXT(B7,"+#,##0.0;(#,##0.0)") |
-12.5 | (12.5) | =TEXT(B8,"+#,##0.0;(#,##0.0)") |
TEXT関数の事例10.郵便番号や電話番号にハイフン(-)を表示
TEXT関数を利用することで、”-”(ハイフン)が付いていない郵便番号や電話番号に”-”を追加することができます。
番号 | TEXT関数の結果 | TEXT関数の構文 |
6647854 | 664-7854 | =TEXT(B3,"000-0000") |
9099999999 | 090-9999-9999 | =TEXT(B4,"000-0000-0000") |
TEXT関数の事例11.数値を指数表記する
TEXT関数を利用することで、数字を指数で表記することができます。
指数表記とは、1から10までの10進数に、10の累乗を乗算する形式で数字を表示する方法です。例えば、「12,200,000」という数字を「1.22E+7」などと表記します。
番号 | TEXT関数の結果 | TEXT関数の構文 |
12,200,000 | 1.22E+07 | =TEXT(B3,"0.00E+00") |
12,200,000 | 1.2E+7 | =TEXT(B4,"0.0E+0") |
12,200,000 | 12.2E+6 | =TEXT(B5,"#0.0E+0") |
TEXT関数を使った応用テクニック(応用編)
続いて、TEXT関数の応用テクニックを紹介します。
TEXT関数を単独で使うのではなく、他の関数などと組み合わせて利用することで、さらに幅広い目的で使うことができます。
TEXT関数の使い方(応用編)
1.TEXT関数と「&」演算子 ⇒ 日付と文字を結合して1つのセルに表示
2.TEXT関数とLEFT関数など ⇒ 8桁の数字を日付に変更
3.TEXT関数とLEN関数 ⇒ 文字数をカウントする
TEXT関数と「&」で文字と日付を結合する方法
TEXT関数を使えば、異なるセルに入力されている日付と文字を結合することができます。
例えば、「2024/7/15」と「営業部」というデータを「2024/7/15 営業部」「営業部 2024/7/15」と変換する、といったケースです。
TEXT関数と文字を結合する「&」演算子を利用して、日付と文字を結合します。仮に、TEXT関数を使わず「&」だけで処理した場合は、日付がシリアル値で表示されてしまいます。
=TEXT(B3,"yyyy/mm/dd")&" "&C3
同じ要領で、下の図のように、日付と日付の間に「~」などの文字をつなげて、「24/07/15~24/08/31」と表示することもできます。
TEXT(B3,"yy/mm/dd")&"~"&TEXT(C3,"yy/mm/dd")
TEXT関数で数値⇔日付を変換する方法
TEXT関数を利用することで、8桁の数値を日付に変換したり、日付を8桁の数値に変換することができます。
まずは、日付を表示したいセルに以下のTEXT関数を入力します。下の数式の”B3”は、実際に8桁の数字が入力されているセルを指定してください。
=TEXT(B3, "0000!/00!/00") * 1
数式を確定すると、日付を表すシリアル値に変換されます。表示形式を変換するため、「ホーム」タブから「短い日付形式」を選択してください。
そうすると、シリアル値が日付で表示され、結果として8桁の数字が日付に変換することができました。
この逆で、日付を8桁の数字に変換することもできます。
日付を数字に変換したいセルに以下のTEXT関数を入力します。下の数式の”B3”は、実際に日付が入力されているセルを指定してください。
=TEXT(B3,"yyyymmdd")*1
そうすると、8桁の数字が表示されます。もし数字が表示されずに「############」と表示される場合は、セルの書式設定(表示形式)を「日付」から「標準」に変更してください。
TEXT関数でLEN関数で文字数をカウントする方法
LEN関数で「日付」や「%」表示されたセルの文字数をカウントすると、下のように正しく文字数がカウントされません。
このように、表示形式に合わせた文字数のカウントを行うためには、LEN関数だけでなくTEXT関数を利用します。
日付をスラッシュ付きでカウントしたり、スラッシュを含めずにカウントするためには、以下のようにLEN関数の中にTEXT関数を挿入します。
⇩スラッシュを含んでカウント
=LEN(TEXT(B3,"yyyy/m/d"))
⇩スラッシュを含めずカウント
=LEN(TEXT(B3,"yyyymd"))
「%」のセルを正しくカウントするためには、以下のようにLEN関数の中にTEXT関数を挿入します。
=LEN(TEXT(B4,"0%"))
文字数を正しくカウントするその他の方法は以下の記事で詳しく紹介していますので、合わせて参考にしてください。
TEXT関数とセルの書式設定の違い
TEXT関数でセルの表示を変更することもできますが、エクセルの利用者であれば誰でも1度は利用したことがあるであろう「セルの書式設定」画面からでもセルの表示を変更することができます。
それでは、TEXT関数と「セルの書式設定」の機能の違いは何なのでしょうか。
それは、主に以下の2点です。
2つの機能の違い
1.TEXT関数は別のセルに結果を表示するが、セルの書式設定は元の表示が残らない
2.TEXT関数は文字列(テキスト)として表示される
3.セルの書式設定でしか設定できない表示形式がある
TEXT関数は、元の値を引数に使用して、別のセルにその結果を表示するので、元の値は保持されます。一方、「セルの書式設定」ダイアログボックスで表示形式を変更すると、元の表示は残りません。
そのため、元のセルの表示を残したいかどうかによって、どちらを使うか判断しましょう。
また、TEXT関数は、テキストの名前の通り結果を文字列に変換して表示する関数です。セルで表示された結果を、数式や関数でさらに処理する場合はTEXT関数を利用するようにしましょう。
さらに、TEXT関数では文字の色を変更することはできませんが、セルの書式設定ではフォントの色を赤色や青色、緑色などに設定することができます。
TEXT関数の表示形式コードを作成するコツとテクニック
TEXT関数に使う表示形式コードをたくさん存在しますが、覚える必要はありません。
最後に、TEXT関数に使うコードを見つけるテクニックを紹介します。
まず、「Ctrl+1」キーのショートカットキーを使って、「セルの書式設定」画面を表示します。「表示形式」タブの中から、変更したい表示に一番近いカテゴリのメニューを選択します。
その次に、「ユーザー定義」メニューに切り替えすると、先ほど選択した表示形式のコード(書式記号)を確認することができます。このコードを参考にTEXT関数を作成するとコードを作成しやすくなります。