メインコンテンツへスキップ

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

Author: Xiaoyang Last Modified: 2025-05-23

テキスト文字列から部分文字列を抽出する必要があるのは一般的な作業かもしれませんが、Excelにはこれを直接行う関数はありません。しかし、LEFT、RIGHT、MID、SEARCH関数を使用することで、必要な部分文字列を抽出できます。

doc-extract-substring-1


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

Excelでは、LEFT、RIGHT、MID関数を使用して、テキスト文字列の左端、右端、または中央から指定された長さの部分文字列を抽出できます。

  • LEFT関数: テキスト文字列の左側から部分文字列を抽出します。
  • RIGHT関数: テキスト文字列の右側からテキストを抽出します。
  • MID関数: テキスト文字列の中間から部分文字列を抽出します。

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

LEFT関数を使用すると、テキスト文字列から最初のx文字を抽出できます。一般的な構文は次のとおりです:

=LEFT(テキスト, [文字数])
  • text: 抽出したい文字列が含まれるテキスト文字列。
  • num_chars: テキスト文字列の左側から抽出したい文字数。

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

=LEFT(A2,3)

次に、この数式を適用したいセルまでフィルハンドルをドラッグすると、元のテキストから最初の3文字がすべて抽出されます。スクリーンショットをご覧ください:

doc-extract-substring-2


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

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

=RIGHT(テキスト, [文字数])
  • text: 抽出したい文字列が含まれるテキスト文字列。
  • num_chars: テキスト文字列の右側から抽出したい文字数。

例えば、テキスト文字列から最後の6文字を抽出するには、次の数式を空白のセルに入力してください:

=RIGHT(A2,6)

そして、この数式を他の必要なセルにコピーすると、テキストの右側から6文字がすべて抽出されます。スクリーンショットをご覧ください:

doc-extract-substring-3


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

テキストの中間から特定の文字数の部分文字列を抽出するには、MID関数が役立ちます。

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

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

=MID(A2,7,3)

次に、この数式を必要なセルまでフィルハンドルをドラッグして適用すると、次の結果が得られます:

doc-extract-substring-4


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

LEFT、RIGHT、MID関数を使用すると、特定の文字数の均一な部分文字列を抽出できますが、変動する長さの部分文字列を抽出する必要がある場合もあります。これを行うために、より複雑な数式を作成することができます。

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

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

=LEFT(テキスト, SEARCH(文字, テキスト)-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関数は、SEARCH関数によって返される文字数を、セルA2内のテキストの左側から抽出します。

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

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

=RIGHT(テキスト,LEN(テキスト)-SEARCH(文字, テキスト))
  • 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引数として認識されます。
  • RINGT(): このRIGHT関数は、セルA2内のテキスト文字列の末尾から指定された数の文字を抽出するために使用されます。

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

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

=MID(テキスト, SEARCH(文字, テキスト)+1, SEARCH (文字, テキスト, SEARCH (文字, テキスト)+1) - SEARCH (文字, テキスト)-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番目のハイフン文字の位置から最初のハイフン文字の位置を減算して、これらの2つのハイフン文字の間にある文字数を取得し、結果から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 アシスタント: 次の要素に基づいてデータ分析を革新:インテリジェント実行   |  コード生成  |  カスタム数式の作成  |  データの分析とチャートの生成  |  Kutools 拡張機能の呼び出し
人気の機能重複の検索、ハイライト、または識別  |  空白行の削除  |  データを失うことなく列やセルを結合  |  数式なしで丸める ...
スーパーフィルター複数条件  |  複数値  |  複数シート間  |  ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト  |  依存するドロップダウンリスト  |  複数選択可能なドロップダウンリスト...
列マネージャー特定の数の列を追加  |  列の移動  |  非表示列の可視性ステータスの切り替え  列を比較して同じおよび異なるセルを選択 ...
注目機能グリッドフォーカス  |  デザインビュー  |  強化された数式バー  |  ワークブックとシートの管理 | オートテキスト ライブラリ (Auto Text)  |  日付ピッカー  |  データの統合  |  セルの暗号化/復号化  |  リストによるメール送信  |  スーパーフィルター  |  特殊フィルタ(太字/斜体/取り消し線のフィルタリング...) ...
トップ15のツールセット12 のテキストツールテキストの追加特定の文字を削除 ...)  |  50 以上 のグラフタイプガントチャート ...)  |  40 以上の実用的な数式誕生日に基づいて年齢を計算 ...)  |  19 の挿入ツールQRコードの挿入パスからの画像挿入 ...)  |  12 の変換ツール単語に変換する通貨変換 ...)  |  7 つの結合と分割ツール高度な行のマージExcelセルの分割 ...)  |  ... さらに

Kutools for Excelは300以上の機能を誇り、必要なものがワンクリックで手に入ります...


Office Tab - Microsoft Office(Excel含む)でのタブ形式の閲覧と編集を有効にする

  • 数十の開いている文書間を1秒で切り替え!
  • 毎日数百回のマウスクリックを減らし、マウス手にさよならを告げる。
  • 複数の文書を閲覧・編集する際に、生産性が50%向上します。
  • Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。