• ベストアンサー

エクセルでまとまったデータを取り出すには?

エクセルでできた二つの名簿ファイルがあり、片方のファイル(1)にはクラス全員の<学籍番号、名前、住所、電話番号、メールアドレス・・・>が、それぞれ1列目、2列目・・・・に入力されているとします。もう片方のファイル(2)にはクラスの一部の生徒の学籍番号だけが1列目に入力されているとします。エクセルを使って、ファイル(2)に学籍番号がのっている生徒の分だけ<名前、住所、電話番号、メールアドレス・・・>のデータを全て取り出して表示する(学籍番号で絞り込みをする)にはどのような式でどのような操作を行えばよいのでしょうか?よろしくお願いします。

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

  • ベストアンサー
  • telescope
  • ベストアンサー率54% (1069/1958)
回答No.2

VLOOKUP関数を使います。 sheet1のA1~E40にクラス全員の 学籍番号、名前、住所、電話番号、メールアドレス以下 があり、 sheet2の学籍番号の横に名前、住所、電話番号、メールアドレス以下 を取り出します。 sheet2で学籍番号がセルA2に入力されているとして、 B2セルに =VLOOKUP($A2,Sheet1!$A$1:$E$40,2,false) C2セルに =VLOOKUP($A2,Sheet1!$A$1:$E$40,3,false) D2セルに =VLOOKUP($A2,Sheet1!$A$1:$E$40,4,false) E2セルに =VLOOKUP($A2,Sheet1!$A$1:$E$40,5,false) ・・・ 関数貼り付けウィザードを使うと楽です。 Sheet2のB2セルに、ツールバーの「fx」ボタンかメニューバーの「挿入」-「関数」で [検索/行列]のVLOOKUPを選び、 検査値に学籍番号の入ったセルを選びます。ここでは、A2ですが、F4キーを3回押して、$A2にします。 範囲には、sheet2のデータの範囲を選択します。ここでは、Sheet1!A1:E40ですがF4キーを1回押して、Sheet1!$A$1:$E$40にします。 列番号には、sheet2のデータの範囲の参照する列を指定します。ここでは、2になります。 検査の型には、falseと入力します。 (FALSE を指定し、検索値 が見つからない場合は、エラー値 #N/A が返されます。TRUE を指定し、検索値 が見つからない場合は、検索値 未満で最も大きい値が使用されます。) OKボタンを押します。 B2セルを選択し、右下の+マークを右方向にE2セルまでフィルしてコピーします。 式は、=VLOOKUP($A2,Sheet1!$A$1:$E$40,2,false) のように列番号が2のままですので、C2セルの式を3に、D2を4に、E5を5・・・になおします。 B2セルからE2セルまで選択して、右下の+マークを下方向にフィルしてコピーします。 VLOOKUP関数の詳細はヘルプを参照してください。

その他の回答 (2)

  • dejiji-
  • ベストアンサー率38% (327/858)
回答No.3

同じ学籍番号のデータを表示するにはVLOOKUP関数を使ってください。 拾い出す方のシートの一列目に学籍番号を入力すると右側のデータが表示されるようにします。 学籍番号の右のセルを選択し、挿入→関数からVLOOKUPを選択して「検索値」には左のセル(学籍番号を入れるセル)「範囲」には元データのデータ範囲をドラッグして選択、「列」は式を入れるセルに表示したいデータの列の番号(何列目か)、「検索の型」にはTRUEを入力して、あとはこれを右側にデータの数だけコピーし、コピーしたら、同じデータが出ると思うので、列の番号を直して行く。 これで、一行完成したら、必要な分だけ行をコピーすれば出来ると思います。 コピーの場合には参照方法を(相対参照と絶対参照を上手く使わないと思った通りの状態にならないのでご注意を)

  • Hageoyadi
  • ベストアンサー率40% (3145/7860)
回答No.1

関連するQ&A

専門家に質問してみよう