facebook

【2025】エクセルで文字列を抽出する方法まとめ!関数の基本から応用テクニックまで

エクセルでデータを扱う際、「特定の文字列を抜き出したい」と思ったことはありませんか?LEFT・MID・FIND関数などを活用すれば、氏名の姓と名を分けたり、商品コードから必要な情報を抽出したりと、業務の効率が大幅に向上します。

本記事では、基本の関数から応用テクニックまで詳しく解説。エクセルの文字列抽出をマスターし、作業時間を短縮しましょう!

エクセルで文字列を抽出が必要なシーンとは

エクセルで文字列を抽出が必要なシーンとは

エクセルでのデータ管理では、特定の文字列を抽出する作業が頻繁に発生します。

例えば、顧客リストから「姓」と「名」を分割すれば、より使いやすいデータになります。また、住所データを「都道府県」「市区町村」「番地」に分類することで、地域別の分析が容易になるでしょう。

商品コードから特定の情報を取り出し、カテゴリ分けを行うケースもありますし、メールアドレスのドメイン部分だけを抽出すれば、企業別の整理にも役立ちます。

このように、文字列抽出は業務効率化に欠かせない技術です。

Excelの基本的な使用方法を知りたい方は、下記をご覧ください。

【2025】エクセル入門ガイド!初心者がまず覚えたい基本操作を解説

LEFT・RIGHT・MID関数を使った基本的な文字列抽出

LEFT・RIGHT・MID関数を使った基本的な文字列抽出

エクセルで特定の部分を抜き出す際に最もよく使われるのが、LEFT・RIGHT・MID関数です。

LEFT関数は文字列の先頭から、RIGHT関数は末尾から、MID関数は途中から指定した文字数を抽出できます。これらの関数を活用すれば、商品コードの分類や氏名の分割など、さまざまなデータ整理が可能になります。

ここでは、それぞれの関数の使い方を見ていきましょう。

LEFT関数 先頭から指定した文字数を抽出

LEFT関数は、文字列の先頭から指定した文字数を抽出する関数です。

LEFT関数の使い方は下記の通りです。

  1. =LEFT(対象セル, 抽出したい文字数)と入力する
    =LEFT(対象セル, 抽出したい文字数)と入力する
  2. Enterキーを押す
    =LEFT(対象セル, 抽出したい文字数)と入力する
  3. 必要に応じて他のセルにも数式をコピーする

例えば、社員番号の先頭部分だけを取り出したい場合などに便利です。

RIGHT関数 末尾から指定した文字数を抽出

RIGHT関数は、文字列の末尾から指定した文字数を抽出する関数です。

RIGHT関数の使い方は以下の通りです。

  1. =RIGHT(対象セル, 抽出したい文字数)と入力する
    =RIGHT(対象セル, 抽出したい文字数)と入力する
  2. Enterキーを押す
    =RIGHT(対象セル, 抽出したい文字数)と入力する
  3. 必要に応じて数式をコピーする

例えば、商品コードの末尾の識別番号を取り出したい場合に使えます。

MID関数 途中から指定した文字数を抽出

MID関数は、文字列の途中から指定した文字数を抜き出す関数です。

MID関数の使い方は以下の通りです。

  1. =MID(対象セル, 開始位置, 抽出したい文字数)と入力する
    =MID(対象セル, 開始位置, 抽出したい文字数)と入力する
  2. Enterキーを押す
    Enterキーを押す
  3. 必要に応じて数式をコピーする

例えば、住所データから市区町村名だけを抽出する場合に役立ちます。

FIND・SEARCH関数を使った柔軟な文字列抽出

FIND・SEARCH関数を使った柔軟な文字列抽出

特定の文字がどこにあるのかを調べて、柔軟に文字列を抽出したい場合には、FIND関数やSEARCH関数が便利です。

ここでは、それぞれの関数の使い方を解説します。

FIND関数 特定の文字の位置を取得

FIND関数は、指定した文字列が左から数えて何文字目にあるのかを調べる関数です。大文字と小文字を区別し、指定した文字が見つからない場合はエラーを返します。

FIND関数の使い方は以下の通りです。

  1. =FIND(検索文字列, 対象セル, [開始位置])と入力する
    =FIND(検索文字列, 対象セル, [開始位置])と入力する
  2. Enterキーを押す
    Enterキーを押す
  3. 必要に応じて数式をコピーする

