テキスト文字列から最初または最後の特定の文字より前または後のテキストを削除する
このチュートリアルでは、Excel でスペースやコンマなど、先頭または末尾の特定の文字より前または後のテキストを削除する方法をご紹介します。

テキスト文字列から最初の特定の文字より前または後のテキストを削除する
最初の特定の文字(スペースやコンマなど)より前のテキストを削除する
テキスト文字列から最初の特定の文字より前の部分を削除するには、RIGHT 関数、LEN 関数、および FIND 関数を組み合わせると便利です。一般的な構文は次のとおりです。
- cell:テキストを削除したいセルの参照またはテキスト文字列です。
- char:テキストを削除する基準となる特定の区切り文字です。
結果を表示したい空白セルに、以下の数式を入力またはコピーしてください。
次に、フィルハンドルを下方向にドラッグしてこの数式を適用したいセルまで伸ばすと、テキスト文字列から最初のスペースより前のすべてのテキストが削除されます(スクリーンショット参照)。

数式の説明:
1.LEN(A2)-FIND(「 」,A2):この部分は、RIGHT 関数で使用する文字数(num_chars)として認識されます。
- FIND(「 」,A2):FIND 関数は、最初のスペースの位置を取得するために使用され、数値11 を返します。
- LEN(A2):この LEN 関数は、セル A2 内の文字数を返します。結果は「27」になります。
- LEN(A2)-FIND(「 」,A2)=27-11:セル A2 の文字列全体の長さから最初のスペースの位置を引くことで、最初のスペース以降の文字数が求められます。
2. RIGHT(A2,LEN(A2)-FIND(「 」,A2))=RIGHT(A2, 16): 最後に、この RIGHT 関数はセル A2 のテキスト文字列の右端から16 文字を抽出します。
最初の特定の文字(スペースやコンマなど)より後のテキストを削除する
Excel では、LEFT 関数と FIND 関数を組み合わせることで、特定の文字より後のテキストを素早く削除できます。一般的な構文は次のとおりです。
- cell:テキストを削除したいセルの参照またはテキスト文字列です。
- char:テキストを削除する基準となる特定の区切り文字です。
以下の数式を空白セルに適用してください。
次に、フィルハンドルを下方向にドラッグしてこの数式をセルに適用すると、最初のスペース以降のテキストが一括で削除されます(スクリーンショット参照)。

数式の説明:
1.FIND(「 」,A2)-1:この FIND 関数は、セル A2 内にある最初のスペースの位置を特定し、そこから1 を引くことでスペース自体を含めないようにします。その結果、10 という値が得られ、これは LEFT 関数で使用する文字数(num_chars)として認識されます。
2. LEFT(A2,FIND(「 」,A2)-1)=LEFT(A2, 10):この LEFT 関数は、セル A2 のテキスト文字列の先頭から10 文字を抽出します。
テキスト文字列から最後の特定の文字より前または後のテキストを削除する
最後の特定の文字(スペースやコンマなど)より前のテキストを削除する
特定の文字より後ろの部分文字列のみを残し、それより前のすべてのテキストを削除したい場合は、RIGHT 関数、LEN 関数、SEARCH 関数、および SUBSTITUTE 関数が役立ちます。一般的な構文は次のとおりです。
- cell:テキストを削除したいセルの参照またはテキスト文字列です。
- char:テキストを削除する際の基準となる特定の区切り文字です。
このタスクを解決するには、次の数式を空白セルにコピーまたは入力してください。
次に、フィルハンドルをドラッグしてこの数式を必要なセルにコピーすると、最後のスペースより前のテキストがすべて削除され、最後のスペース以降のテキストだけが残ります。スクリーンショットをご確認ください。

