KutoolsforOffice— 1 つのソリューション、5 つの強力なツール。少ない労力で大きな成果。

Excel でテキスト文字列から部分文字列を抽出する

著者Xiaoyang変更日

テキスト文字列から部分文字列を抽出する必要があるのはごく一般的な作業ですが、Excel にはそのための直接的な関数は用意されていません。しかし、LEFT 関数、RIGHT 関数、MID 関数、および SEARCH 関数を組み合わせることで、必要な部分文字列を自在に取り出すことができます。

doc-extract-substring-1


テキスト文字列から特定の文字数の部分文字列を抽出する

Excel では、LEFT 関数、RIGHT 関数、MID 関数を使えば、テキスト文字列の左端、右端、または任意の位置から指定した長さの部分文字列を簡単に抽出できます。

  • LEFT functionテキスト文字列の左端から部分文字列を抽出します。
  • RIGHT functionテキスト文字列の右側からテキストを抽出します。
  • MID functionテキスト文字列の中央から部分文字列を抽出します。

テキスト文字列の左側から部分文字列を抽出する:

LEFT 関数を使えば、テキスト文字列の先頭から指定した文字数(x 文字)を簡単に抽出できます。一般的な構文は次のとおりです:

=LEFT (text, [num_chars])
  • text:文字を抽出したいテキスト文字列です。
  • num_charsテキスト文字列の左端から抽出する文字数を指定します。

空白セルに次の数式を入力してください:

=LEFT(A2,3)

次に、この数式を適用したいセルまでフィルハンドルを下にドラッグすると、元のテキストから先頭の3 文字がすべて抽出されます(スクリーンショット参照)。

doc-extract-substring-2


テキスト文字列の右側から部分文字列を抽出する:

テキストの末尾から部分文字列を抽出するには、RIGHT 関数を使用してください:

=RIGHT (text, [num_chars])
  • text:文字を抽出したいテキスト文字列です。
  • num_charsテキスト文字列の右端から抽出する文字数を指定します。

たとえば、テキスト文字列から末尾の6 文字を抽出するには、以下の数式を空白セルに入力してください:

=RIGHT(A2,6)

その後、この数式を他の必要なセルにもコピーすれば、テキストの右端から6 文字すべてが抽出されます(スクリーンショット参照)。

doc-extract-substring-3


テキスト文字列の中央から部分文字列を抽出する:

テキストの中央から指定した文字数の部分文字列を抽出するには、MID 関数が便利です。

=MID (text, start_num, num_chars)
  • text:文字を抽出したいテキスト文字列です。
  • start_num:抽出を開始する最初の文字の位置です。
  • num_chars:抽出したい文字の総数です。

たとえば、テキスト文字列の7 番目の文字から3 文字を抽出するには、以下の数式を空白セルに入力してください:

=MID(A2,7,3)

その後、必要に応じてこの数式を適用したいセルまでフィルハンドルを下にドラッグすると、以下のような結果が得られます:

doc-extract-substring-4


テキスト文字列から特定の文字の前または後の部分文字列を抽出する

LEFT 関数、RIGHT 関数、および MID 関数は、一定の文字数からなる均一な部分文字列を抽出するのに便利ですが、可変長の部分文字列を抽出したい場合もあります。そのようなときは、より複雑な数式を組み合わせることで対応できます。

特定の文字の前の部分文字列を抽出する

特定の文字の前にあるすべての文字を抽出する場合、一般的な構文は次のとおりです:

=LEFT(text, SEARCH(char, text)-1)
  • text:文字を抽出したいテキスト文字列です。
  • char:部分文字列を抽出する際の基準となる特定の文字です。

たとえば、ハイフン文字の前にあるすべての文字を抽出したい場合は、次の数式を空白セルに適用してください:

=LEFT(A2, SEARCH("-",A2)-1)

次に、この数式を適用したいセルまでフィルハンドルを下にドラッグすると、ハイフンの前のすべての文字が以下のスクリーンショットのように抽出されます:

doc-extract-substring-5


数式の説明:
  • SEARCH("-",A2)-1この SEARCH 関数は、セル A2 内にあるハイフンの位置を検索し、その文字を含めないようにするために1 を引きます。この値は、LEFT 関数の num_chars 引数として使用されます。
  • LEFT(A2, SEARCH("-",A2)-1)この LEFT 関数は、セル A2 のテキストの先頭から、SEARCH 関数が返す位置の1 文字手前までを抽出します。

特定の文字の後の部分文字列を抽出する

特定の文字の後に続く部分文字列を抽出したい場合は、RIGHT 関数、LEN 関数、および SEARCH 関数が役立ちます。一般的な構文は次のとおりです:

