エクセルやGoogleスプレッドシートで住所から都道府県名を自動入力できる、簡単な方法をご紹介します。都道府県以下を抽出する方法や、都道府県名とそれ以下で分ける方法についても解説しているので、ぜひ参考にしてみてください。
都道府県名を抽出する方法
住所から都道府県を抽出する手順は以下の通りです。「県の位置が左から4番目かそうでないか」を判定式として、抽出する文字数を条件分岐させます。
- IF関数の論理式に、MID(住所,4,1)=”県”を指定します。
- IF関数のTRUE値に、LEFT(住所,4)を指定します。
- IF関数のFALSE値に、LEFT(住所,3)を指定します。
コピー用:IF(MID(住所
,4,1)=”県”, LEFT(住所
,4),LEFT(住所
,3))
1.まずMID(住所,4,1)は、住所の4文字目から数えて1文字を抽出します。
例えば神奈川県なら「県」、京都府南丹市なら「南」です。論理式はこれらの抽出結果が「県」ならTUREを、県でないならFALSEを返します。
MID関数の構成要素:(文字列, 開始位置, 文字数)
2.次にLEFT(住所,4)は、住所の左から合計4文字を抽出します。
この処理はIF関数のTRUE値に指定されているため、論理式(MID(住所,4,1)=”県”)成立する場合のみ行われます。つまり左から4文字が抽出されるのは神奈川・鹿児島・和歌山の3件のみです。
LEFT関数の構成要素:(文字列, [文字数])
3.最後にLEFT(住所,3)は、住所の左から合計3文字を抽出します。
この処理はIF関数のFALSE値に指定されているため、論理式(MID(住所,4,1)=”県”)成立しない場合のみ行われます。つまり神奈川・鹿児島・和歌山を除くすべての都道府県が対象です。
都道府県以下を抽出する方法
SUBSITTUTE関数で住所から都道府県名を削除すれば、都道府県以下を簡単に抽出できます。
例えばSUBSTITUTE関数の文字列に住所を指定し、検索文字列に「都道府県名」を指定します。置換文字列を空白(“”)にすれば、住所から都道府県を除いた値が抽出されます。
SUBSTITUTE関数の構成要素:(文字列, 検索文字列, 置換文字列, [置換対象])
都道府県を抽出する数式を検索文字列にセットした場合、
SUBSTITUTE(住所
,IF(MID(住所
,4,1)=”県”, LEFT(住所
,4),LEFT(住所
,3)),””)になります。
SUBSTITUTE関数の詳しい使い方はSUBSTITUTE関数の使い方をご参照ください。
都道府県名と都道府県名以下を分割する方法
規則性のあるテキストであれば、フラッシュ フィル機能でテキストを分けることも可能です。
まずパターンを認識させるために、2行程度は自分で分けたものを入力しておいてください。
3行目からは「データ」タブの「フラッシュ フィル」をクリックするだけで、都道府県名が自動で入力されました。都道府県名以下も同じように自動入力できます。
フラッシュ フィルのショートカットキー:[Ctrl]+[E]
補足:フラッシュフィルが使えるのは、元のテキストと出力先が隣接している場合のみです。また予測入力になるので、正確でない場合もあります。