TEXT関数の使い方・読み方|数値や日付を好きな形式の文字列にする

執筆者:

カテゴリ:

TEXT関数の使い方・読み方のイメージ

文字列

TEXT関数の使い方・読み方

Excel関数辞典

読み方:TEXT は「テキスト」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)

TEXTは、数値や日付を、指定した形式の文字列に変換する関数です。

使える環境Excel○Googleスプレッドシート○
このページの中身(24項目)
  1. 書式
  2. 日付の書式
  3. 時刻の書式
  4. 数値の書式
  5. 正負で表示を変える
  6. 文字列との連結
  7. 表示形式との使い分け
  8. 文字列を数値に戻す
  9. Excelとの違い
  10. よくある失敗
  11. 表示形式と文字列変換の違い
  12. 文字列変換が必要になる場面
  13. 書式の指定でつまずくところ
  14. 表示形式で解決できることを知る
  15. 外部に渡すデータを作る
  16. 「文字列」の関数を全体から見る
  17. 数式を書く前の手順
  18. どの関数でも共通する確認
  19. 引き継ぐときに残すこと
  20. このサイトの収録状況
  21. よくある質問
  22. この分野の他の記事
  23. まとめ
  24. 関連する関数

この記事の書式と対応環境の出どころ(2026-08-26 確認)

関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。

「2026/4/1」を「2026年4月1日(水)」にする、1234567 を ¥1,234,567 にする、といった変換ができます。

書式設定(表示形式)との違いは、TEXTが文字列そのものを作る点です。他の文字列と連結できる代わりに、計算には使えなくなります。

TEXT関数の使い方の記事構成図
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のほうが圧倒的に短く書けます。

TEXT関数の使い方の要点図
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! が出る

対象が数値でも日付でもない文字列です。


表示形式と文字列変換の違い

日付や数値の見た目を変える方法は二つあります。表示形式を変える方法と、文字列に変換する方法です。この二つは結果が似て見えますが、性質がまったく違います。混同すると、後の計算で必ずつまずきます。

表示形式を変えると、見た目だけが変わります。セルの中身は数値のままです。日付を「2026年4月1日」と表示していても、内部では連続した数値として保持されています。したがって、日数の計算も大小の比較も、そのままできます。

文字列に変換すると、中身そのものが文字列になります。「2026年4月1日」という文字の並びであって、日付ではありません。日数を足すことも、日付として比較することもできません。並べ替えても、文字の順序で並びます。

したがって、原則はこうです。見た目を整えたいだけなら表示形式を使う。 文字列として他の文字とつなげたい場合にだけ、文字列変換の関数を使う。

この原則を守らないと、集計の段階で「日付なのに計算できない」という状態に陥ります。取り込んだデータがこの状態になっていることも多く、その場合は逆に数値へ戻す処理が必要になります。


文字列変換が必要になる場面

では、どういうときに文字列への変換が必要なのか。用途はほぼ二つに絞られます。

ひとつは、文字列との連結です。「2026年4月1日 締切」という一つの文字列を作りたい場合、日付をそのまま連結すると、内部の数値がそのまま出てきます。連結の前に、望む形式の文字列に変換する必要があります。

もうひとつは、書式を揃えたコードを作る場合です。番号を四桁の固定長にしたい、金額に桁区切りを入れた文字列が欲しい、といった場面です。ファイル名や帳票の項目を数式で組み立てるときに使います。

この二つ以外では、たいてい表示形式で足ります。集計表の見出しに月を表示したいだけなら、日付のまま表示形式を変えればよく、文字列にする必要はありません。

なお、条件付き集計の条件として日付を渡す場合も、文字列に変換するのではなく、日付のまま比較するほうが確実です。文字列にすると、比較のたびに解釈の問題が起こります。


書式の指定でつまずくところ

書式を指定する文字列には、決まった記号を使います。年月日、時分秒、桁区切り、小数点。それぞれに対応する記号があり、組み合わせて指定します。

つまずきやすいのが、月と分の区別です。同じアルファベットが使われる場合があり、大文字と小文字で意味が変わることがあります。時刻と一緒に指定するときに間違えると、月のところに分が出ます。

もうひとつが、曜日の指定です。記号の数によって、省略形か正式名かが変わります。日本語環境と英語環境で出力が変わることもあります。日本語の曜日を確実に出したい場合は、曜日を求める関数と対応表を組み合わせるほうが安定します。→ WEEKDAY関数の使い方

桁区切りの指定も注意が必要です。区切り記号を入れる位置の書き方に決まりがあり、間違えると意図しない結果になります。

そして最大の落とし穴が、環境による差です。同じ書式文字列でも、地域設定によって解釈が変わることがあります。ファイルを他の環境で開く可能性があるなら、複雑な書式指定は避けるほうが安全です。


表示形式で解決できることを知る

文字列に変換する前に、表示形式で足りないかを必ず確認してください。表示形式なら中身が数値のまま保たれるので、計算も並べ替えも比較も素直に動きます。

桁区切りを入れる、小数点以下の桁数を揃える、通貨記号を付ける、パーセント表示にする。これらはすべて表示形式で可能です。

日付の形式を変える、曜日を付ける、和暦にする。これらも表示形式で対応できます。

負の数を赤くする、括弧付きで表示する、三角記号を付ける。これも表示形式です。

零を非表示にする、条件によって表示を変える。表示形式にはある程度の条件指定もできます。

固定長の桁数に揃える、先頭にゼロを付ける。これも表示形式で可能です。ただし、他のシステムに渡すために実際の値として必要な場合は、文字列への変換が要ります。

