もう 5回目になってしまいました
SUMPRODUCT 関数について
1.過去? の 関数
SUMPRODUCT 関数って、本当にいろいろ使用していました
今までのサンプルでは
いわば、AND条件のものを 抽出していました
※ 「男」で、かつ=AND 「ゴルフ」のもの
今回は、いわば OR条件のものを求めるケース
「ゴルフ」 または 「ヨット」 の 「税込代金」 を 求める
=SUMPRODUCT((G3:G47="ゴルフ")+(G3:G47="ヨット"),J3:J47)
「ゴルフ」の場合 と 「ヨット」の場合を 足す
そして 別のパターン
今のは、同じ列での別の条件でしたが
違う列での条件の場合
このように、単純に 足すのでは違ってくる
上のような一覧表で
「店舗名」 は、「広尾店」 または、「種別」 が、「輸入菓子」の 金額合計
まずは、前回と同じような式を作成してみます
=SUMPRODUCT((D3:D1002="広尾店")+(E3:E1002="輸入菓子"),I3:I1002)
この場合
「広尾店」で、「輸入菓子」の「金額」が、2回計算されてしまう
※ 「広尾店」で、1回 「輸入菓子」で、1回
修正するには
「広尾店」「かつ「輸入菓子」の金額を引く
-SUMPRODUCT((D3:D1002="広尾店")*(E3:E1002="輸入菓子"),I3:I1002)
※ -SUMPRODUCT((D3:D1002="広尾店")*(E3:E1002="輸入菓子")*(I3:I1002))
=SUMPRODUCT((D3:D1002="広尾店")+(E3:E1002="輸入菓子"),I3:I1002)-SUMPRODUCT((D3:D1002="広尾店")*(E3:E1002="輸入菓子"),I3:I1002)
これでも、良いのですが
以前のブログで
もっと短くできたような気がします
ε=ε=ε=ε=ε=┏( @_@)┛
ありました
SIGN 関数 を 使うようです
SIGN関数は、数値の正負を調べます
正の数のときは 1、
0 のときは 0、
負の数のときは -1 となります
本来の使い方ではないのですが
これを使うと
「1」以上の値になっても
正の場合は、すべて 「1」 と して計算してくれる
※ 足した値が 行単位では 0 か 1 に なる
=SUMPRODUCT(SIGN((D3:D1002="広尾店")+(E3:E1002="輸入菓子")),I3:I1002)