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

Kutools for Office — 1つのスイート、5つのツールで、もっと多くのことを成し遂げましょう。

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

Author Xiaoyang Last modified

テキスト文字列から部分文字列を抽出する必要があるのは一般的な作業かもしれませんが、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関数は、指定されたテキストから特定の文字や部分文字列の位置を見つけるのに役立ちます。

関連記事:


最高のオフィス生産性ツール

Kutools for Excel - あなたを群衆から際立たせるツール

🤖 Kutools AI Aide: 次の要素に基づいてデータ分析を革新:インテリジェント実行|コード生成 |カスタム数式の作成|データの分析とチャートの生成 |Kutools機能の呼び出し
人気の機能重複を見つける、ハイライトする、または特定する | 空白行を削除 | データを失うことなく列やセルを結合 | 数式を使わずに丸める...
スーパー VLookup複数条件 | 複数値 | 複数シート間 | ファジーマッチ...
高度なドロップダウンリスト簡単なドロップダウンリスト | 従属ドロップダウンリスト | 複数選択可能なドロップダウンリスト...
列マネージャー指定した数の列を追加 | 列を移動 | 非表示の列の可視化ステータスを切り替え | 列を比較して同じ&異なるセルを選択...
特徴的な機能グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー | リソースライブラリ(オートテキスト) | 日付ピッカー | ワークシートの統合 | セルの暗号化/復号化 | リストによるメール送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線のフィルタリング...)...
上位 15 のツールセット: 12 個のテキストツール (テキストの追加, 特定の文字を削除...) | 50以上 チャート タイプ (ガントチャート...) | 40以上の実用的な 数式 (誕生日に基づいて年齢を計算...) | 19 個の挿入ツール (QRコードの挿入, パスからの画像挿入...) | 12 個の変換ツール (単語に変換, 通貨変換...) | 7 個のマージ&分割ツール (高度な行のマージ, Excelセルの分割...) | ... さらに多くのツール
お好みの言語で Kutools を使用可能 - 英語、スペイン語、ドイツ語、フランス語、中国語など、40以上の言語に対応!

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


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

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