TEXTは、数値や日付を、指定した形式の文字列に変換する関数です。
「2026/4/1」を「2026年4月1日(水)」にする、1234567 を ¥1,234,567 にする、といった変換ができます。
書式設定(表示形式)との違いは、TEXTが文字列そのものを作る点です。他の文字列と連結できる代わりに、計算には使えなくなります。
書式
=TEXT(値, "書式")
書式は必ず " で囲みます。
日付の書式
| 書式 | 結果(2026年4月1日 水曜の場合) |
|---|---|
"yyyy/mm/dd" |
2026/04/01 |
"yyyy年m月d日" |
2026年4月1日 |
"yy/m/d" |
26/4/1 |
"mm/dd" |
04/01 |
"m月d日" |
4月1日 |
"aaa" |
水 |
"aaaa" |
水曜日 |
"ddd" |
Wed |
"dddd" |
Wednesday |
"yyyy年m月d日(aaa)" |
2026年4月1日(水) |
m を1つにすると1桁のとき「4」、2つにすると「04」になります。
曜日を取り出すのがTEXTの最頻出の用途です。
=TEXT(A1, "aaa") → 水
WEEKDAY で番号を取って SWITCH で変換する方法もありますが、TEXTのほうが圧倒的に短く書けます。
時刻の書式
| 書式 | 結果(15:05:30の場合) |
|---|---|
"h:mm" |
15:05 |
"hh:mm:ss" |
15:05:30 |
"h時m分" |
15時5分 |
"[h]:mm" |
経過時間として24時間超も表示 |
[h] は重要です。 通常の h は24時間で0に戻りますが、[h] なら「30:00」のように24時間を超えた表示ができます。勤務時間の合計を出すときに必須です。
=TEXT(SUM(B2:B100), "[h]:mm")
数値の書式
| 書式 | 結果(1234567.891の場合) |
|---|---|
"#,##0" |
1,234,568 |
"#,##0.00" |
1,234,567.89 |
"¥#,##0" |
¥1,234,568 |
"0.0%" |
(0.156なら)15.6% |
"0000" |
(42なら)0042 |
0 と # の違い
- –
0… 桁がなくても0を表示する - –
#… 桁がなければ何も表示しない
"0000" は桁を揃えるゼロ埋めに使います。商品コードや伝票番号の整形で便利です。
=TEXT(A1, "0000") → 42 が 0042 になる
正負で表示を変える
セミコロンで区切ると、正の数・負の数・ゼロで書式を分けられます。
=TEXT(A1, "#,##0;▲#,##0;-")
正なら 1,234、負なら ▲1,234、ゼロなら - になります。会計資料でよく使われる形式です。
文字列との連結
TEXTの主な用途がこれです。& で日付や数値をそのままつなぐと、内部の数値(シリアル値)が出てしまいます。
="更新日:" & A1 → 更新日:46113 (シリアル値)
="更新日:" & TEXT(A1, "yyyy/m/d") → 更新日:2026/4/1
日付や金額を文章に混ぜるときは、必ずTEXTで包んでください。
表示形式との使い分け
| 表示形式(メニュー) | TEXT関数 | |
|---|---|---|
| 中身 | 数値のまま | 文字列になる |
| 計算に使える | 使える | 使えない |
| 他の文字列と連結 | シリアル値が出る | きれいに連結できる |
| 並べ替え | 正しく並ぶ | 文字列順になる |
原則は「表示形式を使う」です。 TEXTを使うのは、文字列として連結したいときだけにしてください。
TEXTで作った日付を並べ替えると、2026/1/1 より 2026/10/1 が先に来ます。文字列として比較されるためです。集計や並べ替えの対象になる列にTEXTを使うと、後で必ず困ります。
文字列を数値に戻す
TEXTの結果を計算に使いたくなったら、VALUE で戻します。
=VALUE(TEXT(A1, "yyyy/mm/dd"))
ただし、そもそもTEXTを挟まないほうが確実です。
Excelとの違い
基本の書式指定は共通です。 ただし、いくつか違いがあります。
| 書式 | Excel | スプレッドシート |
|---|---|---|
"aaa"(日本語の曜日) |
使える | 使える |
"ggge年"(和暦) |
使える | 使えない |
[h](24時間超) |
使える | 使える |
和暦(令和・平成)はスプレッドシートのTEXTでは扱えません。 必要なら IFS や対応表で自作するか、Excelを使ってください。
また、ロケール設定によって書式記号の解釈が変わることがあります。ファイルの設定を「日本」にしておくと想定通りに動きます。
よくある失敗
結果が左寄せになって計算できない
TEXTは文字列を返します。 これは仕様です。計算する列には使わないでください。
並べ替えがおかしい
文字列として比較されています。元の日付列で並べ替えてください。
書式が効かない
- – 書式を
"で囲んでいない - – 対象が日付ではなく文字列になっている(左寄せになっていないか確認)
日付が文字列だと、TEXTは何もできません。まず DATEVALUE で日付に変換してください。
#VALUE! が出る
対象が数値でも日付でもない文字列です。
まとめ
- – 書式は
=TEXT(値, "書式") - – 曜日は
"aaa"が最短。TEXTの最頻出用途 - – 24時間超の時間は
[h]:mm - – ゼロ埋めは
"0000" - – 結果は文字列になり、計算・並べ替えに使えない
- – 見た目を変えるだけなら表示形式(メニュー)を使う
関連する関数
- – TEXTJOIN — 複数の文字列を区切り文字で連結
- – CONCATENATE — 文字列の連結
- – TODAY — 今日の日付
- – DATEDIF — 日付の差を求める
- – 関数一覧に戻る
コメントを残す