エクセルの顧客データを使う販促計画やマーケティングの際、一つにつながった住所データから県名や市区町村名を抽出したいケースはありませんか?
少量であれば手作業で問題ないですが、膨大な数だと考えただけで気が遠くなります。
そんな時に使える関数をご紹介します。
面倒であれば、下記の関数をコピーしてお使いください。
ここで使う関数は、下記の5つです。
=IFERROR(値,エラーの場合の値)
引数名 | 説明 |
値(必須) | エラーかどうかをチェックする数式やセル参照を指定します。 |
エラーの場合の値 (必須) | 第1引数「値」がエラーの場合に返す値を指定します。 |
=FIND(検索文字列, 対象, 開始位置)
引数名 | 説明 |
検索文字列 (必須) | 検索する文字列を指定します。 重要:ワイルドカード文字は使用できません。 |
対象(必須) | 検索文字列を含む文字列を指定します。 |
開始位置 (省略可) | 検索を開始する位置を指定します。省略すると、1 として処理されます。 重要:開始位置を指定した場合でも、対象の先頭文字からの位置が返されます。 |
=LEFT(文字列, 文字数)
引数名 | 説明 |
文字列(必須) | 取り出す文字を含む文字列またはセルを指定します。 |
文字数(省略可) | 文字列の左端から取り出す文字数を数値で指定します。 重要:省略すると、1 として処理されます。 |
=REPLACE(文字列, 開始位置,文字数, 置換文字列)
引数名 | 説明 |
文字列(必須) | 置き換える文字を含む文字列またセルを指定します。 |
開始位置(必須) | 置き換えたい文字の位置を数値で指定します。 重要文字列の先頭文字は 1 から数えます。 |
文字数(必須) | 置き換たい文字列の文字数を指定します。 |
置換文字列(必須) | 置き換える文字列を指定します。 |
=MID(文字列, 開始位置, 文字数)
引数名 | 説明 |
文字列(必須) | 取り出す文字を含む文字列またはセルを指定します。 |
開始位置(必須) | 文字列から取り出す位置の先頭を数値で指定します。 重要文字列の先頭文字は 1 から数えます。 |
文字数 (必須) | 取り出す文字数を指定します。 |
1 住所から都道府県だけ抜き出す方法
都道府県は【〇〇県】の他に4つ(北海道、東京都、大阪府、京都府)あり全て3文字です。
ですから「県があれば県まで取り出し、県がなければ3文字取り出す」でOKです。
=IFERROR(LEFT(A2,FIND(“県”,A2)),LEFT(A2,3))
2 住所から都道府県以下を抜き出す方法
「県があれば県までを削除し、県がなければ3文字削除」で都道府県以下を取り出すことができます。(削除はREPLACE関数で空白に置換)
FIND関数で”県”を探すと存在しない場合にErrorが返ることを利用して「県があるなら県まで削除、なければ3文字削除」とします。
=IFERROR(REPLACE(C2,1,FIND(“県”,C2),””),REPLACE(C2,1,3,””))
3 住所から市区を抜き出す方法
住所には「神奈川県横浜市中区」のように市と区両方使う住所があるので単純に〇〇市まで、〇〇区までを取り出せません。ですから「市を含むなら市まで、それ以外は区まで」で取り出しましょう。(群や村などは適宜取り出してください)
この式は長いのでコピーしてお使いください。
=IFERROR(MID(A2,FIND(“県”,A2)+1,FIND(“市”,A2)-FIND(“県”,A2)),IFERROR(MID(A2,4,FIND(“市”,A2)-3),MID(A2,4,FIND(“区”,A2)-3)))