• ベストアンサー

EXCEL 並べ替え

excelの話です。A列に200名の名前が入っています。B列にも同じ200名の名前が入っていますが、順番はA列とは異なります。C列にはB列の名前の人の出身地が入っています。 この状態から、B列とC列の関係を崩さずに、A列の名前順にB列の名前を並べ替えるにはどうすればいいですか?

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

  • ベストアンサー
回答No.2

「並べ替え」、「フィルタ」(古いバージョンでは「オートフィルタ」)のいずれの機能でも、昇順か降順で並べ替えることができ、よく使われます。並べ替えたいセル範囲を選択した状態で、これらの機能を実行するだけです。 ただ、通し番号でもIDでもアルファベットでもいいですが、何か番号を振らないと、単に並べ替えただけでは、氏名の振り仮名の順に並べ替えようとすると思います。A列が始めから振り仮名の順に並べ替えてある場合は一応、B・Cの2列を選んで同様に並べ替えるだけで、A列と同じ順になるはずです。 ただし、大抵は、B列のセルの一つ一つに正しく振り仮名の設定をしていないことが多いと思われます。そういうときは、Excelが勝手に認識した振り仮名の順になりますが、それが正しい読みでなかったりすることが多いのです。でも、A列もB列も振り仮名を未設定ならば、正しい順番でなくても同じ順番にはなるでしょう。 結局、間違いがないのは、番号を振って、その番号の昇順/降順で並べ替えるという方法でしょう。B列のデータに番号を振るには、やはり関数を使うのがいちばん普通の方法でしょう。例えば、 =match(b1,$A$1:$A$1000,0) をD1などに入力すると、B1のデータのA列における順番が算出されます。

anngatoo
質問者

お礼

ありがとうございました。

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

その他の回答 (1)

回答No.1

まず、別の列に、通し番号を付けましょう。A列とB列のそれぞれに付けるといいかもしれません。これにより、並べ替えても、いつでも一瞬で元の順序に戻せます。 A列の順に並べ替える方法はいろいろあると考えられますが、例えばA列のデータをB~C列から読み取る次のVLOOKUP関数をD1とE1に入力することが考えられます(ここでは通し番号の列は考慮せずに記述しています)。 =vlookup(A1,B:C,1,0) (D1) =vlookup(A1,B:C,2,0) (E1) ご質問の内容が易しいので、カテゴリーは「デジタルライフ >ソフトウェア >MS Office」あたりのほうが適切かと。

anngatoo
質問者

お礼

ありがとうございます。カテゴリーを変えて再度、質問してみます。 ちなみに並べ替えとフィルターというのを使ってやるとしたら、どうすればいいのでしょうか。 よろしければ、教えていただきたいです。

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

関連するQ&A