電子書籍の厳選無料作品が豊富!

こんにちわ。
SUMPRODUCT関数に挑戦していて上手くいかない点があるので教えていただけると助かります。

複数のシート(A,B,C)のそれぞれ同じセル範囲の中から、集計するシート内と一定条件に合致したものを抽出したいので、

=IF($A19=0,0,(SUMPRODUCT(($A19=A!$A$723:$A$769)*(A!$C$723:$AG$769))))+IF($A19=0,0,(SUMPRODUCT(($A19=B!$A$723:$A$769)*(B!$C$723:$AG$769))))+IF($A19=0,0,(SUMPRODUCT(($A19=C!$A$723:$A$769)*(C!$C$723:$AG$769))))

という式を作りました。3シート目位までは結果が正しく戻るのですが、途中でエラーが出てしまいます。全部で12シート分の条件にあったセルを合計したいのですが。
長すぎるのか、括弧のつけ方とかがあるのかと思うのですが、短くする方法がいまいちわからず困っています。

宜しくお願いします。

A 回答 (2件)

たとえエラーがでないとしてもそんなゴチャゴチャ式は立てるべきではありません。


後のことを考え修正などし易いように作業列を使った方がいいでしょう。

例えば、シート12枚分として、K~V列を作業列に使う。

K列
 =IF($A19=0,0,(SUMPRODUCT(($A19=A!$A$723:$A$769)*(A!$C$723:$AG$769))))

L列
 IF($A19=0,0,(SUMPRODUCT(($A19=B!$A$723:$A$769)*(B!$C$723:$AG$769))))

以下同じようにしておきSUMで合計する

 =SUM(K19:V19)  ’合計範囲は適宜修正

以上。
 
    • good
    • 0
この回答へのお礼

そうですね。
シートが大きいので、何とか一つのセル内でおさめようと思いましたが、おっしゃるとおり修正を考えるとその方が良いと思いました。
やってみて、うまくいきました。
ありがとうございました。

お礼日時:2008/04/01 17:57

逆転の発想ですが次の方法は如何でしょうか。


集計するシート名をZ、対象シートをA~Lとします。
(1)各A~Lシート側の固定セル位置に=IF(Z!$A19=0,0,SUMPRODUCT((Z!$A19=$A$723:$A$769)*$C$723:$AG$769))を設定
(2)仮に集計シートのB19セルに=SUM('A:L'!固定セル)で串刺し集計
    • good
    • 0
この回答へのお礼

ありがとうございます。
A~Lのシートがかなり大きくて、それ以外にも抽出したいところがあるので、計算用列を作ることにしました。

ありがとうございました。

お礼日時:2008/04/01 17:59

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