• ベストアンサー

エクセルでIFを使った関数

エクセルで 品番 材料名   個数   品番   個数   材料 A  ■ー555   10   A(1)  40(2) (3) B  ▲ー100   50 C  ◎ー200   30 D  ▲ー100   20 E  ◎ー200   40 A  ■ー555   30 上記のような表があり、(1)に品番を入力すると (2)にはSUMIFを使って個数がでてきます。 表に品番Aというものがひとつしかないと限らないので、 あわせた個数がでてくるようになっています。 問題は(1)に品番を入力したときに(3)に品番に見合った材料をでてくるようにしたいのです。 IF関数を使ってやってみたのですが、材料が文字列のせいかVALUEとエラーが出ていまいちわかりませんでした。 どなたか詳しい方よろしくお願いいたします。

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

  • ベストアンサー
回答No.1

別のシートにA~Dに対応した材料の一覧表を作り、VLOOKUP関数を使用し、読み込ませればよいのではないでしょうか。 別表 セルA  セルB A    Aの材料 B    Bの材料 メインの表材料(3)欄 =VLOOKUP(A1,Sheet2!1:65536,2)

dokinnrupann
質問者

お礼

その関数があったんですね!!! IFにこだわってしまい、わからなくなっていました。 お早いお返事大変助かりました。 ありがとうございました。

その他の回答 (2)

noname#204879
noname#204879
回答No.3

  A    B   C   D  E   F   G 1 品番 材料名  個数   品番 個数 材料名 2 A  ■ー555  10   A   40 ■ー555 3 B  ▲ー100  50 4 C  ◎ー200  30 5 D  ▲ー100  20 6 E  ◎ー200  40 7 A  ■ー555  30 8          G2: =VLOOKUP(E2,A:B,2,FALSE)

  • charisan
  • ベストアンサー率25% (2/8)
回答No.2

gogo_japanさんのご回答にほんの補足です。 vlookupの中の2番目のパラメータは可能な限り範囲は狭いほうが保存したときに ファイルのサイズが小さくなります。 可変数だとは思いますが余裕はもってもある程度きりのいい行数にしたらよいと思います。  また、$A$1:$B$2000のように絶対座標を使用すれば、単にCopyしてすべての行に使えます。

dokinnrupann
質問者

お礼

丁寧にありがとうございました。 助かりました。