- ベストアンサー
エクセルでリストから自動入力
A列に品番、B列に品名が記入されたシート1があります。 シート2のA列に品番を入力した時、シート1に入力した品番と同じものがあれば、B列にその品名を自動的に入力したいのですが、どのようにすればいいでしょうか?
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
私は、このようなときには、 「VLOOKUP関数」で対応しています。 シート2の B列の2で (B1には 品名などの項目が入ってるとした場合) 関数ボタンを押して VLOOKUP を選択し、 項目にA2 選択範囲には、シート1の表全部 列番号には、左から何列目に返したい答えがあるのか、 検索の型には、FALSE(一致したときのみ答えを返すというイミ) を入力して、 その後に、 コピーした時に、選択範囲がずれないように $マークを入れて、 品番が入っていない時にエラーがでないように IF関数を付け足しています。 つまり、下記のような数式になります。 =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$B$60,2,FALSE)) と入力しています。
その他の回答 (3)
- imogasi
- ベストアンサー率27% (4737/17069)
#3です。補足に関して >確かに「FALSE」がないとエラーが出たり・・ そこじゃなくて、「$つき}=絶対参照が大事(式を下方向に複写したときに正しい結果を出すために必須)ということを言いたかった。
- imogasi
- ベストアンサー率27% (4737/17069)
>VLOOKUP(A1,シート1!A1:A10,2) は=VLOOKUP(A1,シート1!$A$1:$B$10,2,FALSE) としないと、エラーになったり、正しき値が返らないはず。
お礼
ありがとうございます。 確かに「FALSE」がないとエラーが出たり、類似のものが返ってきたりしました。
- usakomarumaru
- ベストアンサー率31% (22/69)
VLOOKUP関数を使ってみては? 使い方は、 品名のセルを選択して =VLOOKUP(A1,シート1!A1:A10,2) A1に入力されている値をシート1のA1~A10の範囲から検索し、 見つかったら同じ行で2列目のデータを表示する。 (2列目というのは、品名の列です。)
お礼
ありがとうございます。 usakomarumaruさんのヒントで、もう一息のところまでいけました。
お礼
ありがとうございます。 思っていたことができました。 一つ質問なのですが、 =IF(A2="","",VLOOKUP(A2,Sheet1!$A$2:$B$60,2,FALSE)) で、$が入っていますがなぜでしょう? 私は品番と品名が幾つあるか分からない(大量にある)ためA:Bと入力してうまくいきました。