• ベストアンサー

登録番号を入れるだけで表示する方法

Excel2007を使用しています。 Sheet1に1000人分の名簿(A列 登録番号、B列 名前、C列 住所、D列 TEL…)があるのですが、 Sheet2のA列に登録番号だけを入力したら、自動的にSheet1にある個々人の名簿情報を表示する方法について教えてください。

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

  • ベストアンサー
  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.3

 まず、Sheet2のB2セルに次の関数を入力して下さい。 =IF($A2="","",IF(COUNTIF(Sheet1!$A:$A,$A2)=0,"(登録無し)",VLOOKUP($A2,Sheet1!$A:B,COLUMNS(Sheet1!$A:B),FALSE)))  次に、Sheet2のB2セルをコピーして、Sheet2の表中で、名簿情報を表示させたい全てのセルに貼り付けて下さい。  これで、Sheet1にある個々人の名簿情報が自動的に表示される様になります。

fuku0ka
質問者

お礼

ありがとうございました! 思い描いていたように、データーが飛んできました! 今まで、「コピー・貼り付け」を繰り返していたので… 今後は効率良く作業ができそうです! ありがとうございました。

その他の回答 (2)

  • srafp
  • ベストアンサー率56% (2185/3855)
回答No.2

VLOOKUP 関数を利用すれば可能と考えます。 Sheet2のセルA2に登録番号を入力し、Sheet2のセルB2以降にSheet1(下記の例ではセルA2~Z1001にデータがある場合)と同じ順序で各データを表示するのであれば、  Sheet2のB2に VLOOKUP(A2,Sheet1!A2:Z1001,2)  Sheet2のC2に VLOOKUP(A2,Sheet1!A2:Z1001,3)   :  Sheet2のE2に VLOOKUP(A2,Sheet1!A2:Z1001,5) このような感じで入力してください。 例えばSheet2のB2に入力する VLOOKUP(A2,Sheet1!A2:Z1001,2) の構文の意味を説明すると、  『A2』   Sheet2のセルA2に入力した値を検索キーにしろ。  『Sheet1!A2:Z1001』   検索するデータはSheet1!A2:Z1001の範囲だ。   ・注意点    「Sheet1」の部分は、実際のSheet名を入れてください。    検索キーに指定した値は、ここで指定した範囲の最も左側の列を見に行きます。    Sheet1に入力したデータは、範囲のモットも左側の列をキーにして昇順にして下さい。  『2』   Sheet2のB2には、指定した範囲の左から2番目の列に入力している情報を表示しろ。

fuku0ka
質問者

お礼

ありがとうございました。 「例えば…」以降の説明がとても役立ちました! なかなか解決できず、困っていましたが、 Sheet名を変えていたので、「実際のシート名を」 という説明がなければ、投げ出してしまうところ でした。 ありがとうございました!

noname#142908
noname#142908
回答No.1

VLOOKUPで検索