つまり、見た目を整えたいだけなら、ほぼすべて表示形式で解決します。 文字列への変換が必要になるのは、他の文字列と連結する場合と、外部に渡す値として形式を固定する場合だけです。

この判断ができていないと、数値であるべき列が文字列になり、集計できないという事態を招きます。


外部に渡すデータを作る

他のシステムに取り込ませるファイルを作る場合、形式の指定が厳密になります。ここでは文字列への変換が必要です。

日付の形式は、取り込み先の仕様に合わせます。区切り記号、桁数、順序。仕様書があるはずなので、それに従います。表示形式では内部の値が変わらないため、書き出したときに意図した形にならないことがあります。

数値の桁数も固定が必要な場合があります。先頭のゼロを含む固定長のコードは、文字列にしないと保持されません。

金額の桁区切りは、取り込み先が受け付けない場合が多いので、入れないのが一般的です。逆に、通貨記号も不要なことがほとんどです。

改行や区切り文字が値の中に含まれていると、取り込み先で列がずれます。書き出す前に、置換で除去してください。

こうした変換をまとめた出力用のシートを作り、そこから書き出す構成にすると、毎回の作業が単純になります。データのシートは扱いやすい形のまま保ち、出力用のシートで形式を整える。この分離が基本です。

書き出したファイルは、取り込み先で一度テストしてから本番に使ってください。形式の思い違いは、実際に取り込むまで気づけません。

「文字列」の関数を全体から見る

文字列に含まれる関数を、全体から見ておきます。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに31本あります。

記事
CHAR
CLEAN
CODE
CONCAT
CONCATENATE
EXACT
FIND
FIXED
HYPERLINK
IMAGE
JIS
LEFT
LEN
LENB
LOWER
MID
NUMBERVALUE
PROPER
REGEXEXTRACT
REGEXMATCH
REGEXREPLACE
REPLACE
REPT
RIGHT
SEARCH
SPLIT
SUBSTITUTE
TEXTJOIN
TRIM
UPPER
VALUE

このカテゴリで共通するつまずき

全角と半角、前後の空白、改行。この3つが原因のほとんどです。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。

どれを使うかの決め方

位置で取るのか、記号を目印に取るのかで使う関数が変わります。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。

迷ったときは

→ 全関数の一覧 に目的別の索引があります。


数式を書く前の手順

手順を分けると、どこで詰まっているかが分かります。

1. 出したい結果を一文で書く

「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。

2. 元データの型を確認する

全角と半角、前後の空白、改行。この3つが原因のほとんどです。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。

3. 空欄と0の扱いを決める

未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。

4. 条件の数を数える

位置で取るのか、記号を目印に取るのかで使う関数が変わります。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。

5. 共有先の環境を確認する

新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。

6. 1行だけ書いて確認する

全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。


どの関数でも共通する確認

以下は、どの関数を使っていても同じです。

参照を固定したか

下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。

範囲の行数が揃っているか

複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。

型が揃っているか

=ISNUMBER(A2)

数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。

前後に空白が入っていないか

=LEN(A2)&" / "&LEN(TRIM(A2))

数が違えば、余分な空白が入っています。見た目では判別できません。

別の方法で検算したか

同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。

最終行まで確認したか

一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。


引き継ぐときに残すこと

数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。

何を出している数式か

一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。

どの表を参照しているか

参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。

該当しないときの扱い

空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。

触ってはいけない場所

列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。

使った関数の対応環境

新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。

確定した期間は値にする

締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。

このサイトの収録状況

全201本を、次のカテゴリに分けて収録しています。

カテゴリ記事数
目的別51本
集計47本
文字列31本 ←この記事
日付19本
検索・参照15本
条件15本
機能12本
配列・抽出10本
関数一覧1本

探し方の順番

関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。

記事の構成

どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。


よくある質問

Q. 変換した日付で計算できません

文字列になっているためです。計算に使うなら変換せず、表示形式を変えてください。

Q. 数値に桁区切りを入れたいだけです

表示形式で足ります。文字列に変換する必要はありません。

Q. 連結すると日付が数字になります

日付の内部表現がそのまま出ています。連結の前に文字列へ変換してください。

Q. 書式の記号が覚えられません

よく使う数種類だけ覚えれば足ります。表示形式の設定画面で書式を作り、そこに表示される文字列をそのまま使う方法もあります。

Q. 曜日を日本語で出したいのですが

書式指定でも出せますが、環境によって変わることがあります。確実にしたい場合は、曜日の番号を求めて対応表で変換してください。

Q. 先頭のゼロが消えます

数値として扱われているためです。固定長にしたい場合は、桁数を指定した書式で文字列に変換してください。

Q. 文字列に変換したものを並べ替えると崩れます

文字の順序で並ぶためです。並べ替えの基準には、変換前の数値や日付を使ってください。

Q. 取り込んだデータが全部文字列です

取り込み直後に整形する作業列を用意してください。数式の中で毎回変換するより保守しやすくなります。




この分野の他の記事

同じ「文字列」の記事です。目的が近いので、こちらで解決しない場合はこちらも見てください。

まとめ

  • 書式は =TEXT(値, "書式")
  • 曜日は "aaa" が最短。TEXTの最頻出用途
  • 24時間超の時間は [h]:mm
  • ゼロ埋めは "0000"
  • 結果は文字列になり、計算・並べ替えに使えない
  • 見た目を変えるだけなら表示形式(メニュー)を使う

関連する関数