• ベストアンサー

エクセルでリストから自動入力

A列に品番、B列に品名が記入されたシート1があります。 シート2のA列に品番を入力した時、シート1に入力した品番と同じものがあれば、B列にその品名を自動的に入力したいのですが、どのようにすればいいでしょうか?

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

  • ベストアンサー
  • taa1031
  • ベストアンサー率38% (147/377)
回答No.2

私は、このようなときには、 「VLOOKUP関数」で対応しています。 シート2の B列の2で (B1には 品名などの項目が入ってるとした場合) 関数ボタンを押して VLOOKUP を選択し、 項目にA2 選択範囲には、シート1の表全部 列番号には、左から何列目に返したい答えがあるのか、 検索の型には、FALSE(一致したときのみ答えを返すというイミ) を入力して、 その後に、 コピーした時に、選択範囲がずれないように $マークを入れて、 品番が入っていない時にエラーがでないように IF関数を付け足しています。 つまり、下記のような数式になります。 =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$B$60,2,FALSE)) と入力しています。

smilepick
質問者

お礼

ありがとうございます。 思っていたことができました。 一つ質問なのですが、 =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$B$60,2,FALSE)) で、$が入っていますがなぜでしょう? 私は品番と品名が幾つあるか分からない(大量にある)ためA:Bと入力してうまくいきました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

#3です。補足に関して >確かに「FALSE」がないとエラーが出たり・・ そこじゃなくて、「$つき}=絶対参照が大事(式を下方向に複写したときに正しい結果を出すために必須)ということを言いたかった。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

>VLOOKUP(A1,シート1!A1:A10,2) は=VLOOKUP(A1,シート1!$A$1:$B$10,2,FALSE) としないと、エラーになったり、正しき値が返らないはず。

smilepick
質問者

お礼

ありがとうございます。 確かに「FALSE」がないとエラーが出たり、類似のものが返ってきたりしました。

回答No.1

VLOOKUP関数を使ってみては? 使い方は、 品名のセルを選択して =VLOOKUP(A1,シート1!A1:A10,2) A1に入力されている値をシート1のA1~A10の範囲から検索し、 見つかったら同じ行で2列目のデータを表示する。 (2列目というのは、品名の列です。)

smilepick
質問者

お礼

ありがとうございます。 usakomarumaruさんのヒントで、もう一息のところまでいけました。