• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルVLOOKUPで列毎に並び替えたい)

エクセルVLOOKUPで列毎に並び替えたい

このQ&Aのポイント
  • エクセルのA列に異なる値が入っている状況で、C列にも同じ値が含まれています。300行×80列の表の行を、A列の値と同じ値を持つC列セルの行に並び替えたいです。VLOOKUPを使うことで、D列移行の値も連動して並び替わる方法があります。
  • エクセルのA列に値があり、C列にも同じ値があります。300行×80列の表の行を、A列の値と同じ値を持つC列セルの行に並び替えたいです。VLOOKUPを使えば、D列以降の値も並び替わります。
  • エクセルのA列に異なる値が入っており、C列にも同じ値があります。300行×80列の表の行を、A列の値と同じ値を持つC列セルの行に移動させたいです。VLOOKUPを使用することで、D列以降の値も連動して移動します。

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

  • ベストアンサー
  • FEX2053
  • ベストアンサー率37% (7991/21371)
回答No.1

場所を作るために、とりあえず、B列の横にもう一列作っておきます。 以降「C1セルを起点に・・・」を「D1セルを起点に・・・」と読み替えて 下さい。 で、B1~B300に1~300の連番を打っておきます。 次にC1セルに =VLOOKUP(D1,$A$1:$B$300,2,false) こう入力して、一気にC2~C300にコピーします。 こうすると、C列に「D列の値が、A列の上から何番目にあるか」が コピーされます。 あとは、C1セルを起点に、C列の昇順で300行×81列の範囲を ソートすればオッケーです。 VLOOKUPを残したままソートするのが気になるなら、ソート直前に C1~C300を、「コピー」、C1セルを選択して「形式を選択して貼り付け」 「値」として貼り付けると、式が消えて数値だけになりますので、安心 かと。

ec2m2tb
質問者

お礼

お見事です。 VLOOKUPで検索される側は、300×80の表とばかり考えていました。 逆にするとは・・・ どうもありがとうございました。

その他の回答 (1)

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

>1列に200個のVLOOKUPだけ埋め込めばD列移行の値はくっついて並び替わってくれる方法はないでしょうか? 基本的に数式で対応する場合は、すべてのセルに数式を入力する方法しかありません。 例示のデータのレイアウトが「C1セルを起点に」と記載されていますが、このようなレイアウトだとA1セルの右にはこれらのデータを抽出できないので、たとえばA1セルに項目名でその下のA200セルまで抽出したい条件が記載されていて、C1セルではなく、A300セル以下に項目名を含むデータベースがあるなら、以下のような操作でA300以下のデータベースから希望のデータを抽出することができます。 A300セルを選択し、Ctrl+Shift+*のショートカット操作で300行×80列のデータ範囲を選択し、データタブの「詳細設定」(Excel2003以前のバージョンなら(「データ」「フィルタ」「フィルタオプションの設定」)でリスト範囲は上記の選択範囲、抽出条件にA1:A200(抽出したいデータ範囲)を選択し、「OK」すると希望のデータが抽出されていますので、この範囲を適当な場所(必要ならA1セル)にコピー・貼り付けしてください。

ec2m2tb
質問者

お礼

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