• 締切済み

ある条件を満たしたデータのみのコピーについて

EXCEL2000を使っています。 ここに、既存の名簿ファイル[Z](社員全員のもの)があります。 ここのデータを拾って、新たに名簿ファィル[X](任意の人だけ載っているもの)を作ろうとしています。 名簿ファイル[Z]には、社員番号(セルA)・名前(セルB)・住所(セルC)・電話番号(セルD)が入力されています。 ところが名簿ファィル[X]には、まだ社員番号しか入力されていません。 そこで、名簿ファイル[Z]を参照し、マッチした社員番号があった場合、その行の名前・住所・電話番号が それぞれ入る様、LOOKUP関数を使用してみましたが、1行目しかうまくいきません。 参照範囲で固定にすべきところには $ を入れたにもかかわらず、2行目からはメチャクチャなデータが 入ってしまいます。 LOOKUP関数を使用するのが間違っているのかも知れませんが、他に何を使ったら良いのかわからず 途方に暮れています。どなたか良い知恵を貸していただけませんでしょうか? なお、名簿ファイル[Z]の社員番号は全角で入力されており、新たに作成する名簿ファイル[X]の社員番号は 半角で入力されています。 どうぞ宜しくお願いします。

みんなの回答

  • koh_rei
  • ベストアンサー率20% (24/115)
回答No.2

私ならば、VLOOKUP関数を使います。 1.名簿ファイル[Z]の「社員番号」を半角に変換 2.名簿ファイル[Z]を「社員番号」で並べ替え 3.名簿ファイル[Z]の「社員番号」がA列であることを確認 3.名簿ファイル[X]でVLOOKUPを使用 名簿ファイル[Z]のSheet1にデータが入力されており、 名簿ファイル[X]のA1に「社員番号」が入力されているとして、 B1に =VLOOKUP($A1,'[名簿ファイルZ.xls]Sheet1'!$A:$D,2,FALSE) C1に =VLOOKUP($A1,'[名簿ファイルZ.xls]Sheet1'!$A:$D,3,FALSE) D1に =VLOOKUP($A1,'[名簿ファイルZ.xls]Sheet1'!$A:$D,4,FALSE) で、下まで引っ張ります。 私の知らないもっとスマートな方法があるかもしれません。 上手く行きますように。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

VLOOKUPを使われている場合ですが 参照する範囲を相対参照にしていませんか? A2に社員番号があるとして B2に=VLOOKUP($A2,Sheet2!$A$2:$Z$100,COLUMN(),FALSE) として横方向にコピー後、縦方向にコピーしてください。 参照範囲は「挿入」「名前」「定義」で名前付けしておいた方が簡単です。