• ベストアンサー

エクセルで抽出して並べ替え

A列とB列に文字列あります。 A列には、10,000行あり、B列には3000行あるとします。 B列にある文字列は、必ずA列にもあるのですが、 B列の文字列をA列と同じ位置に並べ替えるには、 どのようにしたら良いでしょうか? VLOOKUP関数で出来るみたいなのですが、 なかなか思うよにできません。 宜しくお願いします。

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

  • ベストアンサー
  • soixante
  • ベストアンサー率32% (401/1245)
回答No.1

スマートではありませんが、以下の方法で出来ました。 A1~A10000、B1~B3000に文字列が入っていると推測して書きます。 【1】B列に列を挿入する。(=A列1万行、C列3千行となる) 【2】B1に、 =MATCH(C1,$A$1:$A$10000,0) と入力し、B3000まで引っ張る。(※) ※面倒でしょうから、B1セルに上の式を入れた後に、B1セルをアクティブにしたうえで、名前ボックス(A1セルの上にあるやつ)に、B3000 と入力、Shift+Enter し、Ctrl+D でも可能です。 【3】D1セルに =IF(ISERROR(VLOOKUP(ROW(A1),$B$1:$C$3000,2,0)),"",VLOOKUP(ROW(A1),$B$1:$C$30000,2,0)) と入力し、D10000 まで。 もっとスマートな方法の回答が付くと思いますが、取り急ぎ。

関連するQ&A