支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Excel操作の基本~特定の文字列の

Excelで文字列の抽出をするためには

Excelが便利な点は、数値の集計だけではなくセルに入力された文字列を操作するためにも優れた能力を発揮します。セル内文字列の一部だけを取り出すことが出来る関数を押さえておきましょう。今回は、例えば「左から何文字」、「右から何文字」、「途中から何文字」抽出したいといった場合に使用するLEFT関数、RIGHT関数、MID関数というものを紹介します。

LEFT関数

LEFT関数は第一引数に指定したセルの左から、第二引数で指定した数の文字数分だけ抽出します。「=LEFT(文字列,[文字数])」で構成され、[文字列]を省略した場合は、文字列の先頭1文字が抽出されます。

上記の画像の場合だと、B2セルに入力されている「あいうえお」という文字列から、先頭2文字を抽出してC2セルに表示させる場合はC2セルに「=LEFT(B2,2)」と入力します。

C2セルには「あい」が抽出されて表示されます。

RIGHT関数

RIGHT関数もLEFT関数同様に第1引数に指定したセルの左から、第2引数で指定した数の文字数分だけ抽出します。「=RIGHT(文字列,[文字数])」で構成され、[文字列]を省略した場合は、文字列の最後から1文字が抽出されます。

上記の画像の場合だと、B2セルに入力されている「あいうえお」という文字列から、末尾の2文字を抽出してC2セルに表示させる場合はC2セルに「=RIGHT(B2,2)」と入力します。

C2セルには「えお」が抽出されて表示されます。

MID関数

MID関数はLEFT関数、RIGHT関数とは異なり第2引数で抽出の開始位置、第3引数で抽出する文字数を指定します。「=MID(文字列,開始位置,文字数)」で構成され、文字列の指定された位置から、指定された数の文字を抽出します。

上記の画像の場合だと、B2セルに入力されている「あいうえお」という文字列の先頭から2番目以降の3文字を抽出してC2セルに表示する場合、C2セルに「=MID(B2,2,3)」と入力します。

C2セルには「いうえ」が抽出されて表示されます。

応用例

上記で紹介した3つの関数の応用例を、日付を意味する8桁数値を日付データに変換する方法を例に紹介します。
Excelで日付を扱うには、年、月、日を「/」(スラッシュ)で区切って入力する必要があります。入力方法によりますが「20201010」のようにスラッシュを使用しないで日付を示すようにしている場合もあります。この8桁数値を年、月、日として抽出するためには、今回紹介した関数を使用することで抽出することが出来ます。
・「年」の数字は「20201010」の左から4文字を取り出すことで「2020」として抽出が可能
・「月」の数字は「20201010」の5文字目から2文字を取り出すことで「10」として抽出が可能
・「日」の数字は「20201010」の右から2文字を取り出すことで「10」として抽出が可能
実際に手順を踏んで紹介します。
まずは元データのA2セルから「年」の数字である「2020」を抽出します。LEFT関数をB2セルで使用して「=LEFT(A2,4)」で抽出することが出来ます。

次に「月」の数字である「10」を抽出します。MID関数をC2セルで使用して「=MID(A2,5,2)」で抽出することが出来ます。

最後に「日」の数字である「10」抽出します。RIGHT関数をD2セルで使用して「=RIGHT(A2,2)」で抽出することが出来ます。

上記のように年、月、日を取り出すことが出来れば、DATE関数の引数に指定することでこの日付のシリアル値ができます。DATE関数は第1引数に「西暦」、第2引数に「月」、第3引数に「日」の数字を指定します

FIND関数

FIND関数は「=FIND(検索文字列,対象,開始位置)」の構成で、上記で紹介した関数と組み合わせることでより便利に活用することができます。1つの例として氏名から苗字を取り出す方法を紹介します。
苗字を取り出すということは、セル内の文字列の左から何文字かを取り出すということであるためLEFT関数を使用します。ここで必要になるのが「区切り文字が何文字目にあるか」という情報です。仮にA2セルが「田中 太郎」の場合、区切り文字となる半角スペースは3文字目になります。この半角スペースの情報が得られれば、そこから1を引いた数を取り出せば苗字が取り出せることになります。
これを行う式は、「=LEFT(A2,FIND(" ",A2)-1)」となります。これは第2引数にFIND関数を使用することで指定した文字が何文字目に出てくるのかを調べ、そこから1を引いた数値分、左から文字を抽出する式になります。

上記の画像のように、FIND関数を使い区切り文字が何文字目にあるか分かれば、苗字を文字列から抽出することが容易になります。

まとめ

今回は、文字列の抽出に使用する関数を紹介しました。
関数はネストすることでより便利に使うことが出来るので、興味を持たれた方は調べていただければと思います。