Excelでの住所の並び替えに困っています

このQ&Aのポイント
  • Excel2007を使用している際、列Aと列Bに同じ住所が入力されており、列Bの住所を列Aの並び方に合わせたい場合、どのようにすれば良いか知りたいです。
  • その他にも、同じ問題を抱えた人がいることがわかりましたが、解決策に至れていません。
  • Excelでの住所の並び替えに関する方法を教えてください。
回答を見る
  • ベストアンサー

Excelでの並び替えで困っています

Excel2007を使用しております。 列Aには、○○1丁目、○○2丁目という具合に、住所が1000件ほど入力されています。 続いて、列Bには「あいうえお」順に整列されている住所が1000件あります。 列A,Bは内容はまったく同じで、整列の仕方がちがうだけです。 また、列C,Dには、丁目(列B)に付随したデータ(人口など)が入力されています。 列B以下のデータを、列Aの並び方に合わせたいのです。 うまくやる方法をご存知の方は、どなたか方法を教えていただけませんか? 補足なのですが ttp://q.hatena.ne.jp/1170283414 このページにほぼ同じ内容の質問があったのですが、うまく並び替えることが出来ませんでした。

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

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.4

Excelの操作だけで対応する方法。 1.A列に作業列を一行挿入、1から始まる連番を入れる 2.A:B列を選択して並び替え。その時、最優先キーをB列とする。  これで2列の住所が同じにならび方になったはず。 3.A:E列を選択して並び替え、最優先キーはA列。 後はA列(作業列)を削除して出来上がり

hkdauiwerhjs
質問者

お礼

丁寧な回答ありがとうございました。 図を載せていただいたのでとてもわかりやすかったです。 本当にありがとうございました。

その他の回答 (4)

  • -9L9-
  • ベストアンサー率44% (1088/2422)
回答No.5

>同じようにソートをする方法がわからなかったので質問したのですが ソートする範囲を選択してから並べ替えを実行してください。範囲指定をせずにソートしようとすると表全体がソートされてしまいます。ご質問の表では、まず列Aのデータ範囲を範囲指定してソートし、次にB列からD列までのデータ範囲を範囲指定して、B列をソートのキーに指定して、A列と同じ基準でソートすればA列と同じ並びになるはずです。(A列のデータとB列のデータが並び順以外は完全に一致していることが前提です。) 本来のソート機能は指定した範囲しかソートしないのですが、Excelお得意のおせっかい機能で、範囲指定しなくても勝手にソフトがソートする範囲を決めて実行してしまうため、明示的に範囲指定しないと、意図しない範囲でソートが行われてしまいますのでご注意を。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

>F1に、=VLOOKUP(D1,$B:$:$D,2,FALSE)を入力すると 「入力した数式は正しくありません」と出てしまいます。  それは、ANo.1様の書き間違いが原因で、ANo.1様はきっと =VLOOKUP(D1,$B:$D,2,FALSE) と書きたかったのだと思われます。  尚、VLOOKUP関数だけでは、もし、B列に該当する住所が無い場合には、エラーとなりますし、人口欄等の他のデータが空欄となっている箇所がある場合にも、表示は空欄とはならず、0が表示されてしまいます。  ですから、VLOOKUP関数にIF関数を組み合わせて、エラーや余計な0が表示されない様にした方が良いと思います。  B~D列には、折角順序良くデータが並んでいるのですから、それをバラバラに並べ直すのは勿体ないので、A列とB~D列のデータを基にして、A列と同じ順序に各データを並べた表を、別のシートに表示させては如何でしょうか?  今仮に、元データがSheet1に存在しているものとします。  まず、別シートのA1セルに次の数式を入力して下さい。 =IF(ISNUMBER(1/LEN(VLOOKUP(INDEX(Sheet1!$A:$A,ROW()),Sheet1!$B:B,COLUMNS(Sheet1!$B:B),FALSE))),VLOOKUP(INDEX(Sheet1!$A:$A,ROW()),Sheet1!$B:B,COLUMNS(Sheet1!$B:B),FALSE),"")  次に、別シートのA1セルをコピーして、別シートのB1~C1の範囲に貼り付けて下さい。  次に、Sheet1のB1~D1の範囲をまとめてコピーしてから、別シートのA1セルを右クリックして下さい。  すると選択肢が現れますから、その中にある[形式を選択して貼り付け]をクリックして下さい。  すると、「形式を選択して貼り付け」ダイアログボックスが現れますから、その中にある[書式]と記されている箇所をクリックして、チェックを入れて下さい。  次に、「形式を選択して貼り付け」ダイアログボックスの[OK]ボタンをクリックして下さい。  次に、別シートのA1セル~C1の範囲をまとめてコピーして、同じ列の2行目以下に貼り付けて下さい。  これで、別シートに、Sheet1のA列と同じ順序に並べた、各項目のデータが表示されます。

hkdauiwerhjs
質問者

お礼

丁寧な回答ありがとうございます。 この方法で無事に出来ました。

  • -9L9-
  • ベストアンサー率44% (1088/2422)
回答No.2

両方同じデータなのなら、両方同じようにソートすれば一致するはずです。

hkdauiwerhjs
質問者

お礼

同じようにソートをする方法がわからなかったので質問したのですが、質問が長く意図が掴みづらいようで申し訳ありませんでした。 回答ありがとうございました。

  • SaKaKashi
  • ベストアンサー率24% (755/3136)
回答No.1

列Aをコピーして列Eに貼り付けます。 F1に=VLOOKUP(D1,$B:$:$D,2,FALSE) G1に=VLOOKUP(D1,$B:$:$D,3,FALSE) F1をコピーしてF2からFの最後まで貼り付け G1をコピーしてG2からGの最後まで貼り付け E列からG,F列がその結果

hkdauiwerhjs
質問者

お礼

補足で書き込むべきではなく、お礼で書き込むべきでしたね。 ありがとうございました。

hkdauiwerhjs
質問者

補足

お早い回答ありがとうございます。 教えて頂いた通りの方法を試してみましたが、 F1に、=VLOOKUP(D1,$B:$:$D,2,FALSE)を入力すると 「入力した数式は正しくありません」と出てしまいます。

関連するQ&A

  • エクセル初心者です。

    Excelで住所録を作成したのですが、以下の問題がクリアできません。1件1件手入力以外にいい方法がありましたら教えてください。 A・B・C列に住所・丁目、番地・アパート・マンション名の順で入力しました。しかし失敗してしまい、A列に○○丁目まで入力したり、C列に番地+アパート・マンション名を入力してしまいました。結合でなんとか解決できるかな?と試してみましたが、当然だめでした。何かいい方法はありますか?やはり、1件1件手入力以外方法はないのでしょうか? Ex)  A列        B列   C列   名古屋市中村区(1丁目) 3-   18番地 ○○ハイツ                 ↓      A列        B列   C列   名古屋市中村区1丁目  3-18番地 ○○ハイツ

  • Excelでの並び替え

    Excel2002です。 香典帳を作成しています。 A列 名前 B列 住所 C列 金額 D列 備考 です。 それで、入力が終わったのですが、後からみる場合、名前が五十音順になっていたほうが見易いので、そのようにしたいのでですが、そのような事は出来ますでしょうか?

  • エクセルのデータ並び替えについて教えてください。

    エクセルのデータ並び替えについて教えてください。 セブン エクセル2007 です、初心者ですよろしくおねがいします。 1行目に表題(○○会名簿)と入力 A列とB列を結合して中央揃えしました。 2行目にA例は名前 B列は住所と入力 3行目からは上記に添い名前、住所と入力してから、数行を過ぎたところで 名前のA列昇順にデータを並びかえようとしたら、1行と2行目も混ざり並び替えられました。 3行目以下を並び替えすることはできないのでしょうか? 方法を教えてくださいませ

  • Excelで2つの列の内容を1つの列に

    Excel2003ですが、A列に住所名、B列に1-○○-40のように番地が入っています。 このB列の番地をA列の住所の後に続けたいのですが、データが何千件もあるので一気にできる方法ありますか? よろしくお願いします。

  • Excelの並び替えについて

    Excel2007を使っています。 A~C列に入っている数値のデータを、上からa1,b1,c1,a2,b2,c2,a3.b3...という風に1列に並べ替えたいのですが、どうしたらいいでしょうか?

  • Excelの住所による並び替え

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

  • excelの並び替え

    A列のみにデータがあるのですが 1つのデータは 15行ごとになっています。 例えば A1 名前1 A2 電話番号1 A3 住所1 ・・・ A15 備考1 A16 名前2 A17 電話番号2 A18 住所2 ・・・A30 備考2 A31 名前3 A32 電話番号3  という風にデータが並んでいます。 それを SHEET2 に移動したいのですが その時に 要らないデータと並びを変えたいデータがあるのですが、どうするのがいいのでしょうか? A列に 名前 B列に 住所 C列に 備考 という風にしたいのです。 ご返答宜しくお願いいたします。

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

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

  • エクセルについて

    A列にさまざまな住所が300件ほど並んでいます。 例:○○県○○市3丁目5-3 数字の後ろだけ(例だと3丁目3丁目5-3) を300件一度に消す方法はあるでしょうか? よろしくおねがいします。

  • 【エクセル】無作為抽出

    アンケート調査のために無作為抽出をします。 A列に氏名 B列に住所 が 1万件 ほど入力されています。 そこから300件を抽出したいと思います。 それを 別ブック・別シート もしくは 同シートのC列・D列 にそれぞれ抽出した氏名や住所を表示させるにはどのように したらいいのでしょうか。 なるべくマクロ等は使用したくないのですがご教示くだされば 幸いです。どうぞよろしくお願いいたします。 *追伸  =RAND() を使用してオートフィルする方法は理解しています。  A列(氏名)だけを抽出する方法はわかるのですが、それに付随  するB列(住所)を同時に抜き出す方法がないのか困っています。  

専門家に質問してみよう