リテラアップダウンロード

MID関数の使い方|文字列の途中から指定の文字数を抽出する方法

MID関数の使い方

Excel(エクセル)のMID関数の使い方を紹介します。MID関数はLEFT関数、RIGHT関数、LEN関数、FIND関数と並び文字列を編集する上で欠かせない関数です。

MID関数を使って文字列の途中から指定した文字数を抽出する方法だけでなく、これらの関数の基本的な使い方も併せて解説していますので参考にしてください。

ExcelのMID関数とは?

Excel(エクセル)のMID関数とは、文字列の途中の文字を、指定した文字数分抜き出すための関数です。

例えばMID関数を使うと「エクセル入門10ー関数を使うー」という文字列の途中にある「10」という文字を抜き出すことができます。

ExcelのMID関数とは

抜き出したい文字の開始位置と文字数が分かっていれば、様々なテキストから任意の文字列を抽出することができます。

MID関数の書式

MID関数の書式

MID関数の書式は「=MID(文字列,開始位置,文字数)」です。引数は3つあり、どこからどれだけ文字列を抜き出すか指定します。それでは1つずつ詳細をみていきましょう。

  • 第1引数:文字列
  • 第2引数:開始位置
  • 第3引数:文字数

第1引数:文字列

第1引数は「文字列」です。MID関数で抜き出したい文字のある文字列を指定します。セル参照で任意のセルを指定すれば、そのセルに入力されている文字列が対象になります。

第2引数:開始位置

第2引数は「開始位置」です。抜き出したい文字が、第1引数で指定した文字列の先頭から数えて何番目に位置するかを指定します。例えば「ナスとエビとピーマン」の中から「エビ」を取り出す場合は4番目から始まるので「4」となります。

第3引数:文字数

第3引数は「文字数」です。文字列から抜き出す文字の数を指定します。全角半角の区別はなく、どちらも1文字とカウントします。例えば「ナスとエビとピーマン」の中から「エビ」を取り出す場合は2文字なので「2」となります。

MID関数の基本的な使い方|文字列を抽出する方法

MID関数の基本的な使い方として、特定の文字列を抽出する方法を解説します。先ほど例に挙げた「ナスとエビとピーマン」という文字列から真ん中にある「エビ」の文字を取り出してみましょう。

まず、抽出したい文字がある文字列のデータを用意します。

MID関数の基本的な使い方

抽出した文字を表示させたいセルに、MID関数を入力していきましょう。例では「=MID(C2,4,2)」と入力します。第1引数には対象の文字列のあるセルを、第2引数には抜き出したい文字が始まる開始位置を、第3引数には抜き出したい文字の文字数を指定してください。

MID関数の基本的な使い方

関数を入力し終えたら、「Enter」キーを押しましょう。これで途中にある「エビ」という文字を抜き出すことができました。

MID関数の基本的な使い方

MID関数の応用編|文字列を抽出する開始位置が異なる場合

たくさんのデータからある規則に従って文字列を取り出したい時、抽出する文字の開始位置が一定でない場合があります。

例えばパソコン講座のタイトルの中に含まれるナンバーのみを取り出したい時、ナンバーの箇所が異なると単純な関数のコピーペーストでは対応できません。そのような場合、開始位置を変数として設定することで対処できますので具体的なやり方をみてみましょう。

まず抽出したい文字の開始位置がバラバラのデータを用意します。

MID関数の応用編

右側の列に抽出したい文字の開始位置を入力していきます。この列を変数として扱います。

MID関数の応用編

後は関数を入力する時、第2引数に先ほど作成した変数のセルを指定します。

MID関数の応用編

残りのセルもオートフィルで入力しましょう。これで開始位置が異なる文字列でも一斉に抜き出すことができました。

MID関数の応用編

ここで紹介した事例と同様に、抽出したい文字列の長さがバラバラの場合でも適用できます。文字列の長さを変数にして、MID関数の第3引数に指定すればOKです。

MID関数と一緒に覚えたい文字列操作に関する関数

次に、MID関数と類似した文字列操作を行なう関数を紹介します。文字列の左や右から文字を抜き出したり、文字列の文字数をカウントしたり、文字列操作に欠かせない関数となっていますのでぜひ併せて覚えましょう。

  • LEFT関数|文字列の左から指定文字数を抽出する
  • RIGHT関数|文字列の右から指定文字数を抽出する
  • LEN関数|半角全角を問わず文字列の文字数を数える
  • FIND関数|対象の文字が文字列の先頭から何文字目にあるか調べる

LEFT関数|文字列の左から指定文字数を抽出する

