• ベストアンサー

エクセルのSUMPRODUCTについて

SUMPRODUCT((A:A=A2)*(B:B="○")) + SUMPRODUCT((A:A=A3)*(B:B="○")) + … ↑これをA7まで続けて、一つのセルにまとめたいのですが、 簡潔にするにはどのように記述すればよいでしょうか?お願いします。 具体的には、↓のようなデータで、09:00~09:50までの○の数を数えたいのです 時刻  結果 09:00 ○ 09:10 × 09:20 ○ …   …

質問者が選んだベストアンサー

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

>SUMPRODUCT((A:A=A2)*(B:B="○")) … 実際に手を動かして,この式が一部でも計算できることが確認できているなら =COUNTIFS(A:A,">=9:0",A:A,"<=9:50",B:B,"○") で計算できます。 実はアタマで考えただけでまだ全然手を動かしてなかったのなら =SUMPRODUCT((A1:A100-"9:0">=0)*(A1:A100-"9:50"<=0)*(B1:B100="○")) などのようにします。

tamagetane
質問者

お礼

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

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • pentium100
  • ベストアンサー率45% (689/1517)
回答No.1

=COUNTIF(B2:B8,"○") ではダメなのでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル関数 SUMPRODUCTについて

    エクセル関数でSUMPRODUCTについて質問させていただきます。 ↓A1 コーラ  A ポカリ  A 珈琲   A 石鹸   B 洗剤   B ポカリ  A 食パン  C 菓子パ  C 洗剤  B   3←C11(Aの数を数えています。) と、入力されているデータにおいては、 =SUMPRODUCT((MATCH($A$1:$A$9&$B$1:$B$9,$A$1:$A$9&$B$1:$B$9,0)=ROW($A$1:$A$9))*($B$1:$B$9="A")) の関数で求めるデータが出ることはわかりました。 (Aの数は4個ですが、ポカリがダブっているので3個として数えるように設定したいのです。同じ様にBの数は洗剤が2つあるので2個として計算します。) しかし、A1~C11のデータをすべて切り取りして 例えばA11からC21に貼り付けた場合はC21の計算結果が”0”になってしまいます。 その際のC21の関数は =SUMPRODUCT((MATCH($A$11:$A$19&$B$11:$B$19,$A$11:$A$19&$B$11:$B$19,0)=ROW($A$11:$A$19))*($B$11:$B$19="A")) になっています。 この場合だと具体的にどのように関数を変化させればいいのでしょうか? ご指導いただければありがたいです。よろしくお願いします。<m(__)m>

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

    エクセルで作成した表から ○○かつ●●のデータ個数を求めたく、 SUMPRODUCT関数を こちらで調べておりましたが どうしても解決しない部分があります。 どうぞ よろしくお願いいたします。 下記8桁数字は、日付です。 カウントしたい数は、B列(終了)が、A1セルに入力された年月かつ、区分(C列)が「A」の数です。 =SUMPRODUCT((LEFT(B2:B100,6)=A1)*(C2:C100="A")) こちらで、『B列=A1セル かつ C列="A"』のみのカウントは出来たのですが、 終了延長(D列)が空欄でない場合は、D列日付データの方をカウントする。 早期終了(E列)が空欄でない場合は、D列・B列よりも E列を優先し、カウントする。という条件を付けたいのですが、 Sheet1 A1セルに「200810(数を調べたい年月を入力)」 (開始)  (終了)     (区分)  (終了延長)  (早期終了)  A列     B列      C列     D列      E列 20061001   20081001   A    -        - 20070926   20081020   A    -        - 20071102   20081009   A    20081201    - 20080101   20081013   B    -        - 20080208   20081010   A    -        20080210 ・・・ この場合、「2」となるようにです。 IF、OR関数あたりかな と考えておりますが、SUMPRODUCT関数のどの部分で条件付ければ良いか解りません。 説明下手で大変申し訳ございませんが、ご助力いただければ幸いです。 

  • Excel)SUMPRODUCT関数で・・・

    今まで困ったときにこちらで色々調べて答えを見出していた者です。 いつも参考にさせていただきありがとうございます。 ついに、うまいこと調べたいことが見つけ出せなくなってしまったため質問をさせてください。 ■基データ    A     B    C      D    ――――――――――――――――――――― 1 氏名   形式   内容    金額 2 やまだ   A   りんご   50,000 3 さとう   B   バナナ    8,000 4 やまだ  (A)  みかん  ▲30,000 5 すずき   B   もも     6,000 6 たなか   C   ぶどう    5,000 7 さとう  (B)  キウイ   ▲4,000 というデータがあるとします。(明細みたいなもの) これを氏名(A列)と形式(B)列の条件で金額(D列)の合計を 別の表(集計表みたいなもの)に結果を出したいと思っています。 以前こちらで調べて、「SUMPRODUCT」関数が適していると思い 試してみました。そして結果も得られていました。 ですが、条件がちょっと複雑になってしまい、その関数での 対応が可能かどうかお知恵をお貸しいただきたいと思います。 または、別の方法(ピボットテーブルは対象外とさせてください) がありましたらご教示下さい。よろしくおねがいします。 【今までの条件設定(結果表示したいセルへの入力式)】  <氏名がやまだで形式がAの場合の金額の合計>  =SUMPRODUCT(($A$2:$A$7="やまだ")*($B$2:$B$7="A"),$D$2:$D$7)   ※さとう・すずき・たなかもそれぞれ求めます。   ※形式B・Cもそれぞれ求めます。(そして当初は形式に「()」の表示はありませんでした。) 【条件の変更によって結果を求めたいこと】  ■氏名別は変わらず、形式は「()」のあるなし関わらず   [Aも(A)も同じ扱い]として金額の合計を求めたい。   上記の場合ですと、「やまだのA・(A)の合計値」と   「さとうのB・(B)の合計値」を算出する数式を知りたいです。 Bookの特徴ですが、   ・結果を出させるセルは同一シート内にあり、また印刷時は同一用紙に表示させる  ・結果を出させるセルは見栄えの問題で結合させてある という具合です。。。 何かよい方法はありますでしょうか? 宜しくお願いいたします。

  • SUMPRODUCT

    先日に引き続きなんですが・・・。 =SUMPRODUCT((A3:A31="りんご")*(B3:B31="店")) という式の"店"を、店という文字を含むセルで計算していきたい時は、どうしたらいいのでしょうか? どうぞよろしくお願いいたします。

  • エクセル関数SUMPRODUCTについて

    エクセル2000です。 A列とB列の和にC列を乗じたものの合計は、 =SUMPRODUCT(A1:A10,$C$1:$C$10)+SUMPRODUCT(B1:B10,$C$1:$C$10) または =SUM(SUMPRODUCT(A1:A10,$C$1:$C$10),SUMPRODUCT(B1:B10,$C$1:$C$10)) のような長ったらしいものになるのでしょうか? =SUMPRODUCT((A1:B10)*C1:C10) は、表中に文字列が入る場合があるのでエラーになります。 ご教示いただければ幸いです。

  • 負数のみを対象とした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関数を用いた最小値

    お世話になっております。 SUMPRODUCT関数の最小値の求め方で壁を越えられないため 皆様のお知恵をお貸しください。 下のような表があります。   A B C(セル列) 1 青 ○ 100 2 赤 ○ 95 3 青 × 75 4 青 ○ 200 5 赤 × 65 6 赤 × 80 7 青 ○ 105 8 青 × 85 9 赤 ○ 110 10 赤 × 70 青かつ○の最大値(200)は =SUMPRODUCT(MAX((A1:A10="青")*(B1:B10="○")*(C1:C10))) にて求められるのですが 青かつ○の最小値(100)は =SUMPRODUCT(MIN((A1:A10="青")*(B1:B10="○")*(C1:C10))) とすると、0が返ってしまいます。 googleで検索しては検証しを繰り返しましたが どうにもうまくいきません。 Shift+Ctrl+Enterによる {=MIN(IF((A1:A10="青")*(B1:B10="○"),C1:C10))} では求められますが、出来れば配列でない方法を探しています。 宜しくお願い致します。

  • EXCELのsumproduct

    EXCELで,複数条件のデータを数えるとき,SUMPRODUCTを使うのが良いと聞いたんですが,具体的な使い方が分かりません。このWEBに載っているのも参考にやってみましたがうまくいきませんでした。よろしくお願いします。

  • SUMPRODUCT関数について

    指定された条件にあったセルの数を数えたいのですが、うまくいきません。 具体的に言いますと、競馬のデータなのですが、 セルG7:G33にコースの距離(1400,1600,2000など) L7:L33に着順(1,2,3,4,など)が入力されています。 ちなみにどちらも数値のみで[m]や[~着]などの記号は入力していません。 この中で、1600以下のレース(1000~1500まで)の着順や1600以上のレースの着順をそれぞれ1着、2着、3着、4着以下というように具体的に分けたいのですが、どうすれば良いでしょうか? 表にすると a       b       c        d        e 1600> (1着の数) (2着の数) (3着の数) (4着以下の数) 1600> (1着の数) (2着の数) (3着の数) (4着以下の数) こんなイメージです。 COUNTIFで1600以上のレース数はだせたのですが、着順を個別に出すことが出来ません。SUMPRODUCT関数かなとも思ったのですが、エラーか[0]になってしまいます。

  • エクセル SUMPRODUCT と OFFSET

    いつもお世話になります。 SUMPRODUCT関数で集計したいのですが、OFFSET関数を組合せてA1に関数を入力し、右にひっぱるだけで36ヶ月分を集計したいと思い、下記の計算式を入力したのですが#VALUE!になり困ってます。 A1=SUMPRODUCT((OFFSET(data!$A$1,1,COLUMN(A1)*3-3,99,1)=$G$1)*(OFFSET(data!$B$1,1,COLUMN(A1)*3-3,99,1)=$H$1),(OFFSET(data!$C$1,1,COLUMN(A1)*3-3,99,1))) dataシートには、A列:商品CD、 B列:営業所CD、 C列:売上金額 の3列のデータが、36か月分108列あります。 集計するシートのG1に商品CDを、H1に営業所CDを入力すると、A1~A36に集計結果を返したいのですが、教えてくださいませんか

専門家に質問してみよう