数式の説明:
1. LEN(A2)-SEARCH(「#」,SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」)))):
- SUBSTITUTE(A2,「 」,「」):この SUBSTITUTE 関数は、セル A2 内のすべてのスペースを空文字に置き換え、次のような結果を返します。「Tom-Grade1HoustonTexasUS」。
- LEN(SUBSTITUTE(A2,「 」,「」)):この LEN 関数は、SUBSTITUTE 関数でスペースをすべて削除した後のテキスト文字列の文字数を返します。その結果、24 という数値が得られます。
- LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))=27-24:セル A2 の文字列全体の長さから、スペースを除いた文字数を引くことで、テキスト内のスペースの個数が求められます。その結果、数値「3」が得られます。
- SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」)))= SUBSTITUTE(A2,「 」,「#」, [[PH_42]]):この SUBSTITUTE 関数は、最後のスペースを「#」に置き換えるために使用され、次のような結果が得られます。「Tom-Grade1 Houston Texas#US」。
- SEARCH(「#」,SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))))= SEARCH(「#」, 「Tom-Grade1 Houston Texas#US」):この SEARCH 関数は、SUBSTITUTE 関数が返したテキスト文字列内で「#」文字の位置を検索します。その結果、数値25 が得られます。
- LEN(A2)-SEARCH(「#」,SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))))=27-25:セル A2 内のテキスト全体の長さから最後のスペースの位置を引くことで、最後のスペース以降の文字数が求められます。その結果、数値「2」が得られます。
2. RIGHT(A2,LEN(A2)-SEARCH(「#」,SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」)))))=RIGHT(A2, 2): 最後に、この RIGHT 関数でセル A2 のテキスト文字列の末尾から2 文字が抽出されます。
最後の特定の文字(スペースやカンマなど)以降のテキストを削除する
特定の文字以降のテキストを削除するには、LEFT 関数、FIND 関数、SUBSTITUTE 関数、LEN 関数を組み合わせて使用できます。一般的な構文は次のとおりです。
- cell:テキストを削除したいセルの参照またはテキスト文字列です。
- char:テキストを削除する基準となる特定の区切り文字です。
次の数式を空白セルに入力するか、コピーしてください。
次に、フィルハンドルを下方向にドラッグしてこの数式を適用したいセルにコピーすると、以下のスクリーンショットのように結果が表示されます。

数式の説明:
1. FIND(「#」,SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))))-1:
- SUBSTITUTE(A2,「 」,「」):この SUBSTITUTE 関数は、セル A2 内のすべてのスペースを空文字に置き換えます。その結果、「Tom-Grade1HoustonTexasUS」のような文字列が得られます。
- LEN(SUBSTITUTE(A2,「 」,「」)):この LEN 関数は、SUBSTITUTE 関数でスペースをすべて削除した後のテキスト文字列の文字数を返します。その結果、24 という数値が得られます。
- LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))=27-24:セル A2 の文字列全体の長さから、スペースを除いた文字数を引くことで、テキスト内のスペースの個数が求められます。その結果、3 という数値が得られます。
- SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」)))= SUBSTITUTE(A2,「 」,「#」, [[PH_53]]):この SUBSTITUTE 関数は、最後のスペースを「#」に置き換えるために使用され、次のような結果が得られます。「Tom-Grade1 Houston Texas#US」。
- FIND(「#」,SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))))-1=FIND(「#」, 「Tom-Grade1 Houston Texas#US 」)-1=25-1:この FIND 関数は、SUBSTITUTE 関数で変換されたテキスト文字列内から特定の「#」文字の位置を特定し、そこから1 を引くことで末尾のスペースを除外します。その結果、数値24 が得られます。
2. LEFT(A2,FIND(「#」,SUBSTITUTE(A2,「 」,「#」,LEN(A2)-LEN(SUBSTITUTE(A2,「 」,「」))))-1)=LEFT(A2, 24): 最後に、この LEFT 関数でセル A2 のテキスト文字列の先頭から24 文字が抽出されます。
使用した関連関数:
- LEFT:
- LEFT 関数は、指定した文字列の先頭(左端)から、指定した文字数だけ抽出します。
- RIGHT:
- RIGHT 関数は、テキスト文字列の右端から指定した文字数を抽出する際に使用します。
- FIND:
- FIND 関数は、指定した文字列が別の文字列内に含まれているかを検索し、その出現位置(先頭からの文字数)を返します。
- SEARCH:
- SEARCH 関数は、指定されたテキスト文字列内から特定の文字や部分文字列の位置を検索するのに役立ちます。
- SUBSTITUTE:
- Excel の SUBSTITUTE 関数は、テキスト文字列内の指定した文字や語句を、別の文字や語句に置き換えます。
- LEN:
- LEN 関数は、テキスト文字列に含まれる文字数を返します。
関連記事:
- 内容と一致させてセルからテキストを削除する
- この記事では、SUBSTITUTE 関数を使って、指定されたセル内のテキスト文字列から特定の内容に一致する部分を削除する方法をご紹介します。
- テキスト文字列から数値以外の文字を削除または除去する
- テキスト文字列から数値以外のすべての文字を削除し、下記のスクリーンショットのように数値だけを抽出したい場合があります。この記事では、Excel でこのタスクを実現するためのいくつかの数式をご紹介します。
- テキスト文字列から数値を削除または除去する
- テキスト文字列のリストから数値のみを削除し、数値以外の文字をすべて保持したい場合は、Excel のいくつかの数式が役立ちます。
- 特定の位置に基づいてセルからテキストを削除する
- このチュートリアルでは、Excel で特定の位置に基づいてセル内のテキストを削除する数式の使い方をご紹介します。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。