質問: エクセルで都道府県と地区町村を分ける方法 住所録で都道府県名と地区町村名が一つのセルに入っています。これを、左のセルに都道府県名、右のセルに市区町村名に分ける方法が分かりません。どなたかご存知の方がいらっしゃれば、その方法を教えてください。エクセル2003を使用しています。 例 セルa2 東京都千代田区大手町 → セルa1 東京都 セルa2 千代田区大手町
回答: もし、必ずしも都道府県名が記入されていないデータも含まれている場合には、日本国内には、東京都府中市、広島県府中市、長崎県対馬市上県町、等々、市町村名や郡名、区画名等に、「都」、「道」、「府」、「県」の文字が含まれている例は珍しくありませんから、「都」、「道」、「府」、「県」の文字が現れる位置だけで、都道府県を判定したのでは、間違った結果が表示される恐れがあります。 例えば、 対馬市上県町樫滝493番地1 という住所が入力されると、 県名: 対馬市上県 住所: 町樫滝493番地1 となってしまいます。 ですから、もし、都道府県名が記入されていないデータも含まれている場合には、次の様にされた方が宜しいかと思います。 今仮に、a2以下に元となる住所が入力されていて、b2以下に都道府県名、c2以下に市区町村以下の名称を表示するものとします。 まず、適当な列(ここでは仮にsheet2のa列とします)に、次の様に都道府県名の一覧表を作成して下さい。 sheet2のa1セルに 北海道 sheet2のa2セルに 青森県 sheet2のa3セルに 岩手県 sheet2のa4セルに 宮城県 sheet2のa5セルに 秋田県 sheet2のa6セルに 山形県 sheet2のa7セルに 福島県 sheet2のa8セルに 茨城県 sheet2のa9セルに 栃木県 sheet2のa10セルに 群馬県 sheet2のa11セルに 埼玉県 sheet2のa12セルに 千葉県 sheet2のa13セルに 東京都 sheet2のa14セルに 神奈川県 sheet2のa15セルに 新潟県 sheet2のa16セルに 富山県 sheet2のa17セルに 石川県 sheet2のa18セルに 福井県 sheet2のa19セルに 山梨県 sheet2のa20セルに 長野県 sheet2のa21セルに 岐阜県 sheet2のa22セルに 静岡県 sheet2のa23セルに 愛知県 sheet2のa24セルに 三重県 sheet2のa25セルに 滋賀県 sheet2のa26セルに 京都府 sheet2のa27セルに 大阪府 sheet2のa28セルに 兵庫県 sheet2のa29セルに 奈良県 sheet2のa30セルに 和歌山県 sheet2のa31セルに 鳥取県 sheet2のa32セルに 島根県 sheet2のa33セルに 岡山県 sheet2のa34セルに 広島県 sheet2のa35セルに 山口県 sheet2のa36セルに 徳島県 sheet2のa37セルに 香川県 sheet2のa38セルに 愛媛県 sheet2のa39セルに 高知県 sheet2のa40セルに 福岡県 sheet2のa41セルに 佐賀県 sheet2のa42セルに 長崎県 sheet2のa43セルに 熊本県 sheet2のa44セルに 大分県 sheet2のa45セルに 宮崎県 sheet2のa46セルに 鹿児島県 sheet2のa47セルに 沖縄県 次に、b2セルに次の関数を入力して下さい。 =if(sumproduct(isnumber(find(sheet2!$a$1:$a$47,$a2))*1),index(sheet2!$a$1:$a$47,sumproduct(isnumber(find(sheet2!$a$1:$a$47,$a2))*row(sheet2!$a$1:$a$47))),"") 次に、c2セルに、次の関数を入力して下さい。 =substitute($a2,$b2,) そして、b2~c2の範囲をコピーして、同じ列の3行目以下に貼り付けて下さい。 以上です。