• 締切済み

EXCEL 複数条件で検索表示

表1 A B C 1 a1 ~5 \10,000 2 a1 10~ \20,000 3 b1 ~5 \10,000 4 b1 10~ \20,000 表2 A B C 1 a1 7  \10,000 2 b1 11 \20,000 上記のように表2のA、B列を入力してC列の値段を表示(表1参照して) したいのですがどのように関数を作ったらいいでしょうか? 過去の質問を検索しましたがいいのが見つからなかったので 申し訳ないですがご教示願います。

みんなの回答

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.3

NO2です。 回答が遅れました事、お詫びします。 ・D:Dは、INDEX関数の配列を指しますので、この場合は金額列です。 ・表が100行以上ある場合、有効行範囲に調整して下さい。 (例.表範囲が100行) =INDEX(D:D,SUMPRODUCT((sheet1!$A$1:$A$100=A1)*(sheet1!$B$1:$B$100<=B1)*($C$1:$C$100>=B1)*(ROW($A$1:$A$100))))

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

表1をシート1でA列を製品名、B列を最小、C列を最大、D列を金額と想定し、範囲をA1:C4としています。 表2のシート2の金額セルに=INDEX(D:D,SUMPRODUCT((sheet1!$A$1:$A$4=A1)*(sheet1!$B$1:$B$4<=B1)*($C$1:$C$4>=B1)*(ROW($A$1:$A$4)))) (例)表1 a1 1 9 \10,000 a1 10 100 \20,000 b1 1 9 \10,000 b1 10 100 \20,000

sun3005
質問者

お礼

早急に回答いただきありがとうございます。 INDEX(D:D,…←の"D:D"はどういう意味ですか。 また表1が数が100以上縦に続くのですが成立するのでしょうか? 初心者みたいな質問ですみません。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

表1がSheet1、表2がSheet2だとして、 表2のC1に、 =IF(A1="a1",VLOOKUP(B1,Sheet1!$B$1:$C$2,2,TRUE),VLOOKUP(B1,Sheet1!$B$3:$C$4,2,TRUE)) 表2のC2に、 =IF(A2="a1",VLOOKUP(B2,Sheet1!$B$1:$C$2,2,TRUE),VLOOKUP(B2,Sheet1!$B$3:$C$4,2,TRUE))

関連するQ&A