住所の都道府県でデータを分割したい
数値や文字の疑問|文字列操作・情報関数
Excelで作成された住所録において、住所を都道府県と市区町村以降に分割する方法を紹介します。
概要
都道府県は3~4文字で構成されます。ほとんどの場合、3文字目を指定すれば、都道府県と市区町村以降を区切ることができます。「北海道」や「東京都」は3文字、府は「大阪府」と「京都府」でいずれも3文字でOKです。しかし、4文字で区切らなければいけない県は3つ存在します。
- 神奈川県
- 鹿児島県
- 和歌山県
つまり、4文字目が「県」の場合は4文字目で区切り、それ以外は3文字目まで抜き出せばOKということになります。ちなみに、市区町村で「県」で始まるものは国内で存在しないため、この処理で問題ないといえます。
データを抜き出すために必要な関数は以下の通りです。
関数名 | 数式 | 説明 |
---|---|---|
IF | =IF(論理式,真の場合,偽の場合) | 論理式の結果に応じて、指定された値を返します。ここでは、それぞれの引数を以下のように当てはめます。
|
LEFT | =LEFT(文字列,文字数) | 文字列の先頭から指定した数の文字を返します。都道府県を抜き出すのに利用します。 |
MID | =MID(文字列,開始位置,文字数) | 文字列の指定した位置から、指定された数の文字を返します。4文字目が「県」の場合、といった論理式を指定する場合などに利用します。 |
RIGHT | =RIGHT(文字列,文字数) | 文字列の右端から指定した数の文字を返します。ここでは、住所から都道府県を取り除いた住所を抜き出すのに利用します。 |
LEN | =LEN(文字数) | 文字列の長さ(文字数)を返します。全角・半角は問わず1文字は「1」として処理します。ここでは、住所の文字数を求めるときに利用します。 |
操作方法
都道府県を抜き出す
ここでは、4文字目が"県"の場合は住所の4文字目まで抜き出し、それ以外は3文字目まで抜き出すように、IF関数とLEFT関数を組み合わせて数式を作成します。
- 求めたいセルを選択して、[関数の挿入]ボタンをクリックします。
- [関数の挿入]ダイアログボックスの[関数の分類]の一覧から「論理」を選択し、[関数名]の一覧から「IF」を選択して[OK]ボタンをクリックします。
- [関数の引数]ダイアログボックスの[論理式]ボックスには住所の4文字目の1文字が"県"の場合をあらわすために「=MID(A1,4,1)="県"」と入力します。
- [真の場合]ボックスには、住所の4文字目まで抜き出すため、「LEFT(A1,4)」と入力します。
- [偽の場合]ボックスには、住所の3文字目まで抜き出すので「LEFT(A1,3)」と入力して、[OK]ボタンをクリックします。
- B1セルの右下のフィルハンドルをダブルクリックして、一番下のセルまで数式コピーします。
B1セルの数式は以下の通りです。
=IF(MID(A1,4,1)="県",LEFT(A1,4),LEFT(A1,3))
住所から都道府県を取り除いたデータを抜き出す
最後に、住所から都道府県を取り除いたデータをその右側のセルに求めます。ここでは、RIGHT関数を使って文字列の右端から抜き取る作業を行いますが、それぞれの住所によって文字数が異なります。そこで、住所の総文字数から都道府県の文字数を差し引いた数で抜き出すように数式を作成します。
- 求めたいセルを選択して、[関数の挿入]ボタンをクリックします。
- [関数の挿入]ダイアログボックスの[関数の分類]の一覧から「文字列操作」を選択し、[関数名]の一覧から「RIGHT」を選択して[OK]ボタンをクリックします。
- [関数の引数]ダイアログボックスの[文字列]ボックスには、住所セル(A1)を選択します。
- [文字数]ボックスでは、住所セルから都道府県セルの文字数を差し引いた数式を代入するので、「LEN(A1)-LEN(B1)」を入力して、[OK]ボタンをクリックします。
- 最後に、そのセルのフィルハンドルをダブルクリックして、一番下のセルまで数式コピーします。
C1セルの数式は以下の通りです。
=RIGHT(A1,LEN(A1)-LEN(B1))
INDEX
コメント
※技術的な質問はMicrosoftコミュニティで聞いてください!