Excelで文字列を整えたり、日付を見やすい表示へ変更したり、曜日を自動表示したりしたい場面は多いものです。
テキスト関数を使えば、元のデータを直接書き換えずに、必要な形式の文字列を別セルへ作成できます。
顧客名簿の商品コード整形、請求書の日付表示、勤務表の曜日表示など、日常的な表計算で役立つ機能です。
テキスト関数を使うポイントは、文字列の一部を取り出すこと、複数の文字をつなげること、数値や日付の見せ方を指定することです。
Excelでは見た目が日付や数値でも、セル内部では別の値として扱われている場合があります。
その違いを理解すると、TEXT関数やLEFT関数、DATE関数をより正確に使えるようになります。
この記事では、文字列・日付・曜日を中心に、エクセルのテキスト関数の使い方を詳しく解説していきます。
まずは基本式を確認し、サンプルデータを使いながら実務で使いやすい形へ整えていきましょう。
エクセルのテキスト関数を使う基本操作
| A列 商品コード | B列 商品名 | C列 整形結果 |
|---|---|---|
| AB-001-RED | 赤ペン | AB001RED |
| CD-025-BLU | 青ペン | CD025BLU |
それではまず、テキスト関数の基本操作について解説していきます。
テキスト関数とは、セルに入力された文字、数値、日付を加工し、別の文字列として返す関数の総称です。
元データを残したまま加工結果を作れることが、テキスト関数を使う大きな利点です。
関数入力と数式バーの確認
関数は結果を表示したいセルを選択してから、数式バーまたはセルへ半角のイコールを入力して始めます。
たとえばA2セルの文字列から先頭2文字を取り出す場合は、C2セルにLEFT関数を入力します。
=LEFT(A2,2)
この式では、A2セルの左端から2文字を取り出します。
関数名の後ろに丸かっこを付け、その中に対象セルと必要な条件を指定する形が基本です。
入力中に表示される候補を選ぶと、関数名のつづり間違いを減らせます。

数式バーにはセル内の式全体が表示されるため、長い式を確認するときにも便利です。
セルに見える値だけでなく、数式バーにどの関数が入力されているかを見る習慣を付けましょう。
文字列と数値の違い
Excelでは、数字に見えるデータでも文字列として保存されていることがあります。
たとえば郵便番号、社員番号、先頭にゼロが付く商品番号は、計算用の数値ではなく文字列として扱うのが一般的です。
文字列として扱うと、00125のような先頭ゼロを失わずに表示できます。
一方で、数量や金額のように計算する値は数値として保存する必要があります。
TEXT関数は数値を表示用の文字列へ変換するため、その結果を合計や平均に使う場合には注意が必要です。

データの種類を意識すると、関数の結果が想定と異なる問題を防ぎやすくなります。
オートフィルによる数式コピー
1行目にヘッダーがあり、データが2行目から並んでいる表では、最初のデータ行に式を作成して下方向へコピーします。
たとえばC2セルに式を入力した後、セル右下の小さな四角であるフィルハンドルを下へドラッグします。
するとA2を参照していた式は、次の行ではA3、その次はA4というように自動調整されます。
参照先を行ごとに変えたいときは通常のセル参照を使い、常に同じセルを参照したいときは$A$2のような絶対参照を使います。
大量のデータでは、フィルハンドルをダブルクリックすると隣接データの最終行まで式をコピーできる場合があります。
操作後は、途中の行までしかコピーされていないことや、空白行で処理が止まっていないかを確認しましょう。
【操作のポイント】最初に完成形となる数式を1セルで確認してから、オートフィルで全行へ展開します。
文字列を取り出すLEFT・RIGHT・MID関数
| A列 コード | B列 LEFT | C列 RIGHT | D列 MID |
|---|---|---|---|
| TK-12345-A | TK | A | 12345 |
続いては、文字列を取り出すLEFT・RIGHT・MID関数を確認していきます。
商品コードや電話番号、メールアドレスの一部など、決まった位置にある文字を抽出したいときに有効です。
LEFT関数による先頭文字の抽出
LEFT関数は、指定したセルの左端から必要な文字数を取り出す関数です。
=LEFT(A2,2)
A2セルがTK-12345-Aなら、結果はTKになります。
部署コードが先頭に固定されているデータや、先頭数文字で分類したいデータに向いています。
文字数にはハイフン、空白、記号も1文字として含まれます。
全角文字も通常は1文字として数えますが、元データに余分な空白がないかも確認しましょう。

