複数の条件を満たすセルの個数の計算式について

このQ&Aのポイント
  • エクセルの計算式によって複数の条件を満たすセルの個数を求める方法について教えてください。
  • 具体的な計算式として、B列の商品コードが「2」と「4」を含むセルの個数を数える方法を説明してください。
  • また、B列の「2」と「4」を含まないセルの個数を数える計算式についても教えてください。
回答を見る
  • ベストアンサー

複数の条件を満たすセルの個数

はじめまして、こんばんは。 エクセルの計算式についてご教示ください。 添付ファイルのような表を作成しました。 B列の商品コードの"2"と"4"を含む商品で、 D列にあるデータの個数を数えるために D18セルに =COUNTIF(B2:B17,2)+COUNTIF(B2:B17,4) という式を作成しました。 次に、D19セルにB列の"2"と"4"を含まない商品で、 D列のデータの個数を数えるために =SUMPRODUCT(($B$2:$B$17<>4)+(B2:B17<>6),D2:D17) という式を作成しましたが、意図しない数値が返ってきました。 式の不備について教えてください。 どうぞよろしくお願いします。

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

  • ベストアンサー
回答No.8

#4,#7回答者です >式の内容まではあまり理解できなかったので。 まずは作業列を使った計算を考えることです =((B2=2)+(B2=4))*(D2<>"") 下へオートフィル その合計 =(B2<>2)*(B2<>4)*ISNUMBER(D2) 下へオートフィル その合計 TRUE+0 → 1 TRUE*FALSE → 0 となります。 つまり、TRUEを演算させると1になり、Falseを演算させると0になります

bnm373737
質問者

お礼

No.8 CoalTarさん 説明ありがとうございます。 教えていただいた内容を理解するには、まだまだ関数の基礎知識が足りないようです。 *と+の意味が理解できていません。 式を立てつつ勉強してみます。 とにかく今回は本当にありがとうございました。 今後もアドバイスをよろしくお願いいたしますm(_ _)m

その他の回答 (7)

回答No.7

やっと、意味がわかりました。 サンプルの解答がほしかったです =SUMPRODUCT((B2:B17={2,4})*(D2:D17<>"")) D列は数値の判定なら =SUMPRODUCT((B2:B17={2,4})*ISNUMBER(D2:D17)) または =SUMPRODUCT(((B2:B17=2)+(B2:B17=4))*(D2:D17<>"")) D列は数値の判定なら =SUMPRODUCT(((B2:B17=2)+(B2:B17=4))*ISNUMBER(D2:D17)) と =SUMPRODUCT((B2:B17<>2)*(B2:B17<>4)*(D2:D17<>"")) D列は数値の判定なら =SUMPRODUCT((B2:B17<>2)*(B2:B17<>4)*ISNUMBER(D2:D17))

bnm373737
質問者

お礼

No.7 CoalTarさん こんばんは。 教えていただいた数式によって、まさに希望通りの値が返ってきました。 大変感動しております。 拙い説明にもかかわらず、意図を汲んでいただき感謝しております。 上4つの式は B列が「2」と「4」のときの、D列のデータの個数を求め、 下2つの式は B列が「2」と「4」意外のときの、D列のデータの個数を求めるという 認識でいいでしょうか。 式を入力したところ、そのように返ってきましたが、 式の内容まではあまり理解できなかったので。 何はともあれ、問題が解決し大変助かりました。 ありがとうございます。 回答いただきました皆様、 知恵を貸していただき本当にありがとうございました。 自身では思いつかないような式の組み方や関数など、 大変参考になりました。 また何かあればどうぞよろしくお願いします。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.6

> D列の合計が表示されました。 > D列には、「1」以上の数値も入る場合があるので、 > データの個数の求め方についてもう少し調べてみます。 え?D列の合計ではない個数? ひょっとしてB列の商品コードの2と4の数と、B列の2と4でない数ということですか? ならばD列は無関係ではないのですか? それでよければ、それぞれ =SUMPRODUCT((($B$2:$B$17=2)+($B$2:$B$17=4))*1) と =SUMPRODUCT(($B$2:$B$17<>2)*($B$2:$B$17<>4)) です。

  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.5

SUMPRODUCTを使った場合の例です。 B列の商品コードの"2"と"4"を含む商品で、D列にあるデータの個数を数える =SUMPRODUCT(($B$2:$B$17=2)+($B$2:$B$17=4)*$D$2:$D$17) B列の"2"と"4"を含まない商品で、D列のデータの個数を数える =SUMPRODUCT(($B$2:$B$17<>2)*($B$2:$B$17<>4)*$D$2:$D$17) "2"と"4"とお書きですが、これでは文字列での2や4という意味になります。 2と4は数値でいいんですね?

bnm373737
質問者

お礼

No.5 merlionXXさん 返事が遅くなり申し訳ございません。 >"2"と"4"とお書きですが、これでは文字列での2や4という意味になります。 >2と4は数値でいいんですね? おっしゃるとおりです。 ご指摘ありがとうございます。覚えておきます。 回答いただいた数式ですが、D列の合計が表示されました。 D列には、「1」以上の数値も入る場合があるので、 データの個数の求め方についてもう少し調べてみます。 回答ありがとうございました。

bnm373737
質問者

補足

回答いただきました皆様へ 回答ありがとうございます。 「もう少し調べてみます。ありがとうございました」と結びつつ、 なかなかうまく式を立てることができず悩んでいます。 求めたいデータは、 ・B列が「2」と「4」のときの、D列のデータの個数(D列には「1」以上の数も入ります。) ・B列が「2」と「4」以外のときの、D列のデータの個数 です。 拙い説明ですみませんでした。 ちなみにExcelのバージョンは2003です。 アドバイス、よろしくお願いいたします。

回答No.4

nag0720さんとかぶりますが データ(数値)の個数なら D18セルに =SUM(COUNTIF(B2:B17,{2,4})) D19セルに =COUNT(B2:B17)-D18 集計なら D18セルに =SUM(SUMIF(B2:B17,{2,4},D2:D17)) D19セルに =SUM(D2:D17)-D18

bnm373737
質問者

お礼

No.4 CoalTarさん 返事が遅くなり申し訳ございません。 =SUM(COUNTIF(B2:B17,{2,4})) を試してみたところ、B列の「2」と「4」の個数を返しているようです。 希望としては、B列の商品コードが「2」と「4」のときのD列のデータの個数を 求めたかったのです。 >集計なら >=SUM(SUMIF(B2:B17,{2,4},D2:D17)) 合計を求めるにも、色んな関数で表せることができるのか~と 感心しております。 データの個数の求め方については、もう少し調べてみようと思います。 回答ありがとうございました!

noname#204879
noname#204879
回答No.3

D18: =SUMPRODUCT(((B2:B17=2)+(B2:B17=4)),D2:D17) D19: =SUMPRODUCT((B2:B17<>2)*(B2:B17<>4),D2:D17)

bnm373737
質問者

お礼

No.3 mike_gさん 返事が遅くなり申し訳ございません。 回答いただきました関数を試してみましたところ、 B列の商品コードが「2」と「4」のときのD列のセル値の合計が表示されました。 もともと、SUMPRODUCT関数を組んで式を立てていましたが、 SUMPRODUCTでデータの個数を求めることが可能か疑問になりました。 なのでもう少し調べてみようと思います。 回答ありがとうございました。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.2

=COUNTIF(B2:B17,2)+COUNTIF(B2:B17,4) これは、B列に2と4がある個数を数える式です。 D列の数の集計をしたいなら、 =SUMIF(B2:B17,"=2",D2:D17)+SUMIF(B2:B17,"=4",D2:D17) >B列の"2"と"4"を含まない商品で、D列のデータの個数を数える これは、総合計から、2と4がある個数を引けばいいんだから、 =SUM(D2:D17)-SUMIF(B2:B17,"=2",D2:D17)-SUMIF(B2:B17,"=4",D2:D17)

bnm373737
質問者

お礼

No.2 nag0720さん 返事が遅くなり申し訳ございません。 回答いただいた関数を試してみたところ、 B列の商品コードが「2」と「4」のときのD列のセル値の合計が表示されました。 希望としては、D列のデータの個数を表したかったのです。 今回添付ファイルでは、全て「1」としていますが、 場合によってはそれ以上の数値が入ることもあります。 説明不足で申し訳ないです。 「2」と「4」以外のときのD列の個数については、 おおなるほど、引き算か と感心しております。 複雑に考えすぎていたようです。 データの個数の求め方についてもう少し調べてみようと思います。 ありがとございました。

noname#124418
noname#124418
回答No.1

 質問に対する回答じゃなくて申し訳ないのですが…。  もし、この質問に対する回答がなかった場合は、  「エクセルの学校」というサイトがありますので、  そちらで聞いてみてはいかがでしょうか?  今からですと、時間も時間なので、  すぐの返答は難しいかもしれませんが、  名前の通り、エクセル専門のサイトで、  いろいろな人が関数等の質問をし、  それに対し、いろいろな人が回答してくれます。  私もよくお世話になっていますので、  よろしければぜひ。

参考URL:
http://www.excel.studio-kazu.jp/
bnm373737
質問者

お礼

早速の投稿ありがとうございます。 いただきましたURLも参考にさせていただきます。 できるだけすぐの返答を希望しておりますので、 上記サイトと平行して回答を受けつけようと思います。 ありがとうございます。

関連するQ&A

  • 複数の条件を満たすセルの個数

    同時に複数の条件を満たすセル(行)の個数を知りたいです。  ABC 1●●○ 2○○○ 3●○● 4○○● 5●○○ たとえばB列が「○」でC列が「○」の 両方の条件を満たしている件数を調べるのは どういう関数を使えばよいのでしょうか。 「COUNTIF」とオートフィルタをあわせたような 感じなのですが、COUNTIFは複数の条件をいれられないのでしょうか。 どなたか教えてください。

  • EXCELで複数列にまたがる複数条件のセルの個数を求めるには?

    こんにちは。よろしくお願いします。 A列に1or2が入力されているセル、且つB列に3or4が入力されている セルの個数を求めるにはどういった数式を作ればいいのでしょうか? COUNTIFだとだめなんですよね。

  • 条件付きセルの個数をしらべたい

    エクセルで6桁の数字が入っている列から、156で始まるセルの個数をしりたいです。よろしくお願いします。 COUNTIF(範囲,156***)では、うまくいきませんでした。

  • Excel 複数条件+”かつ”

    標題の通りです。 例えば、A1~A100に1~10までの数字が、B1~B100に11~20までの数字が、個数に関係なくランダムに入っているとします。 (1)A列の中で3以上7以下の個数を求めるには、COUNTIFで(7以下の個数)-(3以下の個数)で求めればいいですよね。(SUMPRODUCTを使う方法もあるみたいですが) (2)A=4 かつ B=15の個数を求めるにはSUMPRODUCTを使用すれば求まりますよね。 ここまでは、ネットで調べて理解しました。 ここからが本題です。 (1)と(2)を合体させて、A列の中で3以上7以下 かつ B列の中で11以上13以下の個数を求めるのにどうすればいいのかが分かりません。 A   B 1   12  4   11  4   17  5   13  6   20  3   14  答え:2個 てな具合で個数を求めたいのですが、色々と式を作ってみてもエラーになったりすべての値が0になったりで上手く行きません。 よろしくお願いします

  • COUNTIF関数で検索条件にセル番地を指定する方法を教えてください

    COUNTIF関数を使用しています。 検索条件にセル番地を指定する方法を教えて頂けますでしょうか。 例えば、下記の通りデータが入っていた場合に セルA1 = 90 セルB1 = 100 =COUNTIF(A1,"<=100") という式をセルC1に入力し、 セルA1の数値が100より小さい場合はデータ個数は”1”と返し、 セルA1の数値が100より大きい場合はデータ個数は”0”と返すようにしました。 しかし、 =COUNTIF(A1,"<=B1") という式のように 検索条件にセル番地を指定した場合は正しくデータの個数が1個だと表示されません。 どのようにしたらセル番地を指定しながら正しい結果を返せるのでしょうか。 恐れ入りますが、どなたかご教示頂けますでしょうか。 どうぞ宜しくお願いいたします。

  • 複数の検索条件に当てはまるセルの個数

    複数列の検索範囲で、それぞれのセルの数値が10以上20以下のものがいくらあるか?ということを調べたいと思います。countif を使うのかなぁ、と思い、色々試したのですが、うまくいきません。ご存知の方よろしく教えていただきたいのですが。お願いします。

  • Excelでシートをまたぐ場合の複数条件セル個数COUNTについて

    http://oshiete1.goo.ne.jp/kotaeru.php3?q=1210558を見たのですが、 データがシート名Aにあり計算値をシート名Bに出したい場合どうしたらよいでしょうか? この質問を引用させて頂いて、 シート名Aにこのように入っていて、 ___A B 1 ○ × 2 × ○ 3 ○ ○ シートBに A=○かつB=○の個数を集計したいのですが可能でしょうか? イメージとしてはCOUNTIF(A1:A3,"○") AND COUNTIF(B1:B3,"○")という感じです。 (私の場合○の部分はセル参照をしています) SUMPRODUCT関数でシート間参照してみたのですがうまくいきませんでした。 私のやりかたが間違っているのだと思います。 お詳しい方いらっしゃいましたらよろしくお願い致します。

  • <エクセル>複数条件下での個数の数え方

    A列に都道府県、B列に地域、C列に売上がある表があります。 東京と大阪を除いた地域のうち、C列で0以上のセルの個数を表示したいと思います。(ここだと2コ) countif、dcountなど考えましたが、うまく表示できません。 列を増やさず、個数を表示できる関数を教えてくださいますか? 宜しくお願いします。    A    B       C 1 東京    新宿    500 2 大阪    心斎橋    0 3 名古屋   栄     300 4 東京    渋谷     0 5 北海道   札幌    100 6 宮城    仙台     0 7 大阪    梅田    100  

  • 2つのセルの条件に合ったセルの個数

    A 日付 B名称 C可否(○×)も表でA日付が今日より前のものでなおかつCが○のセルの個数を求めたいのですがうまくいきません。 (1) AND(COUNTIF(A1:A10,"<"&TODAY()),COUNTIF(C1:C10,"○")) とするとFALSEと表示される。 どこが悪いのでしょうか?

  • EXCELのセルの個数の算出

    文字や数値を含んだセルの数を求めたいのですが・・・ それだけならわかるのですが、 式を含んだ場合がわかりません。 VBAは使わずに求めたいのですが・・・ 例えば、A1にあ、B1に10、C1に=IF(D1="","",D1) と入力されているとします。 A1~C1の範囲で、D1に何も入力されていない時はセルの個数を2、 D1に何か入力されたらセルの個数は3としたいのです。 要するに、見た目上何かセルに入ってれば、 個数の対象としたいのですが・・・ どなたかおわかりになられるかたがおられましたら、 是非ともよろしくお願い致します。

専門家に質問してみよう