※本ページにはプロモーション(広告)が含まれています
【2026年最新版】Excelの文字列関数まとめ(LEFT/RIGHT/MID/CONCAT/TEXT)【完全ガイド】
Excelでデータ整理をしていると、「セルの中の文字列から一部だけ取り出したい」「複数のセルの文字を1つにつなげたい」「数値を特定の書式で表示したい」といった場面に頻繁に出会いますよね。
たとえば、顧客コードの先頭3文字だけを抽出したい、氏名の「姓」と「名」を結合したい、日付データを「2026年3月17日」のように見やすく整えたいなど、文字列操作のニーズは日常業務で非常に多く発生します。
しかし、Excelには文字列関数が数多くあり、「どの関数を使えばいいかわからない」「引数の指定方法が合っているか不安」という方も多いのではないでしょうか。
この記事では、Excelの文字列操作で最も使用頻度の高い5つの関数(LEFT・RIGHT・MID・CONCAT・TEXT)を中心に、基本的な使い方から実務で役立つ応用テクニックまで徹底的に解説します。初心者の方でもすぐに使えるよう、具体的な数式と操作手順をステップ形式で説明しますので、ぜひ最後まで読んでみてください。

この記事でわかること
- LEFT・RIGHT・MID関数で文字列の一部を自在に取り出す方法
- CONCAT関数(旧CONCATENATE)で複数の文字列を結合するテクニック
- TEXT関数で数値や日付を好きな表示形式に変換する方法
- LEN・FIND・SUBSTITUTE・TRIMなど関連する文字列関数の使い方
- 実務で役立つ文字列関数の組み合わせパターン(住所分割・電話番号整形など)
- よくあるエラーの原因と対処法
- よくある質問と回答(10問)
Excelの文字列関数とは?基礎知識を押さえよう
Excelの文字列関数とは、セルに入力されたテキスト(文字列)を加工・変換するための関数群のことです。数値計算にSUMやAVERAGEを使うように、文字列の操作にはLEFT・RIGHT・MID・CONCATなどの専用関数を使います。
文字列関数が必要になる場面
日常業務でExcelを使っていると、以下のような場面で文字列関数が必要になります。
- データの抽出:商品コードの先頭3桁だけを取り出したい
- データの結合:姓と名を1つのセルにまとめたい
- 書式の変換:日付を「2026/03/17」から「2026年3月17日」に変えたい
- データのクレンジング:余分なスペースを削除したい、全角を半角に統一したい
- 条件に応じた加工:特定の文字が含まれるかチェックして処理を分けたい
これらの操作を手作業で行うと時間がかかるうえにミスも起きやすいですが、文字列関数を使えば一瞬で正確に処理できます。
主要な文字列関数の一覧
Excelには多くの文字列関数がありますが、まずは以下の主要な関数を覚えておけば、ほとんどの文字列操作に対応できます。
| 関数名 | 機能 | 使用例 |
|---|---|---|
| LEFT | 文字列の左端から指定した文字数を取り出す | =LEFT(“Excel”,2) → “Ex” |
| RIGHT | 文字列の右端から指定した文字数を取り出す | =RIGHT(“Excel”,3) → “cel” |
| MID | 文字列の途中から指定した文字数を取り出す | =MID(“Excel”,2,3) → “xce” |
| CONCAT | 複数の文字列を結合する | =CONCAT(“A”,”B”) → “AB” |
| TEXT | 数値を指定した書式の文字列に変換する | =TEXT(1234,”#,##0″) → “1,234” |
| LEN | 文字列の文字数を返す | =LEN(“Excel”) → 5 |
| FIND | 指定した文字の位置を返す(大文字小文字を区別) | =FIND(“c”,”Excel”) → 3 |
| SUBSTITUTE | 文字列内の特定の文字を別の文字に置換する | =SUBSTITUTE(“ABC”,”B”,”X”) → “AXC” |
| TRIM | 余分なスペースを削除する | =TRIM(” A B “) → “A B” |
| UPPER / LOWER | 大文字/小文字に変換する | =UPPER(“excel”) → “EXCEL” |
それでは、特に重要な5つの関数(LEFT・RIGHT・MID・CONCAT・TEXT)について、詳しく解説していきます。
LEFT関数:左端から文字を取り出す
LEFT関数は、文字列の先頭(左端)から指定した文字数分だけ取り出す関数です。商品コードの先頭部分や郵便番号の上3桁など、文字列の「先頭から○文字」を抽出したいときに使います。
LEFT関数の基本構文
=LEFT(文字列, 文字数)
| 引数 | 説明 | 必須/省略可 |
|---|---|---|
| 文字列 | 取り出し元の文字列またはセル参照 | 必須 |
| 文字数 | 左端から取り出す文字数(省略すると1) | 省略可 |
LEFT関数の使い方(ステップ形式)
ステップ1:数式を入力するセルを選択する
結果を表示したいセル(例:B2)をクリックして選択します。
ステップ2:LEFT関数の数式を入力する
セルに以下の数式を入力します。A2に「東京都新宿区」と入力されている場合を例にします。
=LEFT(A2, 3)
ステップ3:Enterキーで確定する
結果として「東京都」が表示されます。左端から3文字が取り出されました。
LEFT関数の実践例
| 元のデータ(A列) | 数式 | 結果 | 用途 |
|---|---|---|---|
| PRD-2026-001 | =LEFT(A2, 3) | PRD | 商品コードの種別を抽出 |
| 150-0001 | =LEFT(A3, 3) | 150 | 郵便番号の上3桁を抽出 |
| 2026/03/17 | =LEFT(A4, 4) | 2026 | 日付文字列から年を抽出 |
| ABC株式会社 | =LEFT(A5, 3) | ABC | 会社名の略称を取り出す |
LEFT関数の注意点
- 文字数に0を指定すると空文字(””)が返ります。エラーにはなりませんが意図しない結果になることがあります。
- 文字数が元の文字列の長さより大きい場合、エラーにはならず元の文字列全体が返ります。
- 数値が入力されているセルに使用すると、数値が文字列として扱われます。たとえば、セルに12345が入っている場合、=LEFT(A1,2) は「12」を返します。
- 日付データに直接LEFT関数を使うと、日付のシリアル値(数字)が対象になるため、意図した結果にならないことがあります。先にTEXT関数で文字列に変換しましょう。
RIGHT関数:右端から文字を取り出す
RIGHT関数は、文字列の末尾(右端)から指定した文字数分だけ取り出す関数です。LEFT関数とは反対方向に文字を抽出します。ファイルの拡張子や電話番号の下4桁など、末尾の情報を取得したいときに便利です。
RIGHT関数の基本構文
=RIGHT(文字列, 文字数)
| 引数 | 説明 | 必須/省略可 |
|---|---|---|
| 文字列 | 取り出し元の文字列またはセル参照 | 必須 |
| 文字数 | 右端から取り出す文字数(省略すると1) | 省略可 |
RIGHT関数の使い方(ステップ形式)
ステップ1:数式を入力するセルを選択する
結果を表示したいセル(例:B2)をクリックします。
ステップ2:RIGHT関数の数式を入力する
A2に「report_2026.xlsx」と入力されている場合を例にします。
=RIGHT(A2, 4)
ステップ3:Enterキーで確定する
結果として「xlsx」が表示されます。右端から4文字が取り出されました。
RIGHT関数の実践例
| 元のデータ(A列) | 数式 | 結果 | 用途 |
|---|---|---|---|
| 090-1234-5678 | =RIGHT(A2, 4) | 5678 | 電話番号の下4桁を抽出 |
| INV-2026-0315 | =RIGHT(A3, 4) | 0315 | 請求書番号の連番部分を抽出 |
| document.pdf | =RIGHT(A4, 3) | ファイル拡張子を取り出す | |
| 東京都新宿区西新宿2-8-1 | =RIGHT(A5, 5) | 2-8-1 | 住所の番地部分を抽出 |

RIGHT関数の注意点
- LEFT関数と同様に、日付データに直接使用すると意図した結果にならないことがあります。TEXT関数と組み合わせて使いましょう。
- 文字数の指定を省略した場合は右端の1文字だけが返ります。
- 抽出したい部分の文字数が固定でない場合は、LEN関数やFIND関数と組み合わせることで柔軟に対応できます(後述の応用テクニックで詳しく解説します)。
MID関数:文字列の途中から取り出す
MID関数は、文字列の指定した位置から指定した文字数分だけ取り出す関数です。LEFT関数とRIGHT関数が「先頭から」「末尾から」だったのに対し、MID関数は任意の位置から抽出できるため、最も柔軟性の高い抽出関数です。
MID関数の基本構文
=MID(文字列, 開始位置, 文字数)
| 引数 | 説明 | 必須/省略可 |
|---|---|---|
| 文字列 | 取り出し元の文字列またはセル参照 | 必須 |
| 開始位置 | 取り出し開始位置(1から始まる) | 必須 |
| 文字数 | 取り出す文字数 | 必須 |
MID関数の使い方(ステップ形式)
ステップ1:数式を入力するセルを選択する
結果を表示したいセル(例:B2)をクリックします。
ステップ2:MID関数の数式を入力する
A2に「PRD-2026-001」と入力されている場合、ハイフンの間の「2026」を取り出すには以下のように入力します。
=MID(A2, 5, 4)
ステップ3:Enterキーで確定する
結果として「2026」が表示されます。5文字目(2)から4文字分が取り出されました。
MID関数の実践例
| 元のデータ(A列) | 数式 | 結果 | 用途 |
|---|---|---|---|
| PRD-2026-001 | =MID(A2, 5, 4) | 2026 | コードから年度を抽出 |
| 090-1234-5678 | =MID(A3, 5, 4) | 1234 | 電話番号の中間4桁を抽出 |
| A1B2C3D4E5 | =MID(A4, 3, 2) | B2 | 文字列の中間部分を取得 |
| 田中 太郎 | =MID(A5, 4, 2) | 太郎 | 氏名から名前を抽出 |
MID関数で覚えておくべきポイント
- 開始位置は1から始まります。プログラミング言語のように0から始まるわけではないので注意してください。
- 開始位置が文字列の長さを超えている場合、空文字(””)が返ります。
- 文字数が残りの文字数より多い場合、開始位置から末尾までの文字が返ります(エラーにはなりません)。
- MID関数の開始位置をFIND関数やSEARCH関数と組み合わせることで、可変長の文字列にも対応できます。
CONCAT関数:文字列を結合する
CONCAT関数は、複数の文字列やセルの値を1つにつなげる関数です。Excel 2019以降で使用できる関数で、それ以前のバージョンではCONCATENATE関数が同じ役割を果たします。
姓と名を結合して氏名にしたり、住所の各パーツを1つにまとめたりする場面で非常に便利です。
CONCAT関数の基本構文
=CONCAT(テキスト1, テキスト2, ...)
| 引数 | 説明 | 必須/省略可 |
|---|---|---|
| テキスト1 | 結合する最初の文字列またはセル参照 | 必須 |
| テキスト2, … | 結合する追加の文字列(最大253個) | 省略可 |
CONCAT関数の使い方(ステップ形式)
ステップ1:結合したいデータを確認する
たとえば、A2に「田中」、B2に「太郎」と入力されているとします。
ステップ2:CONCAT関数の数式を入力する
C2セルに以下の数式を入力します。間にスペースを入れたい場合は文字列として” “を追加します。
=CONCAT(A2, " ", B2)
ステップ3:Enterキーで確定する
結果として「田中 太郎」が表示されます。
CONCAT関数とCONCATENATE関数の違い
| 項目 | CONCAT | CONCATENATE |
|---|---|---|
| 対応バージョン | Excel 2019以降、Microsoft 365 | 全バージョン(互換性あり) |
| セル範囲の指定 | 可能(例:=CONCAT(A1:A5)) | 不可(セルを1つずつ指定する必要あり) |
| 将来性 | 推奨(現行関数) | 非推奨(将来廃止の可能性あり) |
| 引数の最大数 | 253個 | 255個 |
ポイント:新しくExcelファイルを作成する場合はCONCAT関数を使いましょう。ただし、古いバージョンのExcelと互換性を保つ必要がある場合はCONCATENATE関数を使用してください。
「&(アンパサンド)」演算子との使い分け
Excelでは「&」演算子を使っても文字列を結合できます。
=A2 & " " & B2
結果は =CONCAT(A2, ” “, B2) と同じです。どちらを使っても構いませんが、以下のように使い分けると便利です。
- 結合する項目が2〜3個の場合:「&」演算子の方が簡潔で読みやすい
- 結合する項目が多い場合:CONCAT関数でセル範囲を指定した方が効率的
- 他の関数と組み合わせる場合:CONCAT関数の方がネスト(入れ子)にしやすい
CONCAT関数の実践例
| 用途 | 数式 | 結果例 |
|---|---|---|
| 氏名の結合 | =CONCAT(A2, ” “, B2) | 田中 太郎 |
| 住所の結合 | =CONCAT(A2, B2, C2) | 東京都新宿区西新宿2-8-1 |
| メールアドレスの生成 | =CONCAT(A2, “@”, B2) | tanaka@example.com |
| ファイルパスの作成 | =CONCAT(A2, “\”, B2, “.xlsx”) | C:\Data\report.xlsx |
| セル範囲の一括結合 | =CONCAT(A1:A5) | ABCDE(A1〜A5の値を全結合) |
TEXTJOIN関数:区切り文字を挟んで結合する
CONCAT関数の発展形として、TEXTJOIN関数も覚えておくと非常に便利です。TEXTJOIN関数は、指定した区切り文字を挟んで文字列を結合できます。
=TEXTJOIN(区切り文字, 空セル無視, テキスト1, テキスト2, ...)
たとえば、A1:A5に「りんご」「みかん」「ぶどう」「バナナ」「いちご」と入っている場合:
=TEXTJOIN("、", TRUE, A1:A5)
結果は「りんご、みかん、ぶどう、バナナ、いちご」になります。CONCAT関数だと区切り文字を1つずつ手動で入れる必要がありますが、TEXTJOIN関数なら一度の指定で済みます。
TEXT関数:数値を指定した書式に変換する
TEXT関数は、数値や日付データを指定した表示形式の文字列に変換する関数です。「セルの書式設定」と似た機能ですが、TEXT関数は他の関数と組み合わせて使えるのが大きな利点です。
TEXT関数の基本構文
=TEXT(値, 表示形式)
| 引数 | 説明 | 必須/省略可 |
|---|---|---|
| 値 | 変換する数値またはセル参照 | 必須 |
| 表示形式 | 書式コード(ダブルクォーテーションで囲む) | 必須 |
よく使う表示形式コード一覧
TEXT関数で最も重要なのが、第2引数の「表示形式コード」です。以下に実務でよく使うコードをまとめます。
| 表示形式コード | 説明 | 入力値 | 結果 |
|---|---|---|---|
| “0” | 整数表示 | 1234.5 | 1235 |
| “0.00” | 小数点以下2桁 | 1234.5 | 1234.50 |
| “#,##0” | 3桁カンマ区切り | 1234567 | 1,234,567 |
| “#,##0円” | カンマ区切り+円 | 1234567 | 1,234,567円 |
| “0%” | パーセント表示 | 0.85 | 85% |
| “0.0%” | パーセント(小数1桁) | 0.856 | 85.6% |
| “yyyy/mm/dd” | 日付(スラッシュ区切り) | 日付値 | 2026/03/17 |
| “yyyy年m月d日” | 日付(日本語) | 日付値 | 2026年3月17日 |
| “aaaa” | 曜日(日本語) | 日付値 | 火曜日 |
| “aaa” | 曜日(短縮) | 日付値 | 火 |
| “hh:mm” | 時刻(時:分) | 時刻値 | 14:30 |
| “000” | ゼロ埋め3桁 | 7 | 007 |
TEXT関数の使い方(ステップ形式)
ステップ1:変換したいデータを確認する
A2に日付データ(2026/3/17)が入力されているとします。
ステップ2:TEXT関数の数式を入力する
B2セルに以下の数式を入力します。
=TEXT(A2, "yyyy年m月d日(aaa)")
ステップ3:Enterキーで確定する
結果として「2026年3月17日(火)」が表示されます。

TEXT関数の実践例
| 用途 | 数式 | 結果例 |
|---|---|---|
| 請求書の金額表示 | =TEXT(A2, “#,##0円”) | 1,234,567円 |
| 日付と曜日の表示 | =TEXT(A2, “m月d日(aaa)”) | 3月17日(火) |
| 連番のゼロ埋め | =TEXT(A2, “0000”) | 0042 |
| 達成率の表示 | =TEXT(A2, “0.0%”) | 85.6% |
| CONCATとの組み合わせ | =CONCAT(“納期:”, TEXT(A2, “yyyy年m月d日”)) | 納期:2026年3月17日 |
TEXT関数の注意点
- TEXT関数の結果は「文字列」です。見た目は数値に見えても、数値として計算には使えません。計算に使う場合はVALUE関数で数値に戻す必要があります。
- 表示形式コードは必ずダブルクォーテーション(””)で囲みます。囲まないとエラーになります。
- 日本語の曜日は「aaa」(短縮)か「aaaa」(完全)です。英語の曜日は「ddd」(Mon)か「dddd」(Monday)を使います。
関連する文字列関数:LEN・FIND・SUBSTITUTE・TRIM
LEFT・RIGHT・MID・CONCAT・TEXTの5大関数に加えて、以下の関数を組み合わせることで、さらに高度な文字列操作が可能になります。
LEN関数:文字数をカウントする
=LEN(文字列)
セル内の文字数を返します。データのバリデーション(入力チェック)や、RIGHT関数・MID関数と組み合わせた動的な文字抽出に使います。
使用例:
=LEN("Excelの関数") → 7
=LEN(A2) → A2の文字数を返す
FIND関数:文字の位置を検索する
=FIND(検索文字, 対象文字列, [開始位置])
文字列の中から特定の文字が何番目にあるかを返します。大文字と小文字を区別します。区別したくない場合はSEARCH関数を使ってください。
使用例:
=FIND("@", "user@example.com") → 5
=FIND("-", "PRD-2026-001") → 4
ポイント:指定した文字が見つからない場合は #VALUE! エラーが返ります。IFERROR関数と組み合わせてエラー処理をするのがおすすめです。
SUBSTITUTE関数:文字を置換する
=SUBSTITUTE(文字列, 検索文字, 置換文字, [置換対象])
文字列内の特定の文字を別の文字に置き換えます。第4引数の「置換対象」を省略すると、該当するすべての箇所が置換されます。
使用例:
=SUBSTITUTE("090-1234-5678", "-", "") → "09012345678"
=SUBSTITUTE("A-B-C", "-", "/") → "A/B/C"
=SUBSTITUTE("A-B-C", "-", "/", 1) → "A/B-C"(最初の1つだけ置換)
TRIM関数:余分なスペースを削除する
=TRIM(文字列)
文字列の先頭・末尾のスペースを削除し、文字間の連続スペースを1つにまとめます。他システムからコピーしたデータの整形に非常に便利です。
使用例:
=TRIM(" 田中 太郎 ") → "田中 太郎"
UPPER・LOWER・PROPER関数:大文字・小文字の変換
| 関数 | 機能 | 使用例 | 結果 |
|---|---|---|---|
| UPPER | 全て大文字に変換 | =UPPER(“excel”) | EXCEL |
| LOWER | 全て小文字に変換 | =LOWER(“EXCEL”) | excel |
| PROPER | 各単語の先頭を大文字に | =PROPER(“john smith”) | John Smith |
実務で使える文字列関数の組み合わせテクニック
ここからは、複数の文字列関数を組み合わせた実務で役立つ応用テクニックを紹介します。これらのパターンを覚えておくと、さまざまなデータ加工に対応できるようになります。
テクニック1:メールアドレスから「@」より前を抽出する
メールアドレスからユーザー名部分(@の前)を取り出すには、LEFT関数とFIND関数を組み合わせます。
=LEFT(A2, FIND("@", A2) - 1)
仕組み:
- FIND(“@”, A2) で「@」の位置を取得(例:5)
- 5 – 1 = 4(@の1つ手前まで)
- LEFT(A2, 4) で先頭から4文字を取り出す
A2が「user@example.com」の場合、結果は「user」になります。
テクニック2:メールアドレスから「@」より後を抽出する
ドメイン部分(@の後ろ)を取り出すには、MID関数とFIND関数、LEN関数を組み合わせます。
=MID(A2, FIND("@", A2) + 1, LEN(A2))
仕組み:
- FIND(“@”, A2) で「@」の位置を取得(例:5)
- 5 + 1 = 6(@の次の文字から)
- LEN(A2) で十分大きな文字数を指定(末尾まで取り出す)
- MID(A2, 6, 16) で6文字目から末尾まで取り出す
A2が「user@example.com」の場合、結果は「example.com」になります。
テクニック3:氏名を姓と名に分割する(スペース区切り)
「田中 太郎」のようにスペースで区切られた氏名を、姓と名に分ける方法です。
姓(スペースより前)の抽出:
=LEFT(A2, FIND(" ", A2) - 1)
名(スペースより後)の抽出:
=MID(A2, FIND(" ", A2) + 1, LEN(A2))
テクニック4:電話番号のハイフンを除去して数字だけにする
=SUBSTITUTE(A2, "-", "")
「090-1234-5678」が「09012345678」になります。ハイフンをすべて空文字に置換しています。
テクニック5:ファイル名から拡張子を取り出す
ファイル名に含まれる「.(ドット)」の位置を基準に、拡張子部分を抽出します。
=MID(A2, FIND(".", A2) + 1, LEN(A2))
「report.xlsx」の場合、結果は「xlsx」になります。
テクニック6:日付と文字列を結合して文章を作る
日付データを文字列に変換してから結合する必要があります。直接CONCATで結合するとシリアル値(数字)になってしまうため、TEXT関数を挟みます。
=CONCAT("提出期限は", TEXT(A2, "yyyy年m月d日"), "です。")
結果:「提出期限は2026年3月17日です。」
テクニック7:商品コードの各部分を分解する
「PRD-2026-0315」のようなコードを、種別(PRD)・年度(2026)・連番(0315)に分割する方法です。
種別:=LEFT(A2, FIND("-", A2) - 1) → "PRD"
年度:=MID(A2, FIND("-", A2) + 1, 4) → "2026"
連番:=RIGHT(A2, LEN(A2) - FIND("-", A2, FIND("-", A2) + 1)) → "0315"
連番の数式が少し複雑ですが、2番目のハイフンの位置を「FIND関数のネスト」で取得しています。FIND関数の第3引数に「最初のハイフンの次の位置」を指定することで、2番目のハイフンを検索しています。
テクニック8:IFERROR関数と組み合わせてエラーを回避する
FIND関数は検索文字が見つからない場合に #VALUE! エラーを返します。これを防ぐためにIFERROR関数で囲みましょう。
=IFERROR(LEFT(A2, FIND("@", A2) - 1), "メールアドレスではありません")
@が含まれていない場合は「メールアドレスではありません」と表示され、エラーが出なくなります。
文字列関数でよくあるエラーと対処法
文字列関数を使っていると、思わぬエラーに遭遇することがあります。ここでは代表的なエラーとその対処法を解説します。
#VALUE! エラー
原因:FIND関数で検索文字が見つからない、引数の型が不正、文字数に負の値を指定したなど。
対処法:
- IFERROR関数で囲んでエラー時の代替値を設定する
- FIND関数の代わりにSEARCH関数を試す(大文字小文字を区別しない)
- 引数に指定している値やセル参照を確認する
#NAME? エラー
原因:関数名のスペルミス、CONCAT関数がサポートされていないバージョンのExcelで使用しようとしたなど。
対処法:
- 関数名のスペルを確認する(CONCATとCONCATENATEは別物)
- Excel 2016以前を使っている場合は、CONCATの代わりにCONCATENATEを使用する
- Excelのバージョンを確認する(ファイル → アカウント → バージョン情報)
数値が文字列として扱われてしまう
原因:LEFT・RIGHT・MID関数の結果は常に「文字列」です。抽出した数字を計算に使おうとするとエラーになることがあります。
対処法:
- VALUE関数で数値に変換する:
=VALUE(LEFT(A2, 4)) - 結果に「*1」を掛けて暗黙的に数値に変換する:
=LEFT(A2, 4) * 1 - 結果に「+0」を足して数値に変換する:
=LEFT(A2, 4) + 0
日付がシリアル値(数字5桁)になってしまう
原因:日付セルに対してLEFT・RIGHT・MID関数を使うと、内部的な日付シリアル値が対象になります。
対処法:
- まずTEXT関数で日付を文字列に変換してからLEFT・MID・RIGHT関数を使う
- 例:
=LEFT(TEXT(A2, "yyyy/mm/dd"), 4)→ 年の4桁を取得 - 日付の年・月・日を取り出す場合は、YEAR・MONTH・DAY関数の方が適切です
よくある質問(FAQ)
Q1:LEFT関数とLEFTB関数の違いは何ですか?
LEFT関数は文字数を基準に取り出しますが、LEFTB関数はバイト数を基準に取り出します。日本語(全角文字)は1文字あたり2バイトとして計算されるため、日本語を含むデータでは結果が異なることがあります。一般的にはLEFT関数を使えば問題ありません。RIGHTB、MIDBも同様にバイト数基準の関数です。
Q2:CONCAT関数が使えません。#NAME?エラーが出ます。
CONCAT関数はExcel 2019以降およびMicrosoft 365で使用できます。それ以前のバージョン(Excel 2016など)では対応していないため、代わりにCONCATENATE関数を使用してください。数式の書き方はほぼ同じですが、CONCATENATE関数ではセル範囲(A1:A5のような指定)は使えない点に注意してください。
Q3:全角文字と半角文字の変換はどうすればいいですか?
ASC関数で全角を半角に、JIS関数で半角を全角に変換できます。たとえば、=ASC(“Excel”) は “Excel”(半角)を返します。カタカナの全角・半角変換にも使えるので、データクレンジングで非常に重宝します。
Q4:TEXT関数で「令和」などの和暦で表示できますか?
はい、できます。表示形式コードに "[$-ja-JP-x-gannen]ggge年m月d日" を使うと和暦表示になります。たとえば、2026年3月17日の場合は「令和8年3月17日」と表示されます。ただし、この書式コードはExcelのバージョンやロケール設定によって動作が異なる場合があるため、事前にテストすることをおすすめします。
Q5:SUBSTITUTEとREPLACEの違いは何ですか?
SUBSTITUTE関数は「文字列」を指定して置換します(例:「-」をすべて削除)。一方、REPLACE関数は「位置と文字数」を指定して置換します(例:3文字目から2文字を”XX”に置換)。文字の「内容」で置換したい場合はSUBSTITUTE、文字の「位置」で置換したい場合はREPLACEを使うと覚えてください。
Q6:文字列の中に特定の文字が含まれているか判定するには?
FIND関数をISERROR関数と組み合わせて判定できます。=IF(ISERROR(FIND("検索語", A2)), "含まれない", "含まれる") という数式を使います。Excel 2019以降であれば、IFERROR関数を使って =IFERROR(FIND("検索語", A2), 0) > 0 とする方法もシンプルです。また、COUNTIF関数で =COUNTIF(A2, "*検索語*") と書く方法もあります。
Q7:複数のセルにまたがるデータを一括で結合する方法は?
CONCAT関数でセル範囲を指定する方法(=CONCAT(A1:A10))が最も簡単です。区切り文字を入れたい場合はTEXTJOIN関数を使います。=TEXTJOIN(",", TRUE, A1:A10) とすれば、カンマ区切りで結合できます。第2引数のTRUEは空セルを無視する設定です。
Q8:LEFT関数で取り出した値を数値として使いたいのですが?
LEFT・RIGHT・MID関数の結果は文字列型です。数値として使うにはVALUE関数で変換してください。=VALUE(LEFT(A2, 4)) のように書けば数値として扱えます。別の方法として、=LEFT(A2, 4) * 1 や =LEFT(A2, 4) + 0 と演算を加えても数値に変換できます。
Q9:スペースが全角か半角か見分ける方法はありますか?
LEN関数とLENB関数の結果を比較することで判別できます。半角スペースはLEN=1、LENB=1ですが、全角スペースはLEN=1、LENB=2になります。=IF(LENB(A2) > LEN(A2), "全角文字を含む", "半角のみ") で確認できます。全角スペースを半角に統一したい場合は =SUBSTITUTE(A2, " ", " ")(全角スペースを半角スペースに置換)を使います。
Q10:文字列関数を使った結果を「値のみ貼り付け」する方法は?
文字列関数で処理したデータを固定値として保存するには、以下の手順を行います。(1) 関数が入力されたセル範囲をコピー(Ctrl+C)、(2) 同じ範囲を選択した状態でCtrl+Alt+Vを押す、(3)「値」を選択してOKをクリック。これで関数の結果が固定の文字列に変わり、元データを変更しても影響を受けなくなります。元データの列が不要になった場合に安全に削除できるようになります。
まとめ
この記事では、Excelの文字列操作で特に重要な5つの関数(LEFT・RIGHT・MID・CONCAT・TEXT)を中心に、基本的な使い方から実務で役立つ応用テクニックまでを解説しました。
最後に、各関数のポイントをまとめておきます。
| 関数 | 主な用途 | 覚えておくポイント |
|---|---|---|
| LEFT | 先頭から文字を取り出す | 商品コードの種別、郵便番号の上3桁など |
| RIGHT | 末尾から文字を取り出す | 電話番号の下4桁、ファイル拡張子など |
| MID | 途中から文字を取り出す | 開始位置は「1」から。FIND関数との組み合わせが強力 |
| CONCAT | 文字列を結合する | Excel 2019以降対応。セル範囲指定が可能 |
| TEXT | 書式を指定して文字列に変換 | 結果は文字列。日付・金額の表示整形に最適 |
文字列関数は、単独で使うだけでなく複数の関数を組み合わせることで真価を発揮します。特にFIND関数との組み合わせは非常に強力で、固定長でないデータにも柔軟に対応できるようになります。
まずは基本の5つの関数を実際のデータで試してみて、慣れてきたら応用テクニックにも挑戦してみてください。文字列関数を使いこなせるようになれば、Excelでのデータ整理・加工の効率が格段に上がるはずです。
minto.tech スマホ(Android/iPhone)・PC(Mac/Windows)の便利情報をお届け! 月間アクセス160万PV!スマートフォン、タブレット、パソコン、地デジに関する素朴な疑問や、困ったこと、ノウハウ、コツなどが満載のお助け記事サイトはこちら!