- ベストアンサー
Excelでの住所の並び替えに困っています
- Excel2007を使用している際、列Aと列Bに同じ住所が入力されており、列Bの住所を列Aの並び方に合わせたい場合、どのようにすれば良いか知りたいです。
- その他にも、同じ問題を抱えた人がいることがわかりましたが、解決策に至れていません。
- Excelでの住所の並び替えに関する方法を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (4)
- -9L9-
- ベストアンサー率44% (1088/2422)
>同じようにソートをする方法がわからなかったので質問したのですが ソートする範囲を選択してから並べ替えを実行してください。範囲指定をせずにソートしようとすると表全体がソートされてしまいます。ご質問の表では、まず列Aのデータ範囲を範囲指定してソートし、次にB列からD列までのデータ範囲を範囲指定して、B列をソートのキーに指定して、A列と同じ基準でソートすればA列と同じ並びになるはずです。(A列のデータとB列のデータが並び順以外は完全に一致していることが前提です。) 本来のソート機能は指定した範囲しかソートしないのですが、Excelお得意のおせっかい機能で、範囲指定しなくても勝手にソフトがソートする範囲を決めて実行してしまうため、明示的に範囲指定しないと、意図しない範囲でソートが行われてしまいますのでご注意を。
- kagakusuki
- ベストアンサー率51% (2610/5101)
>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列と同じ順序に並べた、各項目のデータが表示されます。
お礼
丁寧な回答ありがとうございます。 この方法で無事に出来ました。
- -9L9-
- ベストアンサー率44% (1088/2422)
両方同じデータなのなら、両方同じようにソートすれば一致するはずです。
お礼
同じようにソートをする方法がわからなかったので質問したのですが、質問が長く意図が掴みづらいようで申し訳ありませんでした。 回答ありがとうございました。
- SaKaKashi
- ベストアンサー率24% (755/3136)
列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列がその結果
お礼
補足で書き込むべきではなく、お礼で書き込むべきでしたね。 ありがとうございました。
補足
お早い回答ありがとうございます。 教えて頂いた通りの方法を試してみましたが、 F1に、=VLOOKUP(D1,$B:$:$D,2,FALSE)を入力すると 「入力した数式は正しくありません」と出てしまいます。
お礼
丁寧な回答ありがとうございました。 図を載せていただいたのでとてもわかりやすかったです。 本当にありがとうございました。