- 締切済み
ある条件を満たしたデータのみのコピーについて
EXCEL2000を使っています。 ここに、既存の名簿ファイル[Z](社員全員のもの)があります。 ここのデータを拾って、新たに名簿ファィル[X](任意の人だけ載っているもの)を作ろうとしています。 名簿ファイル[Z]には、社員番号(セルA)・名前(セルB)・住所(セルC)・電話番号(セルD)が入力されています。 ところが名簿ファィル[X]には、まだ社員番号しか入力されていません。 そこで、名簿ファイル[Z]を参照し、マッチした社員番号があった場合、その行の名前・住所・電話番号が それぞれ入る様、LOOKUP関数を使用してみましたが、1行目しかうまくいきません。 参照範囲で固定にすべきところには $ を入れたにもかかわらず、2行目からはメチャクチャなデータが 入ってしまいます。 LOOKUP関数を使用するのが間違っているのかも知れませんが、他に何を使ったら良いのかわからず 途方に暮れています。どなたか良い知恵を貸していただけませんでしょうか? なお、名簿ファイル[Z]の社員番号は全角で入力されており、新たに作成する名簿ファイル[X]の社員番号は 半角で入力されています。 どうぞ宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- koh_rei
- ベストアンサー率20% (24/115)
私ならば、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)
VLOOKUPを使われている場合ですが 参照する範囲を相対参照にしていませんか? A2に社員番号があるとして B2に=VLOOKUP($A2,Sheet2!$A$2:$Z$100,COLUMN(),FALSE) として横方向にコピー後、縦方向にコピーしてください。 参照範囲は「挿入」「名前」「定義」で名前付けしておいた方が簡単です。