関数で市区町村を抽出!LEFT・IFERROR・FIND/Excel

アイキャッチ_関数で市区町村を抽出
目次

住所録から市区町村を抽出する

住所録から市区町村までを抽出します。

市区町村まで抽出した表

検索のFIND関数を使うんだね!

FIND関数で「市・区・町・村」の文字を検索します。
住所録の左から抽出するのでLEFT関数も使います。
今回は、これにIFERROR関数も追加して組み立てていきます。

FIND関数について詳しくはこちらの記事をご覧ください。

LEFT関数について詳しくはこちらの記事をご覧ください。

IFERROR関数

IFERROR関数はエラーが表示される計算結果となる場合、代わりの計算式または値を表示させる関数です。

IFERROR関数の作り方をみていきます。

IFERROR関数
=IFERROR(値,エラーの場合の値)
:計算式(値とはその計算式の結果のこと)
エラーの場合の値:「値」の結果がエラーとなる場合、代わりに表示させる値または計算式
※単にエラーコードを表示させたくない場合は””(半角ダブルクォーテーション2つ入力)

例を見てみます。

伸び率の計算をします。
【D2】 =(C2-B2)/B2
【B4】に記号が入力されているため【D4】にはエラーコードが表示されます。

エラコード#VALUEが表示される

エラーコードが表示される場合はエラーコードではなく「欠席あり」と表示させます。
上の計算式をIFERROR関数の「値」部分に入れ、「エラーの場合の値」に”欠席あり”と入力します。
【D2】 =IFERROR((C2-B2)/B2,”欠席あり”)

IFERROR関数でエラー回避

市区町村までを抽出する計算式

「区」を検索して区まで抽出する計算式を入力します。
この時、区が見つからないとエラーコード#VALUEが表示されます。

それでIFERROR関数を使うんだね!

エラーになったら「市」を検索して市まで抽出、それもエラーにれば「町」を検索して町まで抽出、それでもエラーなら「村」を検索して村まで抽出。というような組み立てをしていきます。
これは、優先したい順に指定します。
今回は「区」を最優先にします。

市区町村まで抽出した表

【B2】で計算します。ベースの関数を何にするかで計算式の長さも変わっていきます。

区・市・町・村…分岐が多いから長いね!

ベースの関数をIFERRORにする場合
=IFERROR(LEFT(A2,FIND(“区”,A2)),IFERROR(LEFT(A2,FIND(“市”,A2)),IFERROR(LEFT(A2,FIND(“町”,A2)),LEFT(A2,FIND(“村”,A2)))))

ベースの関数をLEFTにする場合
=LEFT(A2,IFERROR(FIND(“区”,A2),IFERROR(FIND(“市”,A2),IFERROR(FIND(“町”,A2),FIND(“村”,A2)))))

LEFT関数をベースに組み立て

少しでも短くなるLEFT関数をベースにして作ってみます。
=LEFT(A2,IFERROR(FIND(“区”,A2),IFERROR(FIND(“市”,A2),IFERROR(FIND(“町”,A2),FIND(“村”,A2)))))

市区町村まで抽出した表

順番にみていきます。

LEFT関数で【A2】の左から「区」を検索したところまで抽出します。
=LEFT(A2,(FIND(“区”,A2))

FIND関数で「区」が見つからない場合はエラーになるので、エラーの場合「市」を検索します。
=LEFT(A2,IFERROR(FIND(“区”,A2),FIND(“市”,A2)))

「市」が見つからない場合はエラーになるので、エラーの場合「町」を検索します。
=LEFT(A2,IFERROR(FIND(“区”,A2),IFERROR(FIND(“市”,A2),FIND(“町”,A2))))

「町」が見つからない場合はエラーになるので、エラーの場合「村」を検索します。
=LEFT(A2,IFERROR(FIND(“区”,A2),IFERROR(FIND(“市”,A2),IFERROR(FIND(“町”,A2),FIND(“村”,A2)))))

これで完成です。

=LEFT(A2,IFERROR(FIND(“区”,A2),IFERROR(FIND(“市”,A2),IFERROR(FIND(“町”,A2),FIND(“村”,A2)))))

スポンサーリンク

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次