先頭の値を抽出した後は、ピボットテーブルやCOUNTIF関数の分類項目として利用することもできます。
RIGHT関数による末尾文字の抽出
RIGHT関数は、文字列の右端から指定した文字数を取り出します。
=RIGHT(A2,1)
この式では、TK-12345-Aの末尾にあるAを取得できます。
末尾に色コード、版数、支店記号などが付いているデータを分けるときに便利です。
末尾から3文字を取得したい場合は、文字数の部分を3に変更します。
ただし、末尾の文字数が行によって不規則なデータでは、RIGHT関数だけでは対応しにくいことがあります。
その場合はFIND関数やLEN関数と組み合わせる方法を検討しましょう。

末尾のスペースが混ざっていると正しい値を取り出せないため、必要に応じてTRIM関数で空白を整えます。
MID関数による途中文字の抽出
MID関数は、文字列の途中から指定した文字数だけを取り出す関数です。
=MID(A2,4,5)
この式ではA2セルの4文字目から5文字を取り出すため、結果は12345になります。
MID関数の2番目の指定は開始位置、3番目の指定は取り出す文字数です。
開始位置は左端を1として数えるため、ハイフンを含む位置を正確に数える必要があります。
固定桁の社員番号や、決まった書式の商品コードでは特に使いやすい方法です。
一方、文字列の長さや区切り位置がばらばらの場合は、固定位置ではなく区切り文字を検索する式が適しています。
【操作のポイント】LEFT・RIGHT・MIDは、抽出したい場所が固定されているデータほど扱いやすい関数です。
文字列を結合するCONCAT・TEXTJOIN関数
| A列 姓 | B列 名 | C列 結合結果 |
|---|---|---|
| 山田 | 花子 | 山田 花子 |
| 佐藤 | 健 | 佐藤 健 |
続いては、複数のセルを1つの文字列へ結合する方法を確認していきます。
氏名、住所、管理番号、案内文などを作る際には、セルの値と固定文字を組み合わせる処理が役立ちます。
CONCAT関数によるセル結合
CONCAT関数は、複数の文字列やセルの内容をつなげる関数です。
=CONCAT(A2,” “,B2)
この式ではA2セルの姓、半角スペース、B2セルの名を順に結合します。
スペースやハイフンなど、直接入力する固定文字は二重引用符で囲みます。
セル参照と固定文字を交互に並べることで、読みやすい氏名や管理番号を作成できます。
たとえば商品分類と連番をつなげる場合には、=CONCAT(A2,”-“,B2)のように入力します。
結合後の値は文字列となるため、数値として計算する用途には向きません。
TEXTJOIN関数による区切り付き結合
TEXTJOIN関数は、複数の値を指定した区切り文字でつなげる関数です。
=TEXTJOIN(“、”,TRUE,A2:C2)
最初の指定は区切り文字、2番目の指定は空白セルを無視するかどうか、3番目以降は結合する範囲です。
TRUEを指定すると、途中に空白セルがあっても余分な区切り記号を入れずに結合できます。
部署名、担当者名、連絡先など、入力の有無が行ごとに異なる項目をまとめるときに便利です。
TEXTJOIN関数は空白セルを除外できるため、複数項目の文章を作る作業にも向いています。
古いExcelでは利用できない場合があるため、共有相手のバージョンも意識すると安心です。
アンパサンド演算子との使い分け
文字列の結合は、CONCAT関数だけでなくアンパサンド記号でも行えます。
=A2&” “&B2
短い式ならアンパサンド記号でも十分に分かりやすく、以前から多く使われてきた方法です。
一方で、結合するセルが多い場合や範囲をまとめて指定したい場合はTEXTJOIN関数の方が管理しやすくなります。
見積書の件名などでは、固定文と日付、担当者名を組み合わせるケースもあります。
その場合は日付部分をTEXT関数で整えてから結合すると、意図した表示になります。
【操作のポイント】複数セルの結合では、区切り文字と空白セルの扱いを先に決めると式が安定します。
日付を文字列で表示するTEXT関数
| A列 日付 | B列 表示形式 | C列 結果 |
|---|---|---|
| 2026/10/8 | yyyy年m月d日 | 2026年10月8日 |
| 2026/10/8 | yyyy/mm/dd | 2026/10/08 |
続いては、日付を見やすい文字列へ変換するTEXT関数を確認していきます。
日付はセルの表示形式だけで整えられることもありますが、文章へ組み込む場合にはTEXT関数が便利です。
TEXT関数の日付書式
TEXT関数は数値や日付を、指定した書式の文字列に変換します。
=TEXT(A2,”yyyy年m月d日”)
A2セルに2026年10月8日の日付が入っている場合、結果は2026年10月8日となります。
yyyyは4桁の年、mは月、dは日を表します。
月や日を必ず2桁にしたいときは、mmやddを使います。
yyyy/mm/ddは並び替えやファイル名にも使いやすい、年月日が一定桁になる表示です。
書式は必ず二重引用符で囲み、半角英字で入力します。
日付と文章を組み合わせる式
セル内の日付を案内文や帳票の見出しに入れる場合は、TEXT関数とCONCAT関数を組み合わせます。
=CONCAT(TEXT(A2,”yyyy年m月d日”),”時点の集計結果”)
この式なら、日付を指定形式で整えたうえで、固定の文章と結合できます。
日付セルをそのまま結合すると、Excel内部のシリアル値が表示される場合があるため注意が必要です。
日付を文章に入れるときは、TEXT関数で表示形式を明示することが安全です。
請求書の対象年月、報告書の作成日、メール文面の期限表示などで活用できます。
日付として認識されない値の確認
見た目が日付でも、文字列として入力されているとTEXT関数で期待した結果にならないことがあります。
セルを選択して数式バーを確認し、左寄せ表示になっている場合は文字列の可能性があります。
文字列の日付を日付値へ変換するには、DATEVALUE関数や区切り位置機能を使う方法があります。
すでに日付として認識されているかどうかは、表示形式を変更したときに表示が変わるかでも判断できます。
日付の計算や曜日表示を行う前に、元データが正しい日付値かを確認しましょう。
【操作のポイント】TEXT関数の結果は文字列なので、日付計算が必要な元データは別セルに残しておきます。
曜日を表示するTEXT・WEEKDAY関数
| A列 日付 | B列 TEXT結果 | C列 WEEKDAY結果 |
|---|---|---|
| 2026/10/8 | 木 | 4 |
| 2026/10/9 | 金 | 5 |
続いては、日付から曜日を表示するTEXT関数とWEEKDAY関数を確認していきます。
予定表、勤務表、納期管理表では、日付だけでなく曜日を表示すると確認しやすくなります。
TEXT関数による曜日表示
曜日を日本語で表示するだけなら、TEXT関数の表示形式を使う方法が分かりやすい方法です。
=TEXT(A2,”aaa”)
この式では木のように曜日を1文字で表示します。
曜日を木曜日のように表示したい場合は、表示形式をaaaaに変更します。
TEXT関数は曜日を見せるための関数として、カレンダーや一覧表に適しています。
結果は文字列になるため、曜日ごとの集計条件に使う場合は別の方法も検討します。
WEEKDAY関数による曜日番号
WEEKDAY関数は日付に対応する曜日を数値で返す関数です。
=WEEKDAY(A2,2)
第2引数に2を指定すると、月曜日が1、火曜日が2、日曜日が7になります。
土日を判定したい勤務表では、この並びが扱いやすい設定です。
たとえば土曜日と日曜日を判定する場合は、結果が6以上かどうかで条件を作れます。
WEEKDAY関数は曜日の表示よりも、条件付き書式や集計の判定に向いています。
開始曜日の種類によって返る番号が変わるため、第2引数を省略せずに指定することをおすすめします。
土日を色分けする条件付き書式
曜日番号を利用すると、土日だけを色分けする条件付き書式も設定できます。
日付がA2セルにある場合、条件付き書式の数式としてWEEKDAY(A2,2)>5という考え方を使えます。
これにより、土曜日と日曜日に該当する日付だけを自動で強調できます。
祝日は別途一覧を用意してCOUNTIF関数などで判定すると、より実用的な勤務表になります。
曜日の文字を手入力すると日付変更時に修正が必要になるため、関数で自動表示する方が効率的です。
【操作のポイント】表示目的ならTEXT関数、曜日を条件に使うならWEEKDAY関数を選びます。
文字列と日付のエラー対処
| 現象 | 主な原因 | 確認方法 |
|---|---|---|
| ####### | 列幅不足 | 列幅を広げる |
| VALUEエラー | 参照値や書式の不一致 | 数式バーを確認 |
続いては、テキスト関数や日付関数で起こりやすいエラーの対処を確認していきます。
関数名が正しくても、元データの種類や余分な空白によって結果が崩れることがあります。
VALUEエラーの原因
VALUEエラーは、関数が計算や変換に必要な形式の値を受け取れないときに表示されます。
日付として扱うべきセルに文字列が入っている場合や、引数の区切りが誤っている場合が代表例です。
まずは数式バーで参照セルを確認し、日付、数値、文字列のどれとして保存されているかを確認しましょう。
コピー元に全角の記号、不要なスペース、見えない改行が含まれている場合もあります。
エラーが出たときは式だけでなく、参照している元データを確認することが重要です。
余分な空白と文字数のずれ
LEFT関数やMID関数の結果が想定と異なる場合、元の文字列に余分な空白が含まれていることがあります。
TRIM関数を使うと、単語間の必要なスペースを残しながら、先頭や末尾の不要な半角空白を整えられます。
=TRIM(A2)
全角スペースはTRIM関数だけで処理できない場合があるため、SUBSTITUTE関数で置き換える方法もあります。
コードの文字数が固定だと思い込まず、LEN関数で実際の文字数を確認するのも有効です。
表示形式と関数結果の混同
セルの表示形式を変えた結果と、TEXT関数で文字列に変換した結果は同じではありません。
表示形式の変更ではセル内部の日付や数値を保てますが、TEXT関数の結果は文字列になります。
そのため、後から日数計算や金額集計を行う可能性がある場合は、元の値を保持する列を残すと安全です。
計算用の列と表示用の列を分けると、表の修正や再利用がしやすくなります。
【操作のポイント】エラー対処では、数式、参照先、データ形式、空白文字の順に確認します。
まとめ エクセルのテキスト関数の使い方(文字列・日付・曜日)
エクセルのテキスト関数を使うと、文字列の抽出、セルの結合、日付や曜日の表示を効率よく行えます。
LEFT・RIGHT・MID関数は固定位置の文字を取り出したいときに便利です。
CONCAT関数やTEXTJOIN関数は、氏名、コード、案内文などを複数のセルから組み立てる作業に役立ちます。
日付を文章へ入れる場合はTEXT関数で書式を指定し、曜日の表示にはaaaやaaaaを使うと分かりやすくなります。
曜日を条件判定に使う場合はWEEKDAY関数を選ぶと、土日判定や条件付き書式の設定にも応用できます。
元データの形式を保ち、加工用の列を別に作ることが、Excelの関数を安全に使う基本です。
まずはサンプルデータで数式を試し、実際の表に合わせてセル参照や文字数を調整していきましょう。