例えば、セルA1に「info@example.com」というデータがあり、「@」の位置を調べたい場合、=FIND(“@”,A1)と入力すると、5が表示されます(左から5文字目に「@」があるため)。

FIND関数は、他の関数(LEFTやMIDなど)と組み合わせることで、特定の文字を基準にした文字列の抽出に役立つでしょう。

SEARCH関数 大文字・小文字を区別しない検索

SEARCH関数も、指定した文字が何文字目にあるのかを調べる関数ですが、FIND関数と異なり、大文字・小文字を区別しません。また、ワイルドカード(「*」「?」)を使用できるため、より柔軟な検索が可能です。

SEARCH関数の使い方は以下の通りです。

  1. =SEARCH(検索文字列, 対象セル, [開始位置])と入力する
    =SEARCH(検索文字列, 対象セル, [開始位置])と入力する
  2. Enterキーを押す
    Enterキーを押す
  3. 必要に応じて数式をコピーする

例えば、セルA1に「Info@Example.com」というデータがある場合、=SEARCH(“info”,A1)と入力すると1が表示されます。これは、大文字・小文字を区別しないため、「Info」が1文字目にあると認識されるためです。

SEARCH関数は、ワイルドカードを使用して部分一致検索を行うことも可能で、例えば=SEARCH(“ex*”,A2)と入力すると、「ex」で始まる単語の位置を特定できます。

その他の文字列抽出方法を知りたい方は、下記をご覧ください。

【2025】エクセルでデータの抽出をする方法は?関数やフィルターを使ったやり方を解説

LEN・SUBSTITUTEを組み合わせてデータを整理

LEN・SUBSTITUTEを組み合わせてデータを整理

エクセルでデータを整理する際、不要な文字を削除したり、文字数をカウントしたりすることが求められる場面があります。例えば、商品コードの桁数を統一したり、ハイフンやスペースを削除してデータを統一する場合です。LEN関数は文字数をカウントするのに、SUBSTITUTE関数は特定の文字を削除・置換するのに役立ちます。

ここでは、それぞれの関数の使い方を見ていきましょう。

LEN関数 文字数をカウントしながら抽出

LEN関数は、指定したセル内の文字数をカウントする関数です。スペースや記号も含めてカウントするため、データの整合性チェックや、不要なスペースを削除する前後の比較に活用できます。

LEN関数の使い方は以下の通りです。

  1. =LEN(対象セル)と入力する
    =LEN(対象セル)と入力する
  2. Enterキーを押す
    Enterキーを押す
  3. 必要に応じて数式をコピーする

例えば、セルA1に「Excel 2025」というデータがある場合、=LEN(A1)と入力すると「10」と表示されます(スペースも1文字としてカウントされるため)。

LEN関数は、SUBSTITUTE関数と組み合わせることで、特定の文字を除いた場合の文字数を計算することもできます。

SUBSTITUTE関数 不要な文字を削除・置換

SUBSTITUTE関数は、指定した文字列を別の文字に置き換える関数です。例えば、ハイフンを削除したり、特定の単語を別の単語に変更したりする際に便利です。

SUBSTITUTE関数の使い方は以下の通りです。

  1. =SUBSTITUTE(対象セル, 置換前の文字, 置換後の文字)と入力する
    =SUBSTITUTE(対象セル, 置換前の文字, 置換後の文字)と入力する
  2. Enterキーを押す
    Enterキーを押す
  3. 必要に応じて数式をコピーする

例えば、セルA1に「123-456-789」というデータがあり、ハイフンを削除したい場合、=SUBSTITUTE(A1,”-“,””)と入力すると、「123456789」と表示されます。

また、LEN関数と組み合わせることで、特定の文字を除いた文字数を取得することが可能です。例えば、=LEN(A2)-LEN(SUBSTITUTE(A2,”-“,””))とすれば、セルA2内にあるハイフンの数を計算できます。

INDEX・MATCH関数を活用した高度なデータ抽出

INDEX・MATCH関数を活用した高度なデータ抽出

エクセルで大量のデータを扱う際、特定の条件に一致するデータを抽出したい場面があります。

VLOOKUP関数も有名ですが、検索範囲の制約があり、柔軟な検索には向きません。その代わりに活用できるのが、INDEX関数とMATCH関数の組み合わせです。

ここでは、それぞれの関数の使い方を解説します。

INDEX関数 範囲内の特定データを取得

INDEX関数は、指定した範囲内の特定の行・列にある値を取得する関数です。リストや表の中から特定の値を取り出したいときに便利です。

INDEX関数の使い方は以下の通りです。

  1. =INDEX(データ範囲, 行番号, [列番号])と入力する
    =INDEX(データ範囲, 行番号, [列番号])と入力する
  2. Enterキーを押す
    Enterキーを押す
  3. 必要に応じて数式をコピーする

例えば、A1:C6に「商品名」「価格」「在庫数」の表があるとします。=INDEX(A1:C6,3,2)と入力すると、表の3行目・2列目のデータ(価格)が取得できます。

INDEX関数は単独でも使えますが、MATCH関数と組み合わせることで、より柔軟なデータ検索が可能になるでしょう。

MATCH関数 指定値の位置を検索

MATCH関数は、指定した検索値が範囲内の何番目にあるかを特定する関数です。INDEX関数と組み合わせることで、データの自動検索が可能になります。

MATCH関数の使い方は以下の通りです。

  1. =MATCH(検索値, 検索範囲, 照合の種類)と入力する
    =MATCH(検索値, 検索範囲, 照合の種類)と入力する
  2. Enterキーを押す
    Enterキーを押す
  3. 必要に応じて数式をコピーする

例えば、A1:A6に商品名が並んでいて、「りんご」の行番号を検索したい場合、=MATCH(“りんご”,A1:A6,0)と入力すると、「りんご」が何行目にあるかが表示されます(完全一致の場合は「0」を指定)。

よくある文字列抽出のケーススタディ

よくある文字列抽出のケーススタディ

エクセルでの文字列抽出は、顧客データの整理や住所の分割、商品コードの解析など、多くの業務で役立ちます。適切な関数を使うことで、データの整理や検索がスムーズになり、作業の効率化につながるでしょう。

以下の表に、文字列抽出の代表的なケースと使用方法をまとめました。

ケース 使用する関数 具体的な使用方法
氏名の分割 「田中 一郎」→「田中」と「一郎」に分割 LEFT・RIGHT・FIND FIND(” “,A2)でスペースの位置を取得し、LEFT(A2,位置-1)で姓、RIGHT(A2,LEN(A2)-位置)で名を取得
住所から都道府県を抽出 「東京都新宿区西新宿1-1-1」→「東京都」 LEFT・FIND FIND(“都”,A2)で「都」の位置を取得し、LEFT(A2,位置)で都道府県を抽出
住所から市区町村を抽出 「東京都新宿区西新宿1-1-1」→「新宿区」 MID・FIND FIND(“都”,A2)+1 で都道府県の次の位置を取得し、MID(A2,位置,10)で市区町村を抽出
商品コードの分類 「A123-XYZ」→「A123」と「XYZ」に分割 LEFT・RIGHT・SEARCH SEARCH(“-“,A2)で「-」の位置を取得し、LEFT(A2,位置-1)で前半部分、RIGHT(A2,LEN(A2)-位置)で後半部分を取得
メールアドレスのドメイン抽出 「info@example.com」→「example.com」 RIGHT・FIND FIND(“@”,A2)で「@」の位置を取得し、RIGHT(A2,LEN(A2)-位置)でドメインを抽出

このように、適切な関数を組み合わせることで、データの整理がより簡単になります。

文字列抽出をマスターしてエクセル作業を効率化

エクセルでの文字列抽出は、業務の効率化に大きく貢献します。本記事で紹介したLEFT・RIGHT・MID関数の基本的な使い方から、FIND・SEARCH・INDEX+MATCHといった応用的な手法までをマスターすれば、より柔軟なデータ処理が可能になります。

しかし、関数の使い方を知るだけではなく、実際の業務で適切に活用することが重要です。さらにエクセルのスキルを深めたい方は、基礎から応用まで体系的に学べるProSkilllのExcel基礎セミナー講習をチェックしてみてください。対面・オンライン・eラーニングなど、自分に合った学習方法で、より実務に役立つスキルを習得できます。

 

エクセルで文字列を抽出する方法まとめ!関数の基本から応用テクニックまで
最新情報をチェックしよう!