この記事のポイント
今回はMID関数の使い方について解説します。
こんな場面ありませんか?
「エクセルの関数を使って、文字列から文字の一部を抜き出ししたい…」「末尾だけ削除したい…」
まさにMID関数の出番です!
MID関数が仕事で役立つ実践的な使い方もまとめてありますので、最後までご覧くださいね。
Table of Contents
MID関数ってなに?文字列から一部の文字を取り出す関数
エクセルのMID(ミッド)関数は、指定した文字列から真ん中の一部を抜き出す関数です。
MIDはMIDDLEから付けられた名前で、真ん中を抜き出すことを意味しています。
エクセル関数にはMID関数の他にも似たような機能を持った、LEFT(レフト)関数やRIGHT(ライト)関数がありますが、これらの関数を組み合わせることで複雑なパターンでの文字の抽出も可能となります。
今回はMID関数の使い方を解説しますので、エクセルのセルから文字(単語)を抽出する使い方を覚えていきましょう。
LEFT関数とRIGHT関数の使い方はこちらの記事を参照ください。
MID関数の使い方は?書式と引数を解説
MID関数は文字列の指定した位置から、指定した文字数を取り出す関数です。
見ただけでは使い方は分かりにくいため、何度か使いながら覚えていきましょう。
それではMID関数を使うため、引数について解説しますね。
MID関数の書式
MID関数の書式はこちらです。
MID関数の書式
MID(文字列,開始位置,文字数)
MID関数の引数について解説します。
MID関数の引数のポイント
- 「文字列」には、抜き出したい文字のあるセルを指定します。
- 「文字列」に文字を直接入力することができます。
- 「開始位置」には、抜き出したい文字列の先頭文字の位置を指定します。
- 「開始位置」で「4」を指定した場合、「富山県富山市」から「富山市」を抜き出します。
- 「文字数」は開始位置から抜き出したい文字数を指定します。
- 「文字数」は「文字列」で指定した文字数以上でも問題ありません。
- 「文字数」は半角と全角の区別をしないで、1文字を1としてカウントします。
MID関数を使うには?実例を使って解説
関数を使うための基本的な操作は、「関数の挿入」を使うことになります。
関数の挿入を使ってMID関数を使うには、タブの真下にある「fx」をクリックする必要があります。
キーボードから直接入力することも可能ですが、まずは関数の呼び出し方や使い方に慣れることを優先しましょう。
今回はB5セルにある住所から、C5セルに「富山市」を抜き出して表示してみましょう。
関数の挿入からMID関数を選択
関数の挿入からMID関数を使って、文字列の一部を抜き出してみましょう。
MID関数の使い方
- C5セルをクリック
- 「fx」をクリック
- 関数の検索をしましょう。
MID関数の検索方法として
MID関数の検索方法
- 「関数の検索」に「MID」を入力して検索
- 「関数の分類」に「文字列操作」を選択
どちらかの方法を使うことで「関数名」に候補となる関数の一覧が表示されますので、「MID」を選択してOKボタンを押します。
MID関数の引数の設定
MID関数の引数の画面に移動しましたら、関数の引数には以下の値を設定しましょう。
MID関数の引数の設定
- 「文字列」に「B5」を入力
- 「開始位置」に「4」を入力
- 「文字数」に「3」を入力
MID関数を使うことで、住所から「富山市」を取り出すことができました。
MID関数とFIND関数を使って効率アップ!仕事で役立つ使い方
エクセルのMID関数とFIND関数を組み合わせることで、自由に抜き出したい文字を選べるようになります。
ポイントは「開始位置」にFIND関数を使うことです。
例えば「都道府県以降の住所を抜き出したい」ときに、FIND関数を使います。
Excelでセルの文字列から文字を検索したいときに、FIND関数を使うことで何文字目にあるかが分かります。
住所の中から「都」「道」「府」「県」の位置が分かるため、「開始位置」を自動で変更できます。
注意点として、「京都府」はFIND関数で「都」の位置を探してしまう「開始位置」を間違ってしまいますので、その辺りも考慮する必要があります。
FIND関数を使って「県」以降の住所を抜き出してみた
はじめに知っておきたいこととして、FIND関数を使うためには引数が2つ必要となります。
FIND関数について
FIND(検索文字列,対象)
FIND関数の引数
- 検索文字列:探したい文字
- 対象:探したい文字のあるセル
住所「富山県富山市掛尾町462-1」から「県」の位置を探したいため、FIND関数の引数をこのように設定してみましょう。
FIND関数の使い方
=FIND("県",B5)
FIND関数が県の位置として「3」を返してくれますので、MID関数と組み合わせてみましょう。
FIND関数の使い方も解説予定ですので、記事ができたときにHPでご連絡いたします。
FIND関数とMID関数の組み合わせ
=MID(B5,FIND("県",B5)+1,100)
ここで注目したいのが、開始位置が「FIND("県",B5)+1」となっている点です。
FIND関数は「県」が先頭から何文字目にあるかを教えてくれますが、MID関数で抜き出したいのは「県」以降の文字になるため「+1」しています。
FIND関数を使うことで、「神奈川県」「和歌山県」「鹿児島県」といった「県」が4文字目にあっても問題がありません。
都道府県の「県」以外はどうしたら良いの?FIND関数でエラーの場合の対処法
応用編として、FIND関数の他にIFERROR関数も組み合わせてみました。
IFERROR関数の解説はこちらを参照ください。
実はFIND関数は検索したい文字が見つからないと、エラー表示となります。
そのため「県」以外の住所に対して「=MID(B8,FIND("県",B8)+1,100)」を使うと、「#VALUE!」が表示されてしまいました。
エラーを回避する方法として、IFERROR関数と組み合わせてみましょう。
IFERROR関数と組み合わせ
=MID(B8,IFERROR(FIND("県",B8),0)+1,100)
IFERROR関数を使って「県」がない(エラー)ときは「0」を表示するようにしました。
「北海道」でMID関数を使ってもエラー表示されなくなりましたが、これだけでは「県」がないため「北海道」を含めて表示されてしまう問題があります。
それでは「道」「府」「都」にも対応してみましょう。
IFERROR関数をネストして使って解決!都道府県以降の住所を抜き出す方法の完全版
カンの鋭い人なら気付いたかも知れませんが、IFERROR関数を入れ子(ネスト)にすることで「都道府県」の位置を判別することができます。
入れ子にすると何度もIFERROR関数とFIND関数を使うことになるので、訳がわからない!ってなると思います。。。
コピペして下さい(笑)
対象のセルを置き換えれば使えるようになりますので。
「都道府県」の位置対応
=MID(B11,IFERROR(FIND("県",B11),IFERROR(FIND("府",B11),IFERROR(FIND("都",B11),IFERROR(FIND("道",B11),0))))+1,100)
都道府県別の住所から、都道府県以降の住所の抜き出しに成功しました。
MID関数の引数が複雑すぎ!「開始位置」で使っている関数を解説
MID関数の「開始位置」で使っている「IFERROR関数」と「FIND関数」
がチェックしている内容を順番に見ていきましょう。
「開始位置」のチェック順
- 「県」があるかチェック:「ある→県の位置を表示」「ない→次のチェック」
- 「府」があるかチェック:「ある→府の位置を表示」「ない→次のチェック」
- 「都」があるかチェック:「ある→都の位置を表示」「ない→次のチェック」
- 「道」があるかチェック:「ある→道の位置を表示」「ない→0を表示」
FIND関数で「県」「府」「都」「道」を順番にチェックしていき、見つからなければエラーのところをIFERROR関数で回避しつつ、次の文字を検索することができます。
都道府県が見つからなければ、0を表示することでエラーにならないようになっています。
IFERROR関数とFIND関数を組み合わせて都道府県の位置を探すときに、とっても重要なポイントがあります。
「府」と「都」を探す順番を間違えないことです。
京都府は「府」と「都」の両方があるため、FIND関数を使って先に「都」を探してしまうと「2」が表示されてしまいます。
バグの原因になりますので、注意して下さいね。
エクセルを使う上で、バグについてまとめた記事もありますので、気になる方はこちらもチェックして下さいね。
エクセルのMID関数まとめ
Excel(エクセル)のMID(ミッド)関数を使うことで、文字列から文字を取り出すことができました。
文字列操作の関数は、MID関数の他にもLEFT関数やRIGHT関数もあります。
この3つのエクセル関数を合わせることで、より複雑な文字の抜き出しができるため仕事で活躍する関数になります。
今回はMID関数とFIND関数、IFERROR関数を組み合わせた応用編もご紹介しました。
難しいと感じた人もいると思いますので、まずはMID関数の使い方をマスターするところから始めてはいかがでしょうか?
余裕ができてからFIND関数と組み合わせて、「県」以降を抜き出してみると良いと思います。
最終的には都道府県の対応ができたら、エクセルで怖いものなしですよ!