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