MID関数の仲間として、最初にLEFT関数を紹介します。LEFT関数は文字列の左から文字数を指定して文字を抽出する関数です。

LEFT関数の書式は「=LEFT(文字列,文字数)」です。MID関数は途中から文字を抜き出すので「開始位置」という引数も必要でしたが、LEFT関数では開始位置は先頭と決まっているので引数は2つになります。第1引数に対象となる文字列を、第2引数に抜き出したい文字の数を指定します。

例えば郵便番号の先頭から3つの数字を抜き出す場合を考えてみましょう。抽出した数字を表示させたいセルに「=LEFT(B3,3)」と入力してください。

LEFT関数

残りのセルもオートフィルで関数を入力しましょう。これで左から3文字を一括で抜き出すことができました。

LEFT関数

RIGHT関数|文字列の右から指定文字数を抽出する

次にRIGHT関数を紹介します。RIGHT関数は、文字列の右から文字数を指定して文字を抽出する関数です。

RIGHT関数の書式はLEFT関数とほぼ同じで「=RIGHT(文字列,文字数)」となります。RIGHT関数も場合も、開始位置が右からと決まっているので引数は2つになります。第1引数に対象となる文字列を、第2引数に抜き出したい文字の数を指定します。

例として、今度は郵便番号の後ろ4つの数字を抜き出す場合を考えてみましょう。抽出した数字を表示させたいセルに「=RIGHT(B3,4)」と入力してください。

RIGHT関数

残りのセルもオートフィルで関数を入力しましょう。これで右から4文字を一括で抜き出すことができました。

RIGHT関数

LEN関数|半角全角を問わず文字列の文字数を数える

LEN関数は、半角全角を問わず文字列の文字数を数えることができる関数です。書式は「=LEN(文字列)」となります。

文字を抜き出す関数ではありませんが、文字数を数え、足し引きすることで複雑な文字抽出をすることができます。単独で使うより、他の関数と組み合わせて使うことの多い関数です。

具体的な使用方法をみていきましょう。例えば住所データから「〇〇市」の後の住所のみを抽出したい場合を考えます。このデータでは「〇〇市」の市名の文字数は3文字で全て同じとしましょう。

LEN関数

抽出した住所を表示させたいセルに「=RIGHT(B3,LEN(B3)-3)」と入力します。「LEN(B3)-3」は文字列全体の文字数から市名の3文字を引く操作になります。これで市名以降の文字列の数が指定できるのです。

LEN関数

関数を入力し終えたら、残りのセルもオートフィルで入力しましょう。これで市名以降の住所を抜き出すことができました。

LEN関数

「〇〇市」の市名の文字数が異なっている場合でも、次に紹介する「FIND関数」を使って市名の文字数を取得できれば、バラバラのデータでも同様の文字列操作が可能です。

FIND関数|対象の文字が文字列の先頭から何文字目にあるか調べる

最後にFIND関数を紹介します。FIND関数は、対象の文字が文字列の先頭から何文字目にあるかを調べる関数です。書式は「=FIND(検索文字列, 対象, [開始位置])」となります。

例えば住所から「〇〇市」という文字の抽出のみを行ないたい場合、「市」という文字の位置を知ることが必要です。特徴となる文字の位置が分かれば、文字数などを計算して抽出することができます。

具体的な使い方をみてみましょう。画像のような住所データから市名を抜き出す時、まず目印となる「市」の位置をFIND関数で求めます。セルに「=FIND(“市”,B3)」と入力し、オートフィルで他のセルも入力してください。

FIND関数

市名を抜き出すためには、左から数えて「市」のある文字までの文字数が分かればOKです。この場合、「市」の位置と市名全体の文字数が等しくなるので「=LEFT(B3,C3)」となります。

FIND関数

残りのセルもオートフィルで関数を入力しましょう。これで市名のみが抽出されました。

FIND関数

先ほど紹介したLEN関数と組み合わせれば、市名の文字数がバラバラでも後の住所を抽出することも可能です。

関連:ExcelのFIND関数の使い方|文字列の何文字目にあるか調べる方法

MID関数の使い方についておさらい

文字列操作に慣れておくと、顧客名簿の編集やファイル名の整理を容易に行なうことができるようになります。MID以外にも、ここで紹介した類似の関数を覚えておくとよいでしょう。

  • MID関数…文字列の途中から指定文字数を抽出する
  • LEFT関数…文字列の左から指定文字数を抽出する
  • RIGHT関数…文字列の右から指定文字数を抽出する
  • LEN関数…文字列の文字数を数える
  • FIND関数…指定した文字の位置を調べる

リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。

(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)