2012年5月10日木曜日

sumproduct関数の課題


 前回は、「sumproduct関数」を、実践した結果を紹介しました。
 今回は、実践して出てきた課題をお伝えいたします。


 sumproduct関数は、複数の列同士の値を掛け合わせて、さらにそれらの
 合計を一発で求めたい時に効果的です。

 (例えば、商品ごとの単価と売れた個数が1行1商品で並んでいるような
 データで、全商品の売上金額の合計を求めたいときなど)


 とは言え、実施していくうちに何点か課題が出てきました。



 1、式が複雑になりやすい


 掛け合わせたい列や指定したい条件が、2-3つ程度であればさほど問題
 ないのですが、それ以上に多くなると、関数自体がかなり長くなって
 きます。

 さらにifなど他の関数と組み合わせると、長く複雑になることがでてきます。

 式を作るのに時間がかかりすぎてしまっては本末転倒なので、そのような時は、
 無理に一つの式で行おうとせず、複数の式に分割するようにしましょう。



 2、複数の引数を指定する使い方では、条件設定ができない


 単純に列同士を掛け合わせて合計する場合は、以下のように複数の引数として
 指定することもできます。

 =sumproduct(B2:B4 , C2:C4 , D2:D4)


 ただし、この形式で指定するときは、A2:A4="A"のような条件設定は
 行えません。

 使い分けを行うのが面倒であれば、以下のように条件を*で結合して、
 常に1つの引数で表現する形式をお奨めします。

 =sumproduct((B2:B4)*(C2:C4)*(D2:D4))



 上記の点に気をつければ、一発でほしい結果が得られるのでとても便利な
 関数です。



 次回は「sumproduct関数」の簡単なまとめをしたいと思います。

0 件のコメント:

コメントを投稿