=RIGHT(text,LEN(text)-SEARCH(char, text)
  • text:文字を抽出したいテキスト文字列です。
  • char:部分文字列を抽出する際の基準となる特定の文字です。

ハイフン文字の後の文字を抽出するには、以下の数式を適用してください:

=RIGHT(A2,LEN(A2)-SEARCH("-",A2))

その後、この数式を必要なセルにコピーすると、以下のような結果が得られます(スクリーンショットを参照):

doc-extract-substring-6


数式の説明:
  • SEARCH("-",A2):この SEARCH 関数は、セル A2 内にあるハイフン「-」の位置を検索するために使います。
  • LEN(A2)-SEARCH("-",A2)LEN 関数で取得したテキスト全体の長さから、SEARCH 関数で得られた「-」の位置を引くことで、特定の文字以降の文字数を算出します。この値は、RIGHT 関数の num_chars 引数として使用されます。
  • RIGHT()この RIGHT 関数は、セル A2 のテキスト文字列の末尾から指定された文字数を抽出するために使用されます。

2 つの特定の文字の間にある部分文字列を抽出する

2 つの指定された文字の間に含まれる部分文字列を抽出する必要がある場合は、以下の関数が役立つかもしれません。一般的な構文は次のとおりです。

=MID(text, SEARCH(char, text)+1, SEARCH (char, text, SEARCH (char, text)+1) - SEARCH (char, text)-1)
  • text:文字を抽出したいテキスト文字列です。
  • char:部分文字列を抽出する際の基準となる特定の文字です。

たとえば、2 つのハイフンの間に挟まれたテキストを抽出するには、次の数式をご利用ください。

=MID(A2, SEARCH("-",A2) + 1, SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)

次に、フィルハンドルを下にドラッグしてこの数式を他のセルに適用すると、以下のスクリーンショットのように結果が表示されます。

doc-extract-substring-7


数式の説明:
  • SEARCH("-",A2) + 1:SEARCH 関数はハイフンの位置を返し、それに1 を加えることで、ハイフンの次の文字から部分文字列を抽出できます。この値は MID 関数の start_num 引数として使用されます。
  • SEARCH("-",A2,SEARCH("-",A2)+1)この数式の一部は、ハイフン文字が2 回目に出現する位置を特定するために使用されます。
  • SEARCH("-",A2,SEARCH("-",A2)+1) - SEARCH("-",A2) - 1)2 つ目のハイフンの位置から1 つ目のハイフンの位置を引いて、その間にある文字数を求め、さらに区切り文字自体を含めないようにするため、結果から1 を引きます。この値は MID 関数の num_chars 引数として使用されます。
  • MID():この MID 関数は、上記の2 つの引数に基づいて部分文字列を抽出する際に使用されます。
  • doc-extract-substring-8

使用した関連関数:

  • LEFT
  • LEFT 関数は、テキスト文字列の先頭(左端)から指定された文字数を抽出します。
  • RIGHT
  • RIGHT 関数は、テキスト文字列の右端から指定された文字数分のテキストを返します。
  • MID
  • MID 関数は、テキスト文字列の任意の位置から指定した文字数を抽出します。
  • SEARCH
  • SEARCH 関数を使えば、指定されたテキスト内で特定の文字や部分文字列がどこにあるかを簡単に見つけられます。

関連記事:


最高の Office 生産性ツール

Kutools for Excel - あなたを群衆の中から際立たせます

🤖KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行     コード生成  カスタム数式作成    データ分析とチャート生成  拡張機能呼び出し
人気機能検索・ハイライト・重複をマーキング    空白行を削除する    データを失うことなく列の結合またはセルを    数式を使用しない四捨五入...
スーパー VLookup複数条件    複数値    複数シート間    ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト    連動型ドロップダウンリスト    複数選択可能なドロップダウンリスト...
列マネージャー指定した数の列を追加    列の移動   非表示列の表示状態を切り替え  列を比較して同じ/異なるセルを選択...
注目の機能グリッドフォーカス    デザインビュー    強化された数式バー    ワークブックとシートマネージャーリソースライブラリ(オートテキスト)  日付ピッカー    ワークシートの統合    暗号化/セルの復号化   リストからメール送信    スーパーフィルター    特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。
トップ15 ツールセット12 テキストツールテキストの追加特定の文字を削除...)  50+チャートタイプガントチャート...)  40+実用的な数式誕生日に基づいて年齢を計算します...)  19 挿入ツールQR コードを挿入パスから画像を挿入...)  12 変換ツール単語に変換する為替レートの変換...)  7 結合と分割ツール高度な行のマージExcel セルを分割...)。。。他にも多数
Kutools を好みの言語でお使いいただけます。英語、スペイン語、ドイツ語、フランス語、中国語、および40+言語以上をサポートしています!

Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…


Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします

  • 数十もの開いているドキュメントを1 秒で切り替えられます!
  • 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
  • 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
  • Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。