Excelで住所録、売上表、申請書データなどを扱っていると、氏名の一部だけを取り出したい、日付を読みやすく表示したい、曜日を自動で表示したいという場面があります。
このような文字列操作や日付表示には、エクセルのテキスト関数が役立ちます。
関数の役割を分けて覚えると、手入力を減らしながら表記ゆれの少ない表を作れるようになります。
テキスト関数の基本ポイント
・文字列の一部を取り出すにはLEFT、RIGHT、MID関数
・文字数や空白を整えるにはLEN、TRIM、SUBSTITUTE関数
・日付や曜日を見やすくするにはTEXT、WEEKDAY関数
この記事では、文字列・日付・曜日を整えるためのテキスト関数の使い方を、1行目が見出しのサンプル表と数式を使って解説します。
エクセルのテキスト関数で文字列を整える方法
それではまず、エクセルのテキスト関数で文字列を整える基本操作について解説していきます。
| 商品コード | 商品名 | 担当者 |
|---|---|---|
| TK-001-A | ノート PC | 田中 太郎 |
| TK-002-B | USB メモリ | 佐藤 花子 |
| TK-003-C | 液晶 モニター | 鈴木 一郎 |
文字列とは、セルに入力された文字、記号、数字の並びを指します。
テキスト関数は元のセルを直接書き換えるのではなく、別のセルに加工結果を返す仕組みです。
元データを残したまま結果を確認できるため、一覧表の整形に向いています。
LEFT関数とRIGHT関数による文字列抽出
LEFT関数とRIGHT関数は、文字列の左端または右端から指定した文字数を取り出す関数です。
商品コードの分類記号や末尾番号を分けたいときに便利です。

たとえばA2セルにTK-001-Aが入っており、先頭2文字のTKだけを表示したい場合は、結果を表示するセルに次の数式を入力します。
=LEFT(A2,2)
LEFT関数は、最初の引数に対象セル、2番目の引数に左から取得する文字数を指定します。
この数式の結果はTKです。
一方、末尾の分類記号Aを取得するなら、次のようにRIGHT関数を使います。
=RIGHT(A2,1)
文字数は全角文字でも半角文字でも、原則として1文字ずつとして数えられます。
ただし、商品コードの桁数が途中で変わる可能性がある場合は、単純に固定文字数を指定するだけでは対応できないことがあります。
MID関数とFIND関数による途中の文字列取得
MID関数は、文字列の途中から必要な部分だけを抜き出す関数です。
続いては、ハイフンで区切られた商品コードから中央の番号を取得する方法を確認していきます。
A2セルのTK-001-Aから001を取り出す場合、開始位置を4文字目、取得文字数を3文字と考えます。

=MID(A2,4,3)
この式では、MID関数の第1引数が対象文字列、第2引数が開始位置、第3引数が取得する文字数です。
結果は001になります。
区切り位置が一定ではないデータでは、FIND関数を組み合わせると柔軟です。
=MID(A2,FIND(“-“,A2)+1,FIND(“-“,A2,FIND(“-“,A2)+1)-FIND(“-“,A2)-1)
この数式は、1つ目と2つ目のハイフンの位置を探し、その間にある文字列を抽出します。
固定位置ではなく記号の位置を基準にする方法は、文字数が増減するデータで特に有効です。
関数が長く見える場合は、まずFIND関数だけを別セルで試し、どの位置を返すか確認すると理解しやすくなります。
LEN関数とTRIM関数による文字数・空白の整理
LEN関数は文字数を数え、TRIM関数は余分な半角スペースを整理します。
続いては、氏名や商品名に混じった不要な空白を整える方法を確認していきます。
C2セルに田中 太郎と入力されているとき、文字数を確認する数式は次のとおりです。
=LEN(C2)
スペースも1文字として数えられるため、結果は5になります。
コピー&ペーストしたデータには、先頭、末尾、単語間に余計な空白が含まれることがあります。
この場合は、次のTRIM関数を使用します。
=TRIM(C2)
TRIM関数は先頭と末尾の余分な半角スペースを削除し、文字列の間に連続する半角スペースを1つに整えます。
なお、全角スペースはTRIM関数だけでは削除できないため、SUBSTITUTE関数との組み合わせが必要です。
【操作のポイント】数式を入力したら、セル右下のフィルハンドルを下へドラッグして、2行目以降にも同じ処理をコピーしましょう。
文字列の置換と結合による表記統一
続いては、文字列の置換と結合によって表記を統一する方法を確認していきます。
| 姓 | 名 | 連絡先 |
|---|---|---|
| 田中 | 太郎 | 090-1234-5678 |
| 佐藤 | 花子 | 080-9876-5432 |
| 鈴木 | 一郎 | 070-2468-1357 |
別々の列に入っている情報をつなげたり、記号や空白を別の文字に置き換えたりすると、検索や並べ替えがしやすくなります。
データ入力の段階で表記をそろえられなくても、関数で補正する列を作れば後から整形できます。
CONCAT関数とアンパサンドによる文字列結合

CONCAT関数は複数セルの文字列を1つにつなげる関数です。
続いては、姓と名を結合してフルネームを作る方法を確認していきます。
A2セルに姓、B2セルに名がある場合、スペースを入れずに結合する数式は次のようになります。
=CONCAT(A2,B2)
結果は田中太郎です。
姓と名の間に全角スペースを入れたい場合は、文字列を引用符で囲んで指定します。
=A2&” ”&B2
アンパサンドは文字列を結合する演算子で、短い式ならCONCAT関数より読みやすいこともあります。
表示用の氏名列を作ると、宛名ラベル、メール差し込み、帳票作成へ流用しやすくなります。
SUBSTITUTE関数による記号と空白の置換
SUBSTITUTE関数は、文字列の中にある指定文字を別の文字へ置き換える関数です。
続いては、商品名に含まれる全角スペースを半角スペースへ置き換える方法を確認していきます。
A2セルにノート PCと入っている場合、全角スペースを半角スペースへ変える数式は次のとおりです。

=SUBSTITUTE(A2,” ”,” “)
第1引数には対象セル、第2引数には置き換える前の文字、第3引数には置き換えた後の文字を指定します。
置換後の文字を空の引用符にすれば、不要な記号を削除できます。
たとえば電話番号からハイフンを取り除くには、次の式を使います。
=SUBSTITUTE(C2,”-“,””)
電話番号や会員番号を数値として扱うと先頭の0が消えることがあるため、文字列として扱う意識が大切です。
REPLACE関数とTEXTJOIN関数の使い分け
REPLACE関数は指定位置の文字を入れ替え、TEXTJOIN関数は区切り文字を入れながら複数セルを結合します。
続いては、決まった桁位置の修正と複数項目の連結を確認していきます。
たとえばA2セルの09012345678を、先頭3文字の後にハイフンを入れる場合は次の式です。
=REPLACE(A2,4,0,”-“)
第3引数を0にすると、既存文字を消さずに文字を挿入できます。
さらに複数のセルをスラッシュで区切って結合するなら、TEXTJOIN関数が便利です。
=TEXTJOIN(“/”,TRUE,A2:C2)
TRUEは空白セルを無視する指定です。
入力されていない項目がある可能性を考えるなら、TEXTJOIN関数の空白無視を活用すると余計な区切り記号を避けられます。
【操作のポイント】置換前後の文字は似ていても別文字の場合があります。全角と半角、ハイフンの種類を数式バーで確認してから指定しましょう。
TEXT関数による日付と数値の表示形式
続いては、TEXT関数で日付と数値の見た目を整える方法を確認していきます。
| 受注日 | 売上金額 | 担当者 |
|---|---|---|
| 2026/9/15 | 125000 | 田中 |
| 2026/9/16 | 68000 | 佐藤 |
| 2026/9/17 | 245000 | 鈴木 |
TEXT関数は数値や日付を、指定した表示形式の文字列に変換する関数です。
請求書用の年月表示、メッセージ文への日付挿入、金額の見やすい表記などに利用できます。
TEXT関数の結果は数値ではなく文字列になるため、計算用の元データとは列を分けるのが基本です。
年月日を整えるTEXT関数の書式
TEXT関数で日付を和風や英数字の形式に整える方法を確認していきます。
A2セルに2026年9月15日に相当する日付データがある場合、年月日を日本語表記にする数式は次のとおりです。
=TEXT(A2,”yyyy年m月d日”)
yyyyは西暦4桁、mは月、dは日を表示する書式記号です。
月と日を2桁にそろえたいときは、mmとddを使います。
=TEXT(A2,”yyyy/mm/dd”)
結果は2026/09/15です。
日付が左寄せになっていたり、数式が意図しない結果になったりする場合は、元の値が日付ではなく文字列として保存されている可能性があります。
Excel画面での数式入力とオートフィル
続いては、TEXT関数を入力して下方向へコピーする操作画面を確認していきます。
数式を最初の結果セルで確定したら、セル右下に表示される小さな四角を下方向へドラッグします。
これがオートフィルで、A3、A4の参照先に合わせた数式が自動入力されます。
サンプルデータでは見出しが1行目にあるため、最初の計算式は通常2行目から入力します。
金額・時刻・文字列を組み合わせる表示
続いては、金額や日付を文章の中に組み込むTEXT関数の使い方を確認していきます。
B2セルの125000を桁区切り付きの金額へ整える数式は次のようになります。
=TEXT(B2,”#,##0円”)
結果は125,000円です。
日時データを時刻まで表示したい場合は、yyyy/mm/dd hh:mmのような書式を使います。
=TEXT(A2,”yyyy/mm/dd hh:mm”)
TEXT関数は表示形式を固定できるため、セルの表示形式が利用者ごとに異なるブックでも表記をそろえやすい特徴があります。
ただし、TEXT関数で金額を文字列化した列を合計すると期待どおりに計算できないことがあります。
【操作のポイント】計算には元の数値列を使い、報告書やメール文に見せる列だけでTEXT関数を使うと管理しやすくなります。
WEEKDAY関数とTEXT関数による曜日表示
続いては、日付から曜日を自動表示する方法を確認していきます。
| 勤務日 | 社員名 | 開始時刻 |
|---|---|---|
| 2026/9/15 | 田中 | 9:00 |
| 2026/9/16 | 佐藤 | 9:00 |
| 2026/9/17 | 鈴木 | 9:00 |
曜日表示を手入力すると、日付変更時に修正漏れが起こりやすくなります。
日付セルを参照する関数を使えば、日付を直すだけで曜日も連動します。
曜日を表示する最も簡単な方法はTEXT関数でaaaまたはaaaaの書式を指定することです。
TEXT関数で曜日を表示する書式
TEXT関数だけで曜日を表示する方法を確認していきます。
A2セルに日付がある場合、火のように短い曜日を表示する式は次のとおりです。
=TEXT(A2,”aaa”)
火曜日のように表示したい場合は、aaaをaaaaへ変更します。
=TEXT(A2,”aaaa”)
日付と曜日を一緒に表示するなら、yyyy/m/d(aaa)という書式も便利です。
結果は2026/9/15(火)のようになります。
WEEKDAY関数による曜日番号の取得
続いては、曜日を番号として判定するWEEKDAY関数を確認していきます。
WEEKDAY関数は日曜日から土曜日までを数値で返すため、条件分岐や集計に向いています。
=WEEKDAY(A2,2)
第2引数に2を指定すると、月曜日が1、火曜日が2、日曜日が7になります。
平日を1から5、土日を6と7で判定したいときは、戻り値の種類に2を指定するとわかりやすくなります。
たとえば土日を判定する式は、IF関数と組み合わせて作成できます。
=IF(WEEKDAY(A2,2)>5,”休日”,”平日”)
この式なら、曜日の表示だけではなく勤務表や締切管理にも応用できます。
曜日表示で起こりやすいエラーの確認
続いては、曜日が正しく表示されない場合の確認ポイントを見ていきます。
セルに2026/9/15と見えていても、実際には文字列として入力されていると、WEEKDAY関数でエラーになる場合があります。
数式バーを確認し、日付として認識されているかを確かめましょう。
文字列の日付を日付値へ直す必要がある場合は、DATEVALUE関数を使えることがあります。
=DATEVALUE(A2)
日付は見た目ではなく、Excel内部で連続した数値として認識されているかどうかが重要です。
【操作のポイント】曜日列は日付列の右側に作り、数式を下までオートフィルでコピーすると、入力漏れや手入力ミスを防げます。
テキスト関数のエラー対策と実務での注意点
続いては、テキスト関数を実務で使う際のエラー対策を確認していきます。
| 入力値 | 想定する問題 | 確認内容 |
|---|---|---|
| 2026/09/15 | 文字列の日付 | 日付値か確認 |
| ABC-123 | 全角記号 | 置換対象を確認 |
| 田中 太郎 | 全角空白 | SUBSTITUTEを使用 |
全角半角と見えない空白の確認
文字列が一致しない原因には、全角と半角の違いや見えにくい空白があります。
見た目が同じハイフンでも、文字コードが異なるとSUBSTITUTE関数で置換できないことがあります。
検索できない、VLOOKUP関数で一致しないといった問題では、不要な空白と文字種の違いを疑うことが重要です。
LEN関数で文字数を比較し、想定より長い場合は空白や不可視文字が含まれていないか確認しましょう。
数式コピー時の相対参照と絶対参照
数式をオートフィルすると、通常は参照先が行ごとに移動します。
これは相対参照と呼ばれる仕組みです。
一方、常に同じセルの書式や区切り文字を参照したい場合は、$記号を付けた絶対参照を使います。
=TEXT(A2,$E$1)
E1セルにyyyy/mm/ddのような書式文字列を入力しておけば、表示ルールを一か所で変更できます。
数式を下へコピーする前に、参照先が動くべきか固定すべきかを確認することが、修正作業を減らす近道です。
関数結果を値として貼り付ける場面
関数結果を別システムへ渡すときは、数式ではなく値だけを貼り付ける必要がある場合があります。
結果セルをコピーした後、貼り付け先で値の貼り付けを選ぶと、計算式を固定した文字列や数値として保存できます。
元データを更新しても提出済みの内容を変えたくない帳票では、有効な操作です。
【操作のポイント】値貼り付けを行う前に、数式が入った元のシートや元ファイルを残しておくと、後から条件変更があっても対応できます。
まとめ エクセルのテキスト関数の使い方(曜日・日付・文字列を整える方法)
エクセルのテキスト関数を使うと、文字列の抽出、空白や記号の置換、複数セルの結合、日付と曜日の表示を効率よく行えます。
先頭や末尾の文字を取り出すときはLEFT関数とRIGHT関数、途中の文字を取り出すときはMID関数を使います。
空白や記号を整えるときはTRIM関数とSUBSTITUTE関数、複数項目をつなげるときはCONCAT関数やTEXTJOIN関数が便利です。
日付や金額を読みやすい文字列に変える場合はTEXT関数、曜日を条件判定に使う場合はWEEKDAY関数を選びましょう。
特に元データ用の列と表示用の列を分けることを意識すると、計算しやすさと見やすさを両立できます。
まずは小さなサンプル表で数式を入力し、オートフィルで結果がどのように変化するか確認してみましょう。