• 締切済み

《エクセル2000》SUMPRODUCT関数、この式のどこがいけないのか…

こんにちは。 A列が1であり、B列とC列に共に数字が入っている(空白でない)ものをカウントしたいと思い、以下の関数を書きました。 =SUMPRODUCT((A1:A50=1)*(B1:B50<>"")*(C1:C50<>"")) ですがこの式ですと、「B列とC列が共に空白なもの」の個数が返って来てしまいます。 「<>」が怪しい気がするのですが、具体的に何がいけないのでしょうか? また、欲しい数字を出すようにするにはどうすればいいのでしょうか。 よろしくお願いします…

みんなの回答

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

>説明は割愛しますが色々な不可抗力な偶然が重なり、条件式をすっかり勘違いしていました。 該当部分の問題は解決しています  であれば、すぐ締め切ること。無駄に読んで考える人も出ることを考えるべし。 こんなケースの、追加質問は別質問ですべし。

bari_saku
質問者

お礼

追加の方が解決せず、悶々とするうちに締め切りが遅れてしまいました。 今、締め切りますね。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.4

#1のmshr1962です。 先に答えられてしまいました。 ただ最後の>0は省略できます。 =SUMPRODUCT((A1:A50=1)*((B1:B50<>"")+(C1:C50<>""))) または =SUMPRODUCT((A1:A50=1)*(ISNUMBER(B1:B50)+ISNUMBER(C1:C50))) 解説:OR条件は+で連結でいいのですが()で囲む必要があります。 先のままだと(A列が1でB列が数値)or(C列が数値)になります。

bari_saku
質問者

お礼

こんにちは。 No.3さんのお礼にも書きましたが、どうもうまくいきません。 エクセル(の関数)を使い始めてずいぶんになりますが、andとorが混在すると未だに悩みます。 この件は、また新たに質問したいと思います。 どうもありがとうございました。

  • shiotan99
  • ベストアンサー率68% (140/203)
回答No.3

こんにちは~ > A列が1であり、B列とC列にどちらか(もしくは双方)に > 数字が入っている(空白でない)ものをカウントしたい =SUMPRODUCT((A1:A50=1)*((B1:B50<>"")+(C1:C50<>"")>0)) または =SUMPRODUCT((A1:A50=1)*(ISNUMBER(B1:B50)+ISNUMBER(C1:C50)>0)) としてみてください。

bari_saku
質問者

お礼

ご回答ありがとうございます。 夕べ頭をひねっていましたが、データに問題があるのか、どうもうまくいきません。 こちらの件は、また新たに質問しようと思います。 どうもありがとうございました。

  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

関数に誤りはありませんので、#1さんのご指摘の通り、スペースが混入されていると思います。 以下の操作で行ってみて下さい。 ・編集→ジャンプ→セル選択→空白セルをチェック→OKすると空白セルの色が反転しますので、対象範囲に反転されていないセル(スペース入力)内容をクリアして下さい。

bari_saku
質問者

お礼

すみません、詳細はNo.1さんの欄に書いた通りです。 また新たな問題が出てきてしまいましたので、もしご存じでしたらお教え頂けますでしょうか。 なお、「ジャンプ」の機能は初めて使いました。便利ですね!

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

B,C列は本当にブランクですか?スペースとか入力されていない? 数値を検索なら下記の式を試してください。 =SUMPRODUCT((A1:A50=1)*ISNUMBER(B1:B50)*ISNUMBER(C1:C50))

bari_saku
質問者

補足

いつもお世話になっております。 すみません、説明は割愛しますが色々な不可抗力な偶然が重なり、条件式をすっかり勘違いしていました。 該当部分の問題は解決しています。 さらについでと言っては何ですが、今度は「A列が1であり、B列とC列にどちらか(もしくは双方)に数字が入っている(空白でない)ものをカウントしたい」のですが、またこちらで悩んでいます。 =SUMPRODUCT((A1:A50=1)*ISNUMBER(B1:B50)+ISNUMBER(C1:C50)) まずB列とC列をorで判断するよう、上記のように*を+に変えてみたのですが、違うようです。 もし解決方法をご存じでしたら、ご教示頂けますと助かります。

関連するQ&A

  • エクセル 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関数のどの部分で条件付ければ良いか解りません。 説明下手で大変申し訳ございませんが、ご助力いただければ幸いです。 

  • 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

  • COUNTIFやSUMPRODUCTの関数について

    画像にあるようなExcelの表について 下記の関数を使って出来たことを、もっとB22~C24(セル)を入力せず出来る関数はないのか 教えて頂きたい。また、以下のところに今使っている関数と、求めたいことについて記載しました。  SUMPRODUCT(($A$2:$A$15=$B$22)*(C2:C15=$C$22))の関数を使って   1.C17セルに表示された個数は、A列の2~15の中のAランクの人の「1」の入力された     ところだけのを表すことになっている。  以下もC列のB・Cことである。   2.このことを踏まえて、BランクはC18に「0」が入る。(1の入力されたセルがないため)   3.Cランクは、「長島」に「1」が入力されているので、C19には「1」が入いる。   4.イ~オ列のD17~G19まで同じように表示させてある。  なお、あくまでもア~オの全体の個数の中のA・B・Cのランクの個数をカウントしたいのです。   

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

    SUMPRODUCT関数を使って、1列おきにカウントさせる式をつくっていて、 セルの指定方法について疑問をもちましたので質問させていただきます。 A1からJ1に数字がはいっているとして、偶数列だけカウントします。 =SUMPRODUCT((MOD(COLUMN(A:J),2)=0)*(A1:J1<>0)) =SUMPRODUCT((MOD(COLUMN(A:J),2)=0)*((A1:J1)<>0)*1) 上の式で答えはでるのですが、*以降の指定の違いがわかりません。 どなたかお分かりになる方おられましたら、よろしくお願いします。

  • 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になってしまいます。 個数の合計を返す関数式をご教授ください。

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

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

  • SUMPRODUCT関数について

    こんにちわ! 以前にSUMPRODUCT関数を教えていただいたのですが、またわからないポイントが出てきてしまいましてどなたかお教えください。 【例】     A列     B列    C列 1    担当者  オーダー日   カテゴリ 2   A子   2007/9/5   b a 3   B美   2007/9/6   cd 4   C男   2007/9/7   cg 5   D輔   2007/9/7   cv 6   E司   2007/9/5   ca 7   A子   2007/9/7   cv 8   ・      ・     ・ 9   ・     ・     ・ そして別の場所<A12>に 昨日のオーダー =TODAY()-1 という計算用の式を作成し、 次のような式を作成しました。 【式1】 SUMPRODUCT(($A$3:$A$10="A子")*((TEXT($B$3:$B$10,"ymd")=TEXT($A$12,"ymd"))*($C$3:$C$10="cv"))) さらに検索したい項目があり、最初次のように式をまず作成してみました。 【式2】 =SUMPRODUCT(($A$3:$A$10=""A子"")*((TEXT($B$3:$B$10,""ymd"")=TEXT($A$12,""ymd""))*($C$3:$C$10=""cv""))) +SUMPRODUCT(($A$3:$A$10=""A子"")*((TEXT($B$3:$B$10,""ymd"")=TEXT($A$12,""ymd""))*($C$3:$C$10=""ca""))) +SUMPRODUCT(($A$3:$A$10=""A子"")*((TEXT($B$3:$B$10,""ymd"")=TEXT($A$12,""ymd""))*($C$3:$C$10=""ba"")))" 『長い!』と思い、この式を短くしようと、 【式3】 SUMPRODUCT(($A$3:$A$10="A子")*((TEXT($B$3:$B$10,"ymd")=TEXT($A$12,"ymd"))*(OR(($C$3:$C$10="cv"),($C$3:$C$10="ca"),($C$3:$C$10="ba"))))) という式を作成したところ全然ダメでした。 【式2】を簡素化することは可能でしょうか? どうぞ宜しくお願いします。 余談として・・・ 更に、もし可能であれば、他の関数と組み合わせるにはどこに気を付けたらよいのでしょうか?たとえばAND・IF・VLOOKUPなど ・・・こちらはただの興味ですのでご返答は無くてもかまいません。

  • エクセル関数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

    A列B列に文字と数字が混ざって並んでいます A列で7かつB列で0以上の個数を調べたいのですが SUMPRODUCTを使うと文字を0と認識するようでうまくできませんどうしたらいいですか A B 7 9 7 5 7 みかん この場合2個ですが文字のおかげで3になってしまいます

  • ■エクセル■ PRODUCT関数で「~ではない」。

    早速ですが、例えば、 ・A1~A10の範囲に1~5が入っている。 ・B1~B10の範囲に文字列「あ」~「お」までが入っている。 ・C1~C10の範囲に個数が入っている(1~99の数字)。 この場合で、D1のセルに「A1~A10の数字が5で、「お」以外の個数の合計」を求めるときはどういった関数を使えばいいのでしょうか?? =SUMPRODUCT((A1:A10=5)*(B1:B10<>"お")*(C1:C10)) と、入力してもエラーが出てしまうので、困ってます。どうしたらできますか?? よろしくおねがいします。

専門家に質問してみよう