• ベストアンサー

範囲の有るリストから2点以上の条件で抽出する方法

vlookup関数から導き出せるのでは?と思ってやっていますが… 例 注文票 品 名 注文個数 単価 売価 りんご 10   50  500 りんご 50   40 2000 みかん  5   60  300 みかん 20   50 1000 価格表 品名   注文個数  単価 りんご 1~10個  50円 りんご 11~50個 40円 みかん 1~10個  60円 みかん 11~50個 50円 注文票に品名を入力すれば、価格表から、注文個数により単価を 導きだす。方法です。 VLOOKUP関数とIF文で、入り子にするとできそうですが、うまくいきません。 良い関数、わかりやすい方法など、ご存じでしたら、教えて頂ければ 助かります。 宜しくお願いいたします。

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

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

VLOOKUPとMATCH関数の組み合わせでもできますが INDEX/MATCH関数の組み合わせを推奨します C2セル =INDEX($F$3:$G$5,MATCH(B3,$E$3:$E$5),MATCH(A3,$F$2:$G$2,0)) 下へオートフィル 添付図参照

angels2
質問者

お礼

早々のご回答ありがとうございます。 MATCH関数を使えないか?と、調べてはいたのですが、INDEX関数も使うのですね? ありがとうございます。 もういちど、各関数を調べてみます。

その他の回答 (1)

  • web2525
  • ベストアンサー率42% (1219/2850)
回答No.2

項目が2種、価格2種程度であればINDEXやMATCH関数でもお手軽に可能かと思いますが、状況によっては計算式が長くなったり解り難い状況になりやすくなります。 条件が多岐にわたる場合は、複数の表を作成しVLOOKUPを上手く利用する事により解り易い関数式で実現可能になります。 質問の形式だと みかんの表、りんごの表をそれぞれ作成 表範囲に名前をつける事により、どちらの表を参照するかを計算式に含める事により単純な関数式で求める事ができます。 =VLOOKUP(B2,INDIRECT(A2),2,1) 赤枠の表には”りんご”、青枠の表は”みかん”と名前付けしています。 この方法だと産地や、品種など条件が増えた場合も応用が効くと思います。

angels2
質問者

お礼

お礼が遅くなり、申し訳ございませんでした。 vlookupを使う方法が、なかなか出てこなくて、苦労していました。 非常に参考になりました。 indirect関数も、教えていただき、ありがとうございます。

関連するQ&A