• ベストアンサー

Excel2016で郵便番号入力で住所

OS:Windows10 Pro 64bit Office2016 Home & Business Premium Excel2016で郵便番号を入れただけで住所を出力する方法を教えてください。 9F:9I 郵便番号、9J:9Z 住所 Microsoft IMEIMEのシステム辞書には郵便番号辞書は入っています。 出来れば関数を使った方法はないでしょうか?

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

  • ベストアンサー
  • Prome_Lin
  • ベストアンサー率42% (201/470)
回答No.13

一応、マクロを組みました。 あえて、いろいろなチェック作業はしていません。 チェック作業というのは、ちゃんと7桁入力されているか、とか、すべて半角の数字で入力されているか、など一切のチェックを行っていませんので、郵便番号の数字を入力する際は注意してください。 エクセルを立ち上げ、郵便番号のファイルを開きます。 「C」列と「D」列は削除しておいてください。 「Alt(「オルト」と読みます)」キーを押しながら、「F11」キーを押します。 「Visual Basic」の画面が現れますので、メニューから「挿入」→「標準モジュール」を選択します。 すると、右側の画面が白くなりますから、その新たに白くなった部分にカーソルを移動して、下のマクロをコピー&ペーストします。 「F5」を押して、マクロを走らせます。 入力を求めてくる画面になりますから、「-」のない、7桁の郵便番号を入力します。 すると、「C」列に該当の住所が表示されます(今回は文字列ですので、「F2」による訂正ができます)。 何も入力せず、「Enter」だけを押すと、入力が終了しますが、それまでは、7桁の数字を入力し続けられ、1行ずつ下げて住所を入れていきます。 通常のエクセルの画面に戻って、「F12」(名前を付けて保存)を押して、「~.xlsm」を選んで(「~」の部分は何でも構いません)保存します。 注意事項としては、次、このファイルを開くと、前回の文字(住所)がそのまま残っています。 しかも、マクロを走らせると、また、1行目からスタートしますので、気をつけてください(ファイルを閉じるときか、立ち上げるたびに「C」列を削除する、とか)。 Option Explicit Sub zip() Dim c As Integer Dim i, r As Long Dim z As String r = Range("A1").End(xlDown).Row c = 0 z = "0" Do Until z = "" z = InputBox("郵便番号を入力してください" & vbCrLf & "( -は入力しないでください)。" & vbCrLf & "何も入力しなければ終わります") For i = 1 To r If z = Cells(i, 1).Value Then c = c + 1 Cells(c, 3).Value = Cells(i, 2).Value End If Next i Loop End Sub 以下は、読む必要はありません。 私の回答を見た、他の人に対して書いているようなものですから。 通常は「Find」などを使って検索するのが普通だとは分かっていますが、それでは、エラーが出てしまうので、あえて、泥臭い「For」ループを使って、入力された郵便番号を探しています。 大昔のパソコンと違って、たかが12万件ほどのループぐらい、全く時間はかかりませんから。 しかもこれなら、見つからなかった場合、何もしないので、そのまま再入力が可能だからです。

morinosatou
質問者

お礼

ちゃんと出来ました。 これをどのように加工して私の望みの格好にするか、これからが楽しみです。 Prome_Linさん、6回も回答してくれてありがとうございました。 そのほかの回答者も拙い質問に真摯に答えてくれて、全員をベストアンサーにしたいほどです。 今回はProme_Linさんをベストアンサーに致しますが、これからもよろしくお願いいたします。

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

その他の回答 (12)

  • hayasi456
  • ベストアンサー率40% (2402/5878)
回答No.2

手間かもしれませんが9J:9Z 住所に 日本語入力 で ひらがなを漢字に変換する要領で 郵便番号を入力し変換(スペースキー) で住所が選択項目に出てきます。 NECのQ&A Windows 8 / 8.1のMicrosoft IME 2012 での説明ですがほぼ同じでしょう。 https://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=014232 富士通のQ&Aでも https://www.fmworld.net/cs/azbyclub/qanavi/jsp/qacontents.jsp?rid=3&PID=4003-8683 私はexcelで作成した住所録の列ごとに入力規則で氏名、住所、備考欄は ひらがな に 郵便番号、電話番号、eメールアドレス欄は オフ(英語モード)に切り替わるようにしています。 便利ですよ。 設定方法は https://121ware.com/spsearch/public/app/servlet/qadoc?QID=016608 こちらも http://answers.microsoft.com/ja-jp/office/forum/office_2016-excel/%E3%83%87%E3%83%BC%E3%82%BF%E3%81%AE%E5%85%A5/3fdb554a-f5ae-42e9-b155-cb8c1e7cbcc3

すると、全ての回答が全文表示されます。
  • maiko0333
  • ベストアンサー率19% (839/4401)
回答No.1

郵便番号辞書があるなら、 住所の欄に郵便番号を打って変換すれば出ますよ。 関数にするのはExcelで郵便番号辞書を持たなくてはならず、無理かと思います。

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

関連するQ&A