Excelの住所による並び替え方法

このQ&Aのポイント
  • Excelの住所による並び替え方法を教えてください。
  • Excel2010を使用しています。データには顧客名、住所、顧客履歴の情報があり、住所で地域ごとに並び替えたいと考えています。町名リストを使って並び替えを試みましたが上手くいきません。
  • Excelのユーザー設定リストやマクロを利用して、住所による並び替え方法を教えてください。
回答を見る
  • ベストアンサー

Excelの住所による並び替え

Excel2010を使用しています。 A列 顧客名 B列 住所 C列 顧客履歴 のデータがあります。 C列の顧客データはA列の顧客に対して複数行あります。 このとき、住所のB列で地域ごとに並び替えをしたいと考えています。 住所は、○○県○○市○○町1-2-3のようになっています。 しかし住所登録によっては、 ○○県○○郡○○町1-2-3 ○○市○○町1-2-3 のように、入力した人や時期(市町村統合前の状態)によって形式が違います。 「○○町」の部分を使って並び替えをするために、ユーザー設定リストで、町名リストを北から南の町名順で作成してそれを使って並び替えをしてみましたが、上手く反映しません。 ユーザー設定リストの作り方や、マクロの組み方があれば教えていただけないでしょうか?

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.3

>ちなみに自宅住所を入れてみましたが、郵便番号が上手く変換されなかったのでやはり部分抽出ができないと厳しそうですね^^; 住所から郵便番号が変換されないなら、郵便番号ウィザードがうまくインストールされていないのではないでしょうか。 以下のページを参考に正しくインストールされているか調べてみてください。 http://www.microsoft.com/ja-jp/download/details.aspx?id=17422 正しくインストールされていれば、2万件のデータでも一括して郵便番号を取得することができますので、空欄になる部分だけをフィルタで抽出して、個別処理すればよいので、簡単に処理ができると思います。 たとえば以下の住所データはExcel2007の郵便番号ウィザードで、すべて郵便番号を取得することができます。 千代田区一ツ橋1-2-3日の出マンション12-201 東京都千代田区皇居外苑2-2 東京都千代田区大手町2-5-6 千代田区丸の内234 上尾市原市321 東京都千代田区千代田2-9コーポ東雲 小平市大沼町3109 日野市日野台1-9-21

kirishimamania
質問者

お礼

お忙しい中、ありがとうございます。 何件かテストして、郵便番号がうまく触れないパターンがわかってきました。空白等のデータを絞り込んで再度手修正して変換をしたらうまくいきました!ありがとうございます。

その他の回答 (3)

  • shorun
  • ベストアンサー率42% (133/310)
回答No.4

既にNo3回答に正解が出ていますが もし、郵便番号ウィザード がうまく使えなければ、代替方法を提案します。 >2万件ほどあり、すべてを再度郵便番号を検索して、入力することが難しいので 「はがき作成ソフト」を利用すれば、完璧では無いかもしれませんが すべて手入力し直すより、はるかに能率よく郵便番号を取得できますよ。 「筆まめ」ソフトでは実証済みです。他のソフトにも同様の機能があるかも知れません。 1.「筆まめ」でエキセルファイル.xlsxを読み込んで「次へ」「次へ」クリック 2.「郵便番号の自動変換」にチェックを付けて「開始」クリック 3.他形式.csv形式で保存 4.csv形式ファイルの郵便番号の列を(元データ)エクセルファイルに挿入して完成。 ただし、元データが旧住所表示の場合には、理由はわかりませんが (1)郵便番号の自動入力をし、さらに住所も新表記に自動修正してくれる。 (2)郵便番号は自動入力をしてくれるが、住所は旧表記のままで修正しない。 のケースが発生するので、必要に応じて、手入力で補正してください。

kirishimamania
質問者

お礼

返答が遅れました。 詳しく手順を教えてくださりありがとうございます。 自宅のはがきソフトを使って検証してみました。 現在あるデータをこちらを併用して郵便番号をふってみます!

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

私は郵便番号で並び替えをしています。 手間はかかりますが1列増やし郵便番号を入力されることをお勧めします。 IME2010 郵便番号辞書を使えるようにすれば、 郵便番号を入力し変換すると住所を表示 出来るようになります。 下記URLはNECのQ&Aです。 http://121ware.com/qasearch/1007/app/servlet/relatedqa?QID=012363 Microsoft Office IME 2010 に含まれる郵便番号辞書を、最新の辞書データに更新する方法 Microsoftのサイトです。 http://support.microsoft.com/kb/2450059/ja ついでに 入力規則の日本語入力で 列ごとに、「ひらがな」、「オフ(英語モード)」と設定しておくと入力の効率が良くなります。 顧客名、住所、 顧客履歴 等 「ひらがな」 郵便番号、電話番号 等 「オフ(英語モード)」 http://www.wanichan.com/pc/excel/2010/2/page03.html

kirishimamania
質問者

お礼

ありがとうございます。 今後は変換処理を省略するためにIMEの辞書を登録し、郵便番号を入力するようにしたいと思います。 現段階であるデータが2万件ほどあり、すべてを再度郵便番号を検索して、入力することが難しいので今後の参考とさせていただきます。 アドバイスありがとうございます!

  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.1

住所の表記が、県名が入力されていないものがあるなどバラバラの場合、そのままでは簡単に並べ替える方法はありません。 このようなケースでは、住所データをあいまい検索で郵便番号に変換し、この郵便番号で並べ替える方法がお勧めです。 すなわち、エクセルアドインの郵便番号ウィザードを使って、住所から郵便番号を一括取得し(住所の一部から郵便番号を取得できます)、この郵便番号を使用して並べ替えます(少し工夫すれば住所表記の統一もできます)。 ただし、旧住所のデータ(郵便番号辞書に登録されていないデータ)の場合は郵便番号が取得できないので、これらのデータはまとめて適宜処理してください。 郵便番号ウィザードについては以下のページを参考にしてください。 http://www.wanichan.com/pc/excel/2010/2/page05.html

kirishimamania
質問者

お礼

アドバイスありがとうございます。早速自宅PCにてやってみました(Excel2007ですが^^;)ただ、住所の一部から郵便番号を取得する方法が分からず、上手く郵便番号変換ができません。 うーん・・・。ちなみに自宅住所を入れてみましたが、郵便番号が上手く変換されなかったのでやはり部分抽出ができないと厳しそうですね^^;

関連するQ&A

  • エクセルで・・・。

        (1) A県B市D町2-15-3     (2) A県B郡1-2-3     (3) A県C市F町4-3-5 という住所のデータがあったとき(1)ならA県B市D町 と 2-15-3 (2)ならA県B郡 と 1-2-3 の間で分けたいんですけどどうすればいいでしょう? ※県郡市などに含まれる数字は漢数字、番地町名は必ず英数字になってます。 ※住所の長さはもちろんバラバラです。

  • エクセルの並び替え

    エクセルの並び替えをしたいのですが、  最優先させるキー:A列  2番目:B列 のように並べ替えたいので B列を最優先させるキーに指定して並べ替え    ↓ OK   A列を最優先させるキーに指定して並べ替え をしました。ですが、こうなってしまいます   ↓↓ こうしたいのですが↓↓ A列      B列      A列   B列 1       A       1   A 1       B       1   A  1       C       1   B 1       A       1   B   1       B       1   C  1       C       1   C ちなみに本当は数字ではなく文字でユーザー設定リストを使って並べ替えています。分かりにくい質問で申し訳ないのですがお願いします。

  • Excelの並び替えの修正は可能でしょうか?

    Excelのデータ並び替えで、失敗をしてしまい、とても困っています。 顧客データをセルごとに項目を決めて、入力していったのですが、1つのセル(たとえばA列のみ)を並び替えを行い、他のセルの項目と合致しないデータにしてしまいました。 例: A列勤務先B(顧客氏名)C(住所)D(電話番号)E(E-mail) ーというカテゴリ分けをし、データを入力します。 A列の勤務先というデータのみを50音別に並び替えをしてしまいました。 他のBCDE列はAとつながる同列のデータのはずが、Aのデータと分断されてしまったという状況です。 Aの列とBCDE列とのデータを合致させる方法はないのでしょうか? 保存データは並び替えを行ってしまった後のもので、(随時、更新保存しています)以前のデータに戻すことができません。 データ全体を並び替えしなければいけないところを、1つの列だけ並び替えをしてしまった場合の修正方法がもしあれば、お教えください。とても困っています。 (おそらく、無理だろうなぁ・・・と諦めモードですが) 並び替えを失敗しないコツ???などもあればお教えください。 どうぞよろしくお願いいたします。

  • Excelによる住所録作成について

    どなたか教えてください。いろいろと調べましたが分かりませんでした。 Sheet1(C列は空欄)・Sheet2を用意します。 Sheet1 B列の住所にSheet2の市名が含まれていた場合、C列に東部・西部・南部を返したいと思います。 どのような関数・やり方がありますでしょうか? ご教示願います。 Sheet1 A B     C  社名  住所    エリア 1 ○○(株) A県A市X町 東部 2 □□(株) A県E市Y町 西部 3 (有)△△ A県I市Z町 南部 4 (有)○○ A県B市J町 東部 Sheet2 A B C 1 東部 西部 南部   2 A市 E市 I市 3 B市 F市 J市 4 C市 G市 K市 5 D市 H市 L市

  • EXCEL2003で住所の並び替えがうまくいきません

    EXCEL2003で住所録を作成しています。 A.○○市○○町1丁目1番1号 B.○○市○○町1丁目2番1号 C.○○市○○町1丁目11番1号 ABCのように並べたいのですが、番地の部分の2より11が優先されて しまい、BよりCのほうが上にきてしまいます。 番地を01のように入力することも考えましたが、見栄えが悪くなるので やめました。 何か並び替えの良い方法はないでしょうか?

  • Excelで住所データに基づきを順序に並べ替える

    住所データに基づき、Excelのデータを並べ替えたいです。 住所は、 X市A町1丁目2番3号 という形式保存されています。 全てがX市内の住所です。 並べ替えの規則は、 1、地区別 2、町名 3、番地の番号順(丁目、番、号が若い順) データ内容を単純化するしますと以下のようになります。 「あ地区」には、A町、B町、C町、D町が含まれます。 「い地区」には、E町、F町、G町が含まれます。 「う地区」には、H町、I町、J町が含まれます。 現在は住所の並び順に規則性がないですが、 あ地区、い地区、う地区の順で優先し、各地区内では、A、B、C、、、の順を優先して並べ替えたいです(住民基本台帳の順序)。同一の町内の住所は丁目、番、号の数字の小さい順とします。 例えば、元データが、 1、B町5丁目11番5号 2、A町2丁目7番6号 3、A町2丁目6番8号 という並びの場合、上記規則に基づいて並び替えると、 1、A町2丁目6番8号 2、A町2丁目7番6号 3、B町5丁目11番5号 となります。 ※ 住所には地区名は入っていません。 町名には必ずしも「町」が付いているとは限りません。 全ての地区名と対応する町名、優先順位はこちらで把握しています。 データ1行内には住所以外のデータがありますが、他のデータは順序に影響しません。 どのように操作すれば効率よく並べ替えできるでしょうか。

  • 住所

    住所で○○県△△市□□区××町1-1-1とすると □□区は市町村か町名のどちらに分類されますか? 市町村だと△△市□□区 町名だと□□区××町1-1-1 になると思いますが

  • EXCEL 関数について

    こんにちはEXCEL関数について教えて下さい。B列に住所の町名が入力されており、C列にも住所の町名が入力されています。D列に入力されている町名でB列に入力されていない町名を調べたいと思います。 例えば下記のような表がある場合「溝口町」という検索結果を出したいんですけど できますか?  A   B   C   D 1   玉川町    溝口町 2   玉川町    神田川 3   神田川    玉川町 4   小町     神田川 5   根古屋    玉川町

  • Excelの並び替えがうまくできない

    Excelでデータの並び替えをする順番を任意にしたいので、「ツール」-「オプション」-「ユーザー設定リスト」に登録して、並び替えをするのですが、うまく集合せずに、同じグループがいくつかできてしまいます。 「ユーザー設定リスト」を使用しないでやると、うまく集合します。 ちなみに字句は入力規則の「リスト」を使用して入力しています。 何が悪いのでしょうか、アドバスをお願いします。

  • Excelでのデータの並び替え

    Excelで以下のようにデータの並び替えを行いたいのですが どのような関数や手順で行えばいいのでしょうか。 A  B           A   B  C  D 001 a           001  a  b 001 b       →   002  a  b  c 002 a       →   003  a 002 b       →   004  a  b 002 c       →   . 003 a           . 004 a           . 004 b           . .               . . . 上記のような感じで、A列の重複を省きB列のデータを1列ごとに表示したいのです。 宜しくお願いいたします。

専門家に質問してみよう