Excel(エクセル)で、特定の文字から文字までを抜き出す方法|同じ文字の間をFIND関数で抽出するやり方

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 2021 365

エクセルで特定の文字の位置を探すFIND関数を利用して、同じ文字の間部分を抽出する方法です。

決まった文字の位置を探すことができる関数なので、その位置を基準に文字を抜き出すことができます。

 

同じ文字の間を抜き出してみるにゃ

スポンサーリンク

特定の文字から文字までを抽出する方法

今回は、ホームページのアドレス(URL)のドメイン部分を抜き出してみます。
※ドメインとは、下の赤線部分のホームページの住所となる部分です。

このドメインですが、「/」によって挟まれていることが分かります。

つまり、2番目の「/」の次の文字から、3番目の「/」の前の文字までを抜き出せば良いですね。

ということで、FIND関数でそれぞれの「/」の位置を探して、最後にMID関数で文字を抜き出してみます。

完成の式をいっぺんに説明すると把握しづらくなるので、先頭文字の「/」から3番目の「/」までの位置を順番に探してみましょう。

まず、先頭の「/」です。

結果を表示したいセルを選択して、[関数の挿入]ボタンをクリック。

[関数の分類]を[文字列操作]か[すべて表示]に変更して、「FIND」を選びます。

 


FIND関数・・・指定した文字列が、指定した文字列(セル)の左から何番目にあるかを返す

=FIND(検索文字列,対象,開始位置[省略可])

  • 文字列・・・検索する文字列を指定
  • 文字数・・・検索する文字列を含む文字列(セル)を指定
  • 開始位置・・・検索を開始する位置を数字で指定(省略した場合は先頭からになる)

 

今回は下のように引数を設定します。

[検索文字列]には、検索したい文字「/」を入力します。文字を関数の中で使用する場合はダブルクォーテーション「”」で囲む必要があります。
※次の場所をクリックすると、自動で設定されます。

[対象]の場所は、対象となるセルを指定。

[開始位置]は、今回は1文字目からの位置を知りたいので「1」と入力。
※省略しても先頭からになります。

完成する関数は、

=FIND("/",A2,1)

結果は「6」と表示されます。確かに最初の「/」は6文字目にありますね。

下にオートフィル機能を使用してコピーした結果が下の画像。

次に、2番目の「/」ですが、これは今探した最初の「/」から1文字後ろということで、前の式に「+1」するだけで大丈夫。

つまり、下のようになります。

=FIND("/",A2,1)+1

結果ではなく、入力した式を表示したのが下の画像。

その式を下にコピーすると2番目の「/」の位置が表示されます。

では、3番目の「/」です。ここがポイントですね。

同じFIND関数ですが、引数の[開始位置]の場所がポイントになります。

この[開始位置]を2番目の「/」の次の文字から指定すれば、3番目の「/」を探すことになりますね。

つまり、[開始位置]を先ほどの2番目の「/」を探す式、

=FIND("/",A2,1)+1

に、「次の文字から」ということでさらに1プラスした式を入れればOKとなります。

=FIND("/",A2,1)+2

結果は下のようになり、3番目の「/」の位置が分かります。

 

2番目の「/」と3番目の「/」の位置が分かれば、あとはMID関数を使用して文字を取り出すことができます。

 


MID関数・・・文字列の指定した位置から、指定した文字数を取り出す関数

=MID(文字列,開始位置,文字数)

  • 文字列・・・文字を取り出すセルを指定
  • 開始位置・・・左から何文字目を取り出すか指定
  • 文字数・・・取り出す文字数を指定

 

このMID関数で下のように設定します。

  • [開始位置]に2番目の「/」の位置に「+1」して次の文字からを指定
  • [文字数]に3番目の「/」の位置から2番目の「/」の位置を引いたものに、さらに「-1」して、前の文字までを指定

下の画像がイメージです。

では、やってみます。

結果を表示したいセルを選択して、[関数の挿入]ボタンをクリック。

[関数の分類]を[文字列操作]か[すべて表示]に変更して、「MID」を選びます。

これまでに作成した式を利用して、下のように指定します。

  • 開始位置・・・2番目の「/」の位置に「+1」
  • 文字数・・・3番目の「/」から2番目の「/」の位置を引いたものに「-1」

です。

これで、下のように必要な文字だけが抜き出されます。

下にコピーして作業終了。

 

さて、実際使用する場合は余計なセルは使用したくないので、1つの式にまとえた方が良いですね。

今回の場合で言うと、MID関数の引数で、

  • [開始位置]・・・2番目の「/」の位置に「+1」 ⇒ FIND(“/”,A2,1)+2
  • [文字数]・・・「3番目の「/」の位置を出す関数」-「最初の「/」の位置を出す関数」-2

を入力することになります。

完成する式は下のようになります。

=MID(A2,FIND("/",A2,1)+2,FIND("/",A2,FIND("/",A2,1)+2)-FIND("/",A2,1)-2)

長いですね・・・。

結果は下のように、1つの式で文字を抜き出すことができます。

スポンサーリンク

まとめ

FIND関数の使用例ということで、同じ特定の文字を使用した例を紹介しました。

一度に作成しようとすると、式が長くなり頭がこんがらがってしまいます。

今回のように、最初の文字、次の文字とFIND関数の動きを確認して、最後にそれらの式をMID関数やRIGHT関数、LEFT関数などと組み合わせて利用するのがお勧めです。

 

関数を入れ子にする知識が必要になるにゃ