• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Excelでの並び替えで困っています)

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

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

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

  • ベストアンサー
  • 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