住所から都道府県名だけを取り出すには…

 顧客名簿を都道府県別に分類するケースなど、住所から都道府県名だけを取り出したい場合があります。これも、長年エクセルを使っている人なら、IF関数を使って4文字目が「県」かどうかを判定し、4文字目が「県」であれば先頭から4文字、4文字目が「県」ではない場合は先頭から3文字を取り出す方法を思いつくでしょう。都道府県名が漢字3文字なのは「神奈川」「鹿児島」「和歌山」の3つだけで、いずれも4文字目は「県」になるからです。ただし、関数を使って氏名を分割する場合と同様に、1つの関数だけでは不可能なので、関数を入れ子にした複雑な式になってしまいます。

関数を使う古典的な方法では、D2セルに「=IF(MID(C2,4,1)="県",LEFT(C2,4),LEFT(C2,3))」と入力する。これは、C2セルの文字列の4文字目が「県」なら先頭から4文字分を取り出し、そうでない場合は先頭から3文字を取り出すという式だ
関数を使う古典的な方法では、D2セルに「=IF(MID(C2,4,1)="県",LEFT(C2,4),LEFT(C2,3))」と入力する。これは、C2セルの文字列の4文字目が「県」なら先頭から4文字分を取り出し、そうでない場合は先頭から3文字を取り出すという式だ

 このケースもフラッシュフィルを使えば、楽にできます。1行目だけ手入力すれば、あとはボタン一発です。ただし、先ほど「五十嵐」という3文字の姓をうまく取り出せなかった場合と同様のミスがここでも起きます。フラッシュフィルを使うと、エクセルは先頭から3文字を取り出せばいいと認識してしまうためです。ですが、前述のように先頭から4文字を取り出す必要があるのは、「神奈川」「鹿児島」「和歌山」の3つだけ。これらの県のみ、手動で修正すればいいのです。

1例目だけ都道府県名を手入力して(1)、フラッシュフィルを実行すればいい(2)
1例目だけ都道府県名を手入力して(1)、フラッシュフィルを実行すればいい(2)
この例では神奈川県のみ「県」まで正しく取り出せなかったので、手動で修正する必要がある。先頭から3文字を取り出すという規則が働いたためだ。同様に「鹿児島」「和歌山」も修正したい
この例では神奈川県のみ「県」まで正しく取り出せなかったので、手動で修正する必要がある。先頭から3文字を取り出すという規則が働いたためだ。同様に「鹿児島」「和歌山」も修正したい