いまさら聞けないExcelの使い方講座
【Excel】エクセルで住所から都道府県名を一括抽出するテク
2021年10月27日 06:55
住所から都道府県名を抽出して表示したい
Excelは、顧客名簿や社員名簿などを作る際に便利なアプリですよね。このような名簿に入力される住所は、1つのセルにまとめて入力されている場合と、都道府県や市町村ごとに別々のセルに入力される場合と、さまざまなパターンがありますよね。
1つのセルに入力された住所(①)から、都道府県名だけを別のセルに抽出したい(②)と思ったことはありませんか? 今回は、複数の関数を組み合わせて、1つのセルに入力された住所から、都道府県名だけ別のセルに抽出して表示する方法を解説します。
住所から都道府県名を抽出するには、関数を組み合わせてみよう
都道府県名には、「東京都」「京都府」「長野県」など漢字3文字のものと、「神奈川県」「和歌山県」「鹿児島県」など漢字4文字のものがあります。そして、漢字4文字になる都道府県は、先ほど挙げた「神奈川県」「和歌山県」「鹿児島県」の3県のみで、必ず最後が「県」になります。残りの都道府県はすべて漢字3文字です。
この法則を使って、住所の左から4番目の文字が「県」の場合は、住所の左から4文字分を抽出し、それ以外は左から3文字分を抽出すればよいと考えることができます。
この要件を数式として表現してみましょう。そのためには3つの関数を組み合わせます。ここでは、使用する関数の書式と使い方を見ていきましょう。
まずは、IF関数です。IF関数は、指定した条件によって表示内容を変えることができる関数で、次の書式で使用します。
1つ目の引数の「論理式」には、条件を指定します。2つ目の引数の「値が真の場合」には、条件を満たすときの表示内容を記述し、3つ目の引数の「値が偽の場合」には、条件を満たさなかったときの表示内容を記述します。
今回の例で肝となるのは、「左から4番目の文字が『県』かどうか」という条件式ですが、ここで使用するのがMID関数です。MID関数は、指定した位置から指定した文字数だけ文字列を抽出する関数で、次の書式で使用します。
1つ目の引数には、抽出する対象となる文字列を指定します。2つ目の引数「開始位置」で指定した位置から、3つ目の引数「文字数」だけ文字列を抽出することができます。
例えば、「MID("神奈川県川崎市",4,1)」と記述すると、「神奈川県川崎市」の左から4番目の文字から1文字分、つまり「県」という文字を抽出することができます。
続いて使用するのは、LEFT関数です。LEFT関数は、左から指定した文字数だけ文字列を抽出する関数で、次の書式で使用します。
1つ目の引数には、抽出する対象となる文字列を指定し、2つ目の引数には、左から何文字分を抽出するのかを指定します。「=LEFT("神奈川県川崎市",4)」と記述すると、「神奈川県」という文字列を抽出することができます。
これらの関数を組み合わせて、「住所の左から4番目の文字が『県』の場合は、住所の左から4文字分を抽出、それ以外は左から3文字分を抽出する」という次の数式を作成すればよいです。
次の項では、実際に数式を入力しながら、引数の内容を説明していきますね。
数式を入力して、住所から都道府県名を抽出しよう
次の「エクセル入門受講者一覧」で、E列の「住所」欄(①)から、都道府県名だけを抽出してG列の「都道府県名」欄(②)に表示してみましょう。
セルG4に数式を入力していきます。IF関数を使って、まず「=IF(MID(E4,4,1)="県",」(③)と入力します。IF関数の1つ目の引数「MID(E4,4,1)="県"」の部分で、セルE4の文字列の左から4番目の文字から1文字分を抽出し、それが「県」かどうかを判断しています。
続けて、IF関数の2つ目の引数「LEFT(E4,4),」(④)を入力します。IF関数の条件を満たしたときには、LEFT関数を使って、左から4文字分の文字列を抽出します。
最後に、IF関数の3つ目の引数「LEFT(E4,3))」(⑤)を入力します。IF関数の条件を満たさなかったときは、LEFT関数を使って、左から3文字分の文字列を抽出します。
数式をすべて入力できたら、[Enter]キーを押します。
すると、G4に都道府県名が表示されましたね(⑥)。
オートフィルを使って、G列の他のセルにも数式をコピーします(⑦)。
G列のすべてのセルに、住所の都道府県名が表示されました(⑧)!
関数を組み合わせるといろいろなことができる!
今回は、1つのセルに入力された住所から、都道府県名だけ別のセルに抽出して表示する方法を解説しました。複数の関数を組み合わせて数式を作成しましたが、作成する数式の意味を理解して、分解して考えるとそれほど難しいことをしているわけではありません。ぜひ皆さんもやってみてくださいね。