重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【解消】通知が届かない不具合について

SUMPRODUCT関数を使いこなせていないので、頓珍漢な質問かもしれません。。
論理和を使って条件を満たした項目のみ和を取る関数、というイメージで利用しているのですが。

「条件を満たした列の値を、参照関数の引数として使うことは可能か」
という質問になります。


具体的にやりたいことを添付画像に簡単な例で代用して書いてみたのですが、
 ・契約先毎に報奨額を求めたい
 ・報奨額は、
  1.契約先の契約料金
  2.契約期間から参照される報酬返還率
 の2つの積で求められる

というルールにて計算を1つの式で行うことは可能でしょうか。
言いたいことは下記の式のようなイメージなのですが、そりゃうまく行くわけもなく。。
そもそも条件に一致した値を引数としてMATCH関数で利用することはできないのでしょうか。

=SUMPRODUCT((A2:A8="株式会社B")*1,B2:B8*INDEX(E3:F6,MATCH(C2:C8,E3:E6,1),2))
(INDEX,MATCHの条件指定は仮置き)
・A列で「株式会社B」となっているものにTRUEフラグを立てる
・TRUEフラグが立った加盟店の、B列の契約料金×「契約月数に応じた報奨返還率を参照したもの(INDEX以後)」を足し合わせる
がやりたいことなのですが。


D列で「返還率」は先に計算しといて、A・B・D列でSUMPRODUCTを行うしかないのでしょうか。
A~C列の表は他の計算でも用いるため、できれば列の追加など編集は行いたくなく…

解りづらい箇所があればご質問ください。
どうぞ宜しくお願いします。

「SumProduct関数と参照関数の組み」の質問画像

A 回答 (1件)

添付図参照


F9: {=SUMPRODUCT((A$2:A$8=E9)*(B$2:B$8)*(VLOOKUP(C$2:C$8,E$3:F$6,2)))}
【注】この式は配列数式(←分かる?)です。
「SumProduct関数と参照関数の組み」の回答画像1
    • good
    • 0
この回答へのお礼

SUMPRODUCT関数を使い始めてから久しく配列関数を触っていませんでしたが、ここで生きてくるんですね。。
引数、参照範囲と配列がごっちゃになってしまっていました。
そしてVLOOKUPでも代用が効くんですね、質問の内容以外にも1つ、勉強になりました笑

疑問解決です、ありがとうございました!

お礼日時:2015/09/21 11:27

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