プロが教えるわが家の防犯対策術!

エクセルで郵便番号を打てば住所がでるようにしたいのです。
A1--193-0934と打てばB2--八王子小比企町
といったように関数がわかりません。
教えていただけませんか。
お願いいたします 

A 回答 (3件)

因みに。



アドイン郵便番号変換ウィザードでの「郵便番号と住所データ」は、かなり古くて使い物にならないです。IMEの「郵便番号辞書」も同様で、古くて使えません。

当方の「検索用ブックを用いた方法」であれば、検索用ブックさえ最新の状態にしておけば、いつでも最新のデータで変換できます。

「郵便番号と住所データ」は、先ほどの回答のダウンロードのページにあり、定期的に更新されて新しくなります。

ページの下の方にある「差分データ」が増えていれば、全件データも更新されている筈なので、定期的にチェックしましょう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
すごく参考になりました。
これからもよろしくお願いします。

お礼日時:2008/04/08 07:32

http://www.post.japanpost.jp/zipcode/download.html
から、郵便番号データ全件をダウンロードして下さい。

そして、
A列     B列
060-0000 北海道札幌市中央区以下に掲載がない場合
064-0941 北海道札幌市中央区旭ケ丘
060-0041 北海道札幌市中央区大通東
060-0042 北海道札幌市中央区大通西(1~19丁目)
064-0820 北海道札幌市中央区大通西(20~28丁目)
060-0031 北海道札幌市中央区北一条東

C列     D列
100-0000 東京都千代田区以下に掲載がない場合
102-0072 東京都千代田区飯田橋
102-0082 東京都千代田区一番町
101-0032 東京都千代田区岩本町
101-0047 東京都千代田区内神田

E列     F列
200-0000 (以下略)

と言う感じの検索用ブックを作ります。

なお「検索用ブックには65536行しか入らず、郵便番号のリスト全件をそのまま縦1列に入れる事が不可能」なので

A列には0から始まる郵便番号
B列にはA列の住所
C列には1から始まる郵便番号
D列にはC列の住所
E列には2から始まる郵便番号
F列にはE列の住所
      |
S列には9から始まる郵便番号
T列にはS列の住所

と言う感じで、工夫したブックを作るのが肝心です。

検索ブックが出来たら、B2セルに
=CHOOSE(MID(A1,1,1)+1,VLOOKUP(A1,[検索ブック.XLS]Sheet1!A:B,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!C:D,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!E:F,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!G:H,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!I:J,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!K:L,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!M:N,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!O:P,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!Q:R,2,FALSE),VLOOKUP(A1,[検索ブック.XLS]Sheet1!S:T,2,FALSE))
と言う式を入れましょう。そうすれば、A1セルに「193-0934」で「東京都八王子市小比企町」が出ます。

もし「あたまの1文字の0~9で10個に分けても、65536行じゃ足りない」と言う場合は、もう少し工夫が必要です。
    • good
    • 0

関数では無理です


アドイン郵便番号変換ウィザードを追加してください

参考URL:http://www.morgan.co.jp/kiso/5excel-5.htm
    • good
    • 0
この回答へのお礼

早速実行して見ます
ありがとうございます。
これからもよろしくお願いいたします。

お礼日時:2008/03/24 16:15

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!