• 締切済み

SUMPRODUCT関数について

皆様宜しくお願いします。 最近こちらでSUMPRODUCT関数をお教えいただいてから色々な集計に使っていて、かなり重宝しております。 ところで、私は簡単な集計にはSUMIF関数やCOUNTIF関数等を、複数条件にはSUMPRODUCT関数を使用しているのですが、集計作業においてSUMPRODUCT関数では出来ないものってどんなものでしょうか? お暇なときにご返答をいただければと思います。 宜しくお願いします。

みんなの回答

noname#79209
noname#79209
回答No.3

ここへの回答の多くで使われているSUMPRODUCT関数を使ったものは SUMPRODUCT関数の本来の使い方ではなく、SUMPRODUCT関数の特性を利用したものです。 配列数式の設定やデバッグが面倒なので、自動的に配列としてパラメータを指定出来るSUMPRODUCT関数を使っているように思えます。

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんにちは。 >集計作業においてSUMPRODUCT関数では出来ないものってどんなものでしょうか? 回答はあってないようなものですね。全体の分母が決まっていないまま、ある事象の数個の条件に満足しても、それ以外の条件を挙げるということは、集合の論理としては、成り立ちません。全体が決まっていて、それに対して、該当する集合と該当しない補集合が成り立つのであって、この場合は、全体が決まっていないわけですから、補集合が成り立ちませんね。 ただ、先日、同様の質問で、SUMPRODUCT を考えてみましたが、 個々の引数に関して、 あくまでも、引数として、配列になっているものが、ひとつの条件です。 配列数式自体は、SUMPRODUCT では不可能です。 例: =SUMPRODUCT(IF(ISNUMBER(A1:A10),1,"")) これはSUMPRODUCT は生きていません。中の引数は、配列ではなく、配列数式だから、成り立ちません。この場合は、SUMPRODUCT なしで、配列確定(Shift+Ctrl - Enter)をすればよいわけです。これは、並べ替えの関数、LARGE, SMALL で、支障が出てきますので、かなり工夫が必要になってきます。 また、いくつかの関数で、配列を受けないものがあります。 例:N関数 =SUMPRODUCT(N(A1:A10)) これらの関数に関しては、Microsoft 側では公開していませんので、個々に試してみなくては分かりません。ある程度は、時代的に古い関数が、配列を引数に取らない傾向にあります。例えば、RANK関数が、それにあたります。なぜ、変更しなかったかというよりも、ほとんど、過去の関数のオリジナリティは、Microsoft 側にないからなのだと思います。 それから、配列は、列全体(例:A:A) というようなスタイルは受けられないということです。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.1

質問が広範囲すぎて、どういうケースを言っているか、回答者側に質問を回されて、探し捉えるのは難しいのですが この質問コーナーの質問の回答を見る限り、複数条件の集計では、ほぼSUMPRODUCT関数で賄えると思います。 こういう一般的な質問の回答は余程経験を積み記憶力の良い人で無いと答え難い。具体的な場合があれば聞く、また答えるでどうでしょう。 また当質問はSUMであり論点がずれますが、条件付き平均などを出すときに、SUMPRODUCTは(SUMPRODUCTでの合計)/(SUMPRODUCTでの件数合計)になり、直接的ではないと思う。 また双対性がある(一方で解ければ他方でも解ける)ように見える、配列数式とSUMPRODUCT関数ですが、配列数式で解けるが、SUMPRODUCT関数で表現するのが難しいと感じるときが、時どきありますが、それも小生が多少の時間では出来ないだけ、知ってる人ならできるのかもしれませんが。

関連するQ&A

  • エクセル「SUMPRODUCT関数」で困っています

    SUMPRODUCT関数 初心者です。 項目数15くらい、約10000件のデータベースから、3項目の条件でSUMPRODUCT関数を使って20種別×15種別の表を作成してみようと思いました。 …が、結果すべて0になってしまいます。 SUMPRODUCT関数の使い方(考え方)はあっていると思います。(小さい表で使ってみると正しく計算されるため) たしかに、SUMPRODUCT関数は沢山計算しているので、大きな?表を集計するのに向かないのでしょうか? そのあたりがわかりません。 ただ、ピボットテーブルで同じものを作成すると、さくさく完成します。 こんな漠然とした質問でお答えいだけるのか不安ですが、どなたかお詳しい方よろしくお願いします。

  • SUMPRODUCT関数について

    SUMPRODUCT関数を使いA列の対象値(LEFT関数を使い左一文字を検索対象としC列の該当値の合計を集計していますがLEFT関数で検索対象を複数にする場合はどのようにすればいいのでしょうか? 下記の場合はsとdを検索対象としたいのですが。 宜しくお願いいたします。   A  B  C 1 sb    20 2 sc    30 3 sd    40 4 db    50 5 dc    60

  • EXCELのSUMPRODUCTでエラーになります

    複数の条件を用いて集計をするのにSUMPRODUCTを使おうとしたら #VALUEエラーになります。 SUMPRODUCT((条件1)*(条件2)*(条件3)*(集計列))にすると #VALUEが出て、大かっこをはずすと0が返ります。 Oも答えではないので式が違っていると思われますが、 大かっこをつけると#VALUEが返るのが納得いきません。 宜しくお願いします。

  • 【Excel】 SUMPRODUCT関数の高速化

    複数条件に当てはまるものを計数するのにSUMPRODUCT関数を多用したせいか,再計算に非常に時間がかかり困っています.再計算を手動にして,保存時も再計算しない設定にしてしのいでいますが,計算自体を速くするにはどうすればいいでしょうか.SUMPRODUCT以外の関数で同様のことができるもっと速い代替策があれば,そちらもご教示下さい.

  • Excelでアンケート集計の関数について教えてください。

    初めて質問します。よろしくお願いします。 アンケートの集計で、複数の条件でカウントする方法を探しています。 COUNT,COUNTIF,DCOUNT,FREQUENCY,SUMPRODUCTなどで試してみましたが、範囲などの指定が悪いのか、エラーばかりが出ます。 集計内容は回答と年齢のみです。   A | B   回答|年齢 1 ○ | 25 2   | 18 3 ○ | 28 4 ○ | 30 5   | 21     :     : とあり、カウントしたい条件は回答の○の個数なのですが、なおかつ10代、20代、30代で数字を出さなければならない場合は、一番有効な関数はどれになりますでしょうか。 よろしくお願いします。

  • エクセル関数のSUMPRODUCTについて教えてください。

    複数条件を満たす合計を出したくて「SUMPRODUCT関数」を考え付いたのですが、「~で始まる文字」など曖昧な条件の時にはどのようにしたらよいのでしょうか? ワイルドカード文字(*)を使ってみたのですが、うまくいかず困っています。よろしくお願いいたします。 コード 摘要    収入 1   東組南東  100 1   北東組北西 150 1   東組北西  100  1   北東組南西 150 コード「1」で摘要が「東組」で始まる収入の合計を出したい場合には、どのような関数が考えられますでしょうか?

  • ☆至急☆ 関数/ 集計 

    エクセル2003を使用している初心者です。 2つの条件が一致する合計値を集計する関数を教えてください。 SUMIF関数を使用すると思うのですが、検索条件がわかりません・・ よろしくお願いします!

  • SUMPRODUCTで~を含む検索

    Sheet2   A  B   C 1 1  あい  500 2 1  いう  80 3 0  うえ  120 4 0  いお  200 5 1  えお  350 6 0  あい  260 7 1  えい  90 . . Sheet2が上記のような例で、A1の文字("い")を含むCの合計を A2=SUMIF(Sheet2!B1:B1000,"*"&A1&"*",Sheet2!C1:C1000) で出してたのですが、更にSheet2!A1:A1000が1ならば…という条件を 加える時にはどのようにすればよいのでしょうか? 複数条件になるのでSUMPRODUCT関数を使おうと試みましたがうまくいきませんでした。 http://oshiete1.goo.ne.jp/qa2760300.html で、~から始まると言うのがあったので出来そうな気はするのですが…。

  • 《Excel2000》SUMPRODUCT関数での集計、空白行がある場合は?

    SUMPRODUCT関数を使い、複数の条件に合致する行のみの数値を足し上げたいと思っているのですが、集計したい数字が入っている列にところどころ空白があるせいで、結果がエラーになってしまいます。 仕様の事情で、空白のセルに0などを入れることはできないのですが、この場合はどうすればいいでしょう? =SUMPRODUCT(($A$2:$A$100=1)*($B$2:$B$100=1)*($C$2:$C$100)) 現在はこのような式です。C列に空白セルがあります。

  • SUMPRODUCT 複数条件と日付

    関数初心者です。Excel2000を使用しています。 SUMPRODUCT関数を使って複数条件の集計をしたいのですが、どうしても日付の列に反応してくれません。 おそらく原因はデータ元となる日付に時間まで入っているからではないかと思っています。 日付が入力されているセルのデータは 例) 2012/3/3 12:10:50 → セルの書式設定は 時刻のみ 12:10:50 集計したいのは複数条件 例) 2012/3/3 12:10:50 りんご 50  日付 と 商品名 を条件とし 数値 の合計を出したいです。 秒単位で時間計測しているのでこのデータ自体の変更と書式設定の変更は出来ません。 =SUMPRODUCT((B6:B12=B3)*(C6:C12=C3),(D6:D12)) B3のセルに「3/3」もしくは「2012/03/03」の入力で拾えるようにしたくて、 過去のの質問など参考にし(B6:B12=B3)の部分を変更しましたが、うまくいきませんでした。 やってみたことが的外れだったのかもしれません。 また、日付を条件とした場合、書式設定も影響されるのでしょうか? アドバイスをよろしくお願いします。

専門家に質問してみよう