=TEXT(A2,"mmm d, yyyy")はA2の日付を文字列Mar 15, 2026に、=TEXT(B2,"$#,##0.00")は数値1250.5を$1,250.50にします。2つ目の引数は引用符で囲んだ表示形式コードで、「セルの書式設定」の「ユーザー定義」と同じコードで書きます。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Date | Amount | Date as text | Amount as text |
| 2 | 2026-03-15 | 1250.5 | Mar 15, 2026 | $1,250.50 |
| 3 | Sunday | 1,251 | ||
| 4 | 2026-03-15 | 1250.5 |
A2の日付かB2の金額を変えると、6つの文字列も変わります。TEXTはすべてのバージョンのExcelとGoogleスプレッドシートで使えます。
日付の表示形式コード
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Code | Result | Date | |
| 2 | d | 5 | 2026-03-05 | |
| 3 | dd | 05 | ||
| 4 | ddd | Thu | ||
| 5 | dddd | Thursday | ||
| 6 | mmm | Mar | ||
| 7 | mmmm | March | ||
| 8 | dd/mm/yyyy | 05/03/2026 |
dとdd:日。先頭の0なしと、0あり。dddとdddd:曜日の短い形と長い形(Thu、Thursday)。詳しくは曜日のページを参照してください。m、mm、mmm、mmmm:月を3、03、Mar、Marchとして表示します。yyとyyyy:年を26か2026として表示します。
A列にmmmm yyyyやddd d mmmのような別のコードを入力すると、B列にその形が表示されます。表示形式コードはExcelの言語によって変わります。英語版のExcelでdd.mm.yyyyと書くところを、ドイツ語版のExcelではTT.MM.JJJJと書きます。
| A | B | |
|---|---|---|
| 1 | Date | Weekday |
| 2 | 2026-03-09 |
やってみよう: B2で、A2の日付の曜日名をMondayのような省略しない形で返してください。
数値、通貨、パーセントのコード
| コード | 1234.567は次のようになる | 意味 |
|---|---|---|
0 | 1235 | 整数、四捨五入 |
0.00 | 1234.57 | 小数点以下2桁 |
#,##0 | 1,235 | 桁区切り |
$#,##0.00 | $1,234.57 | 通貨 |
0% | 123457% | 100倍してパーセント記号を付ける |
000000 | 001235 | 最低6桁、先頭を0で埋める |
0は常に表示される桁、#は必要なときだけ表示される桁です。ここで試してみてください:
| A | B | C | |
|---|---|---|---|
| 1 | Value | Code | Result |
| 2 | 1234.567 | 0.00 | 1234.57 |
| 3 | 0.256 | 0.0% | 25.6% |
| 4 | 42 | 000000 | 000042 |
| 5 | -1500 | #,##0;(#,##0) | (1,500) |
最後のコードはセミコロンで区切った2つの部分からなります。1つ目は正の数、2つ目は負の数用で、ここでは会計でよく見るようにかっこで囲んでいます。4行目のような0埋めは先頭の0のページで説明しています。
| A | B | |
|---|---|---|
| 1 | Rate | Label |
| 2 | 0.125 |
やってみよう: B2で、A2の率を、小数点以下1桁とパーセント記号の付いた12.5%のような文字列で返してください。
文字列と表示形式付きの数値・日付をつなげる
TEXTを使う理由として最もよくあるのがこれです。数値を&でつなぐと表示形式が失われ、保存されているとおりの値でつながります:
| A | B | C | |
|---|---|---|---|
| 1 | Due | Amount | Message |
| 2 | 2026-04-30 | 1250.5 | Pay $1,250.50 by April 30 |
| 3 | Pay 1250.5 by 46142 |
C3がその理由を示しています。TEXTがないと、日付はシリアル値として、金額は書式のない数値としてつながります。時刻には"h:mm AM/PM"や"hh:mm"のようなコードを、24時間を超える経過時間には"[h]:mm"を使います。hやsの隣にあるmmは、月ではなく分を表します。文字列の結合については文字列の結合で詳しく説明しています。
よくある間違い: TEXTで計算が止まる
TEXTは文字列を返します。数値のように見えますが、SUMでは無視され、セルの中では文字列のように配置されます:
| A | B | |
|---|---|---|
| 1 | Price | TEXT(price,"0.00") |
| 2 | 12.5 | 12.50 |
| 3 | 8 | 8.00 |
| 4 | 20.25 | 20.25 |
| 5 | 40.75 | 0 |
B5の合計は0です。数値の見た目だけを変えたいなら、数値のまま置いてセルの表示形式を変えます。セルを選択してCtrl+1(MacではCmd+1)を押し、「数値」で表示形式を選ぶか、「ユーザー定義」に同じコードを入力します。するとセルはTEXTを使ったときと同じ見た目になり、合計もできます。
よくある質問
ExcelのTEXT関数は何をする関数ですか?
数値や日付を、指定した表示形式の文字列に変えます。=TEXT(A2,"$#,##0.00")は1250.5に対して$1,250.50を返します。主に、値をほかの文字列とつなぐときに表示形式を保つために使います。
Excelで日付を文字列に変換するには?
=TEXT(A2,"yyyy-mm-dd")は2026-03-15を、"mmm d, yyyy"はMar 15, 2026を、"dddd"はSundayのような曜日名を返します。
TEXTの結果を合計できないのはなぜですか?
TEXTは文字列を返し、SUMは文字列を無視するので、TEXTの結果の列を合計すると0になります。数値はそれぞれのセルに数値のまま置き、見た目は「セルの書式設定」(Ctrl+1)で変えてください。TEXTはラベルにだけ使います。
ドイツ語版やフランス語版のExcelで表示形式コードが効かないのはなぜですか?
日付のコードはExcelの言語に従います。ドイツ語版のExcelでは年をJJJJ、日をTTと書くので、=TEXT(A2;"TT.MM.JJJJ")になります。英語の例からコピーしたコードは、文字がそのまま表示されます。