SUMPRODUCT関数の使い方と個数の合計を求める方法
- SUMPRODUCT関数を使用して、複数の条件を満たすセルの個数を合計する方法を教えてください。
- 質問の例では、「aaa」と「bbb」という条件に一致するセルの個数を合計しています。
- SUMPRODUCT関数の引数に複数のCOUNTIF関数を組み合わせることで、個数の合計を正しく求めることができます。
- ベストアンサー
SUMPRODUCT関数の使い方
A列 aaa aaa bbb bbb ccc ccc と入力して、 「aaa」の個数と「bbb」の個数の合計を求める式を教えてください。 見た限りの答えは、「aaa」が2個、「bbb」が2個で4なのですが B1に 「=SUMPRODUCT(A:A="aaa",A:A="bbb")」 としたのですが、「0」が返ってきてしまいます。 B2に 「=SUMPRODUCT(COUNTIF(A:A,"aaa"),COUNTIF(A:A,"bbb"))」 だと、 4が返ってきますが A列を aaa aaa bbb にすると「3」が返ってきてほしいのに、2になってしまいます。 個数の合計を返す関数式をご教授ください。
- fds456w32
- お礼率100% (48/48)
- オフィス系ソフト
- 回答数2
- ありがとう数2
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんばんは! SUMPRODUCT関数は同一列ではなく、別列で複数条件の時に使用するのが一般的だと思います。 画像では同列の「aaa」の個数と「bbb」の個数の合計を表示したいというコトみたいですので、 =COUNTIF(A:A,"aaa")+COUNTIF(A:A,"bbb") とするのが一番簡単だと思います。 どうしてもSUMPRODUCT関数を使いたいのであれば =SUMPRODUCT((A1:A100="aaa")*1+(A1:A100="bbb")*1) といった具合でも可能だと思いますが、 SUMPRODUCT関数は配列数式になってしまいますので データ量が極端に多い場合はあまりオススメしません。 参考にならなかったらごめんなさいね。m(_ _)m
その他の回答 (1)
- keithin
- ベストアンサー率66% (5278/7940)
方法1: =SUMPRODUCT(COUNTIF(A:A,{"aaa","bbb})) でいいです 方法2: =SUMPRODUCT((A:A="aaa")+(A:A="bbb"))
お礼
ありがとうございました。
関連するQ&A
- SUMPRODUCT関数で0(ゼロ)と
はじめまして。arumikan091と申します。 (Excel初心者です(^^;) ExcelのSUMPRODUCT関数について質問があります。 A B (1) 2 0 (2) 2 4 (3) 2 (空白) (4) 2 3 (5) 2 0 (6) 3 4 (7) 3 (空白) というシートの中で、 "A列が2で、かつB列が0の個数を数える" ということをしようと思い =SUMPRODUCT((A1:A7=2)*(B1:B7=0)) と入力したのですが、 これだとB列の0(ゼロ)と一緒に""(空白)も 数えられてしまうようです。 (上記シートだと式の期待値は2なのですが、 実際値は3が返ってきます) このような場合、0(ゼロ)だけを数えられる ようにするにはどのようにすればいいか 教えていただけたら幸いです。 一応、自分でも少ない知識の中で色々トライしてみて、 =SUMPRODUCT((A1:A7=2)*(B1:B7=0))-SUMPRODUCT((A1:A7=2)*(B1:B7="")) のように式を入力するとちゃんと0(ゼロ)だけを 数えてくれるようなのですが、さらに簡単な 方法がありましたら教えてください。 Windows ME、Excel2000です。 ※1 B列単独で =COUNTIF(B1:B7,0)とするとちゃんと 0(ゼロ)だけを数えてくれます。 ※2 一応既存のQ/A集で同じ質問がないか探しましたが、 (「SUMPRODUCT 空白セル」のANDで) 同様、類似の質問が既にありましたら 申し訳ありません。 長文失礼しました(m_ _m
- 締切済み
- Windows Me
- 負数のみを対象としたSUMPRODUCT関数
エクセル2000です。 たとえば A1:A40 がCCCでないもののうちの B1:B40 の中での最大値をSUMPRODUCT関数で求める方法は以下の式だと思います。 =SUMPRODUCT(MAX((A1:A40<>"CCC")*(B1:B40))) ところが、B1:B40 の数値がすべて負の数だった場合、返って来る答えは常に 0 になるようです。 最初は原因がわからず、途方にくれていましたが、A1:A4の中で値がCCCのセル場合、そのセルが返す値は FALSE で、これを対応するB列に乗じた積を 0 としているのではないかと推測しました。 そこで、次の式のように FALSEの数+1番目に大きい数を指定したところ、やっと負の数のなかから最大値を返すようになったように思います。 =SUMPRODUCT(LARGE((A1:A40<>"CCC")*(B1:B40),COUNTIF(A1:A40,"CCC")+1)) この推測は合っているのでしょうか? 他にもっと簡単なやりかたがあるのでしょうか?
- ベストアンサー
- オフィス系ソフト
- SUMPRODUCT関数について
SUMPODUCT関数を使ったとき、並び替えをすると参照する値がずれて困っています。 たとえば、ある会に参加した人を調べたいとします。 A B C 1 参加日 名前 出身 2 12/1 aaa 東京 3 bbb 千葉 4 ccc 埼玉 ・ ・ ・ 50 12/4 kkk 千葉 51 ppp 静岡 E F G 名前 出身 参加数 1 aaa 東京 1 2 bbb 千葉 1 3 ccc 埼玉 2 ・ ・ 50 kkk 千葉 1 51 ppp 静岡 2 A・B列にデータの一覧が入っていて、この中から「aaa」さんかつ「東京」が何回参加したかを調べたいのでG列に、=SUMPRODUCT(($A$1:$A$2000=E2)*($B$2:$B$2000=F2))という数式を入れています。 A~C列のデータは今は200くらいなんですが、今後も増えていく予定で2000は行く予定です。 A~C列はその日ごとの参加者が書いてあるデータ欄で E~Gは参加者の一覧(集計欄)にしています。 ランダムに名前を打っているのであいうえお順に並び替えるために E~G列を名前優先で並びかえをするとG列の参照範囲がずれてしまいます。 これがずれないようにすることはできないでしょうか? 参加者を数える作業は会が終わったごとにするので随時A・Bのデータが増えていくことになります。 excel2003を使用しています。 参照範囲がずれないようする方法がありましたらお聞きしたいです。 また、いまいちどうやって集計するのが効率的なのかわからず、考えた末この方法にしたのですが もっと簡単に集計できる方法がありましたら教えていただきたいです>< よろしくお願いいたします。
- 締切済み
- その他(ビジネス・キャリア)
- 【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個のブロックが縦にいくつもあり、関数をかなり入れてるせいかファイルサイズが大きくなってしまってるので。 宜しくお願いします。
- ベストアンサー
- オフィス系ソフト
- Excel2002:複数条件のデータの個数の集計
苦手な集計について質問させてください。 [A] [B] [1] AAA aaa [2] BBB bbb [3] AAA aaa [4] AAA bbb [5] BBB ccc 上記のようなデータで[A]と[B]のAND条件でみたときの個数を集計したいと思います。 例えば上記であれば、 [A]AAAかつ[B]aaa・・・2個 [A]BBBかつ[B]bbb・・・1個 [A]AAAかつ[B]bbb・・・1個 [A]BBBかつ[B]ccc・・・1個 になります。[B]のデータは[A]のデータに依存せず、[A]の各値にまたがっています。([B]bbbは[A]AAAと[A]BBBの場合があります) 実際のシートでは、全パターンを網羅したリストがA列とB列、集計対象がD列とE列にあります。 上記の例でいえば、以下のようになっています。 [A] [B] [C] [D] [E] [1] AAA aaa AAA aaa [2] AAA bbb BBB bbb [3] BBB bbb AAA aaa [4] BBB ccc AAA bbb [5] BBB ccc つまり[A]列と[B]列が組み合わせパターン、[D]列と[E]列が集計元データです。 ちなみにパターン数が414個、集計元データは29000個程度です。 そして最終的な各パターンの個数を[C]列に表示させたいと思います。 VLOOKUPやピボットテーブルを考えましたが、ピンと来ません。 適切なやり方を教えてください。よろしくお願いします。
- ベストアンサー
- オフィス系ソフト
- エクセル、こんな場合はどのような関数式を立てればよいでしょうか?
会社の部材部門に勤務していますが、毎月の生産予定が下記のように組まれているとして A B C D E 1 商品 台数 品番 2製品1 80 AAA 3製品2 100 BBB 4製品3 50 AAA 5製品2 200 AAA 6製品4 150 CCC 7製品1 40 AAA 8製品5 60 AAA 9製品2 180 BBB ↓ ↓ のような配列で作られていて、仕事の都合上から以下のように品番が切り替わるごとにC列品番をキーワードにD列に累計合計を表示させたいのです。同じ品番が連続したり、1行のみや、細かく切り替わったり、不規則です。 A B C D E 1 商品 台数 品番 累計 2製品1 80 AAA 80 3製品2 100 BBB 100 4製品3 50 AAA 50 5製品2 200 AAA 250 6製品4 150 CCC 150 7製品1 40 AAA 40 8製品5 60 AAA 100 9製品2 180 BBB 180 10製品6 400 BBB 580 11製品2 350 BBB 930 SUMIF関数,SUM関数をIF関数にネストして式を作るような気がしているのですが、単純に条件に合うものの合計ならSUMIF関数または集計機能で求められますが、品番が替わる地点で、条件に合う品番のそこからの累計を求め、表示させる式が導けません。=IF(AND(C2<>C3)(B2>0),SUMIF($C$2:C2,C2,$B$B2:B2))のような式を組みましたが、B2からのトータル累計が出て、思うようにいきませんでした。どなたか教えていただけないでしょうか?
- ベストアンサー
- オフィス系ソフト
- SUMPRODUCT関数の値としての#NUM!
Sheet2のB2に、 =SUMPRODUCT((A2=Sheet1!A:A)*1) というような式を入れると、#NUM!が出ます。 Sheet2のA2と一致する、Sheet1のA列の値の個数を求めるにはどうすればいいでしょうか(もっといえば、一致する行のK列の合計を求めたい)。 うえの簡単な式のどこがまちがってるのかわからなくて困ってます。
- ベストアンサー
- オフィス系ソフト
- SUMPRODUCT関数について
アンケートの集計をするにあたって、 SUMPRODUCT関数を使いました。 シートが2つあります。 【データ】シート・・・アンケートのデータ A:No. B:データ 1 0 2 1 3 2 4 3 5 空欄が入っている ・ ・ 【集計】シート・・・B列の空欄、1~3の個数を集計する B列に数式 =SUMPRODUCT((データ!$A$4:$A$40000<>"")*(データ!B$4:B$40000=$A4)) を入れました。 A B 0 2 ・・・・※ 1 1 2 1 3 1 空欄 2・・・・※ 0(ゼロ)と空欄を区別しないで同じと計算してしまいます。 データに、ゼロと空欄が混在している場合、SUMPRODUCTは使えないのでしょうか? この場合、どの数式を使うのがベストでしょうか? 分かりにくくて申し訳ありませんが、 宜しくお願い致します。
- ベストアンサー
- オフィス系ソフト
- 《エクセル2000》SUMPRODUCT関数、この式のどこがいけないのか…
こんにちは。 A列が1であり、B列とC列に共に数字が入っている(空白でない)ものをカウントしたいと思い、以下の関数を書きました。 =SUMPRODUCT((A1:A50=1)*(B1:B50<>"")*(C1:C50<>"")) ですがこの式ですと、「B列とC列が共に空白なもの」の個数が返って来てしまいます。 「<>」が怪しい気がするのですが、具体的に何がいけないのでしょうか? また、欲しい数字を出すようにするにはどうすればいいのでしょうか。 よろしくお願いします…
- 締切済み
- オフィス系ソフト
- 複数セルを結合して一つのセルにしたい
エクセル関数の質問です。 A列のセルに、数字が並んでいます。 aaaという部分はカテゴリーを示すものです。 B列のセルに同じカテゴリーの別の数値を連結させ、スペースで区切ってひとつのセルに表記させるにはどうすればいいでしょうか? concatenate関数を組み合わせて式を作ろうとしたのですが、うまく出来ませんでした。 VBAやマクロ、ユーザー定義関数になっても構いません。 ご教授ください。 A B aaa_0001 aaa_0002 aaa_0003 aaa_0002 aaa_0001 aaa_0003 aaa_0003 aaa_0001 aaa_0002 bbb_0012 bbb_0013 bbb_0013 bbb_0012 ccc_0017
- ベストアンサー
- オフィス系ソフト
お礼
ありがとうございました。