プロが教える店舗&オフィスのセキュリティ対策術

表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参照して)
したいのですがどのように関数を作ったらいいでしょうか?
過去の質問を検索しましたがいいのが見つからなかったので
申し訳ないですがご教示願います。

A 回答 (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))))
    • good
    • 0

表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
    • good
    • 1
この回答へのお礼

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

お礼日時:2007/05/08 13:18

表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))
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!