• ベストアンサー

住所の表示から郵便番号を抜き出す方法

住所の表示から郵便番号を抜き出す方法 現在Excelを利用して住所録を作っています。今は、一つのセルにすべての住所が記入されています。 例1 " 245 Rue Saint Hornre 75001 Paris Cedex" 例2 " 15 avenue d'Orleans 92213 St Cloud Cedex" この中から"75001"や"92213"の郵便番号だけ抜き出して違うセルに記載させたいのですが、何か方法はあるでしょうか。"Paris Cedex"、"St Cloud Cedex"などの単語数、文字の長さなど様々です。

質問者が選んだベストアンサー

  • ベストアンサー
  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.3

http://okwave.jp/qa/q2559561.html こちらのQA (回答#5)を参考にしてみました。 半角スペース+数字+半角スペース から始まり、その後に現れる数字が目的物として =MID(SUBSTITUTE(A1,MID(A1,1,FIND(" ",A1,2)),""),MIN(FIND({0,1,2,3,4,5,6,7,8,9},SUBSTITUTE(A1,MID(A1,1,FIND(" ",A1,2)),"")&1234567890)),LEN(SUBSTITUTE(A1,MID(A1,1,FIND(" ",A1,2)),""))*10-SUM(LEN(SUBSTITUTE(SUBSTITUTE(A1,MID(A1,1,FIND(" ",A1,2)),""),{0,1,2,3,4,5,6,7,8,9},)))) 式の説明はできません(^^;

参考URL:
http://okwave.jp/qa/q2559561.html
parisici
質問者

お礼

ありがとうございます。90%以上が自動で抜き出せました。

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.5

郵便番号が5桁固定なら =MID(A1,MIN(FIND(RIGHT(ROW($1:$10),1),A1&"1234567890",6)),5) と入力してCtrl+Shift+Enterで配列数式にする。 上記はA1セルの6桁目以降で初めて数値の出てきた位置から5文字を抽出します。

parisici
質問者

お礼

ありがとうございます。90%以上が自動で抜き出せました。

すると、全ての回答が全文表示されます。
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

こんばんは! 参考になるかどうか判りませんが・・・ 無理矢理って感じの方法になります。 条件として、文字列の中の数字の続きは2箇所だけで、 最初の5文字以内に数字の続き(番地?)が入っているとします。 A1セルからデータがあるとし、B列に表示させるとします。 配列数式になってしまいますので、この画面から数式をコピー&ペーストしただけではエラーになると思います。 B1セルに貼り付け後、F2キーを押す、又は数式バー内で一度クリック、又はF2キーを押します。 編集可能になりますので、Shift+Ctrl+Enterキーで確定してください。 数式の前後に{ }マークが入り配列数式になります。 B1セルは =MID(SUBSTITUTE(A1,LEFT(A1,5),""),MATCH(TRUE,ISNUMBER(MID(SUBSTITUTE(A1,LEFT(A1,5),""),ROW($A$1:$A$50),1)*1),0),5) (エラー処理はしていません) として、Shift+Ctrl+Enterキーです これをオートフィルで下へコピーします。 尚、A列の文字数は50文字以内(空白も含め)としています。 以上、参考になれば良いのですが 的外れなら読み流してくださいね。m(__)m

parisici
質問者

お礼

ありがとうございます。90%以上が自動で抜き出せました。

すると、全ての回答が全文表示されます。
回答No.2

> "Paris Cedex"、"St Cloud Cedex"などの単語数、文字の長さなど様々です。 セル【A1】に住所が入力されているとして・・・ 郵便番号以降の単語数に変化がったとしても以下の数式で対処できます B1=MID(A1,FIND(" ",A1)+17,7) 但し、郵便番号より前に入力されている住所?の単語数に変化があった場合「+17」の部分を補正しなければならなくなりますが・・・

parisici
質問者

お礼

ありがとうございます。90%以上が自動で抜き出せました。

すると、全ての回答が全文表示されます。
回答No.1

行頭や行末には郵便番号がないという前提なら、 1.行頭や行末の数字を全て削除 2.残っているアルファベットを全て削除 上記の処理で残った文字列が郵便番号と推定されますが・・・如何ですか? #2のアルファベットに「-」や「’」などの特殊文字を追加しないと駄目だと思いますが・・・あとは工夫して下さい、アイデアです

parisici
質問者

お礼

ありがとうございます。90%以上が自動で抜き出せました。

すると、全ての回答が全文表示されます。

関連するQ&A