- ベストアンサー
【EXCEL】sumif関数の連発以外ですっきりした関数
はじめまして。いろいろ調べましたが、いい方法が見つからなかったので教えてください。EXCEL2002です。 今、以下の表があります。 A B C D E F G H I J 1日付 商品 数量 金額 合計 |日付 商品 数量 金額 合計 2 aaa 3 12,000 | bbb 4 20,000 3 9/1 bbb 1 5,000 24,000|9/4 ccc 5 17,500 41,500 4 ccc 2 7,000 | aaa 1 4,000 ----------------------------------------------------------------------- 日付と金額の2~4行目は結合されています。 A~E列のブロックが右に16個あり(今は2個しか書いてませんが)、aaa商品の個数と金額を抽出したいのですが、各ブロックでsumif関数を使い、 16個合計すれば出るのですが、もっとすっきりした関数はありますでしょうか? 実はこの16個のブロックが縦にいくつもあり、関数をかなり入れてるせいかファイルサイズが大きくなってしまってるので。 宜しくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
SUMとIFの配列式でもすっきり出来ます。 数量は=SUM(IF(B2:BY4="aaa",C2:BZ4))を配列式にして {=SUM(IF(B2:BY4="aaa",C2:BZ4))} 金額も同様に=SUM(IF(B2:BY4="aaa",C2:BZ4*D2:CA4))の配列式 {=SUM(IF(B2:BY4="aaa",C2:BZ4*D2:CA4))}
その他の回答 (1)
- mshr1962
- ベストアンサー率39% (7417/18945)
範囲はA1:CB4として、 数量=SUMPRODUCT(($A$2:$BY$4="aaa")*($C$2:$BZ$4)) 金額=SUMPRODUCT(($A$2:$BY$4="aaa")*($D$2:$CA$4))
補足
お返事ありがとうございます。 SUMPRODUCT関数を使うのですね。 ですが上記のとおりにすると#VALUEになってしまいます。 どうしてでしょう?
お礼
先ほど、補足で書いたのですが、配列数式について調べてみたら、goo39さんのとおりでできました! いろいろ勉強になります。 ありがとうございました。
補足
お返事ありがとうございます。 数量の場合で、配列式にして中かっこ{}のところがわからないのですが、普通に=SUM(IF(B2:BY4="aaa",C2:BZ4))を入力してみたところ、 #VALUEになってしまいます。 ですが、数式バーの関数(fx)のところをクリックして引数をみてみると、数式の結果は正しい値が返っていました。 どうしてでしょうか?