エクセルで名簿管理業務をしていると住所を都道府県と市区で仕分けする事があると思います。
ここでは関数を使用して住所を都道府県と市区に仕分け方法のやり方が知りたいと言う疑問にお答えします。
本記事の内容
住所を都道府県と市区に自動で仕分けするやり方の解説
住所から都道府県を取り出す方法
今回使用する関数はIF関数とLEFT関数
数式が少し複雑になるので最初に完成した式お見せします。
住所から都道府県を取り出す数式は
「= IF(MID(D2,4,1)=“県”,LEFT(D2,4),LEFT(D2,3)」
この数式を解説するとIF関数を使用して指定されたセルの4文字目が県だったら左から4文字を取り出す。それ以外だったら左がら3文字取り出す。
という条件数式になっております。
なぜこのような数式で都道府県が取り出せるのか、それは都道府県の文字数にパターンがあるからです。
この表見てください。
北海道 東京都 大阪府 京都府 |
埼玉県 新潟県 石川県 |
鹿児島県 神奈川県 和歌山県 |
上の段は、県が入らない3文字の都道府県
真ん中な段は、3文字の県
下の段は、4文字の県です
日本の都道府県はこの3つのパターンのどこかに必ず当てはまり、そのパターンをうまく利用して都道府県を取り出してます。
数式を分解して詳しく解説します。
E2の数式は
「= IF(MID(D2,4,1)=“県”,LEFT(D2,4),LEFT(D2,3)」
数式の意味は
指定されたセルの4文字目が県だったら左から4文字を取り出す。それ以外だったら左がら3文字取り出す。
これを条件ごとに確認してみると
IF関数理論式 | MID(D2,4,1)=“県”, | セルの4文字目が県だったら |
値が真の場合 | LEFT(D2,4), | 左から4文字を取り出す |
値が偽の場合 | LEFT(D2,3) | それ以外だったら左がら3文字取り出す |
IF関数にネストを使って他の数式(条件)を入れることで複雑な作業も自動で行うことができます。
ネストを使うには関数の意味をしっかりと把握することが必要です。
この数式をE11までオートフィルするとこのように自動で都道府県を取り出してくれます。
住所から市区を取り出す方法
次に住所から市区を取り出していきます。
この数式で使う関数はRIGHT関数とLEN関数
LEN関数は指定されたセルの文字数を数える関数
F2の数式は
「=RIGHT(D2,LEN(D2),-LEN(E2))」
この数式の意味は
D2のセル内にある文字を右から取り出す。その文字数はD2の文字数と、E2の文字数を引いた数。
文字列 | D2, | D2のセル内にある文字を右から取り出す |
文字数 | LEN(D2),-LEN(E2) | その文字数はD2の文字数と、E2の文字数を引いた数 |
RIGHT関数で上記の様な条件を入力することで住所から市区を取り出すことができます。
住所を都道府県と市区で分ける方法 まとめ
今回お伝えしたのは住所から都道府県や市区を取り出す方法の1つの例になります。
他の関数や違う考え方によっても取り出すことが可能です。
関数は作る人の癖が数式に出ることもありますので、できるだけシンプルでわかりやすい数式を作ることを心がけましょう。