文字列
TEXT関数の使い方・読み方
読み方:TEXT は「テキスト」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)
TEXTは、数値や日付を、指定した形式の文字列に変換する関数です。
このページの中身(24項目)
この記事の書式と対応環境の出どころ(2026-08-26 確認)
- Google スプレッドシート ヘルプ:公式の書式は
TEXT(数値, 表示形式)
https://support.google.com/docs/answer/3094139 - Microsoft サポート:TEXT 関数
https://support.microsoft.com/ja-jp/excel/functions/text-function
関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。
「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! が出る
対象が数値でも日付でもない文字列です。
表示形式と文字列変換の違い
日付や数値の見た目を変える方法は二つあります。表示形式を変える方法と、文字列に変換する方法です。この二つは結果が似て見えますが、性質がまったく違います。混同すると、後の計算で必ずつまずきます。
表示形式を変えると、見た目だけが変わります。セルの中身は数値のままです。日付を「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" - 結果は文字列になり、計算・並べ替えに使えない
- 見た目を変えるだけなら表示形式(メニュー)を使う
関連する関数
- TEXTJOIN — 複数の文字列を区切り文字で連結
- CONCATENATE — 文字列の連結
- TODAY — 今日の日付
- DATEDIF — 日付の差を求める
- 関数一覧に戻る