• 締切済み

条件を満たす個数のカウントについての質問です。

条件を満たす個数のカウントについての質問です。 ID    A    B  C  x1  x2  xx  D  E score 1    80 2  0    30  2  3  4 score 2    5     0  6  5  3  80  0 score 3    84 5  50  100  50  20  5 score 4    3     0  5  6  8  0 上記のようにID A,B,C,,,に対して、各score(1から1000)が記載されています。ここで、score1,2,3,4,,,の中で、少なくとも1つのscoreで80以上100以下の値をとっている者は何人いるか?を計算したいです。 score 1 で80以上100以下の人数は、 =SUMPRODUCT((2:2>=80)*(2:2<=100))でだせます。(COUTIFSはexcelのバージョンが古くて使えません) 上記の計算を考えた場合、 Aがscore1-1000で80以上100以下を取っている回数は =SUMPRODUCT((B2:1000>=80)*(B2:1000<=100))で、少なくとも1回というのを、 =IF(SUMPRODUCT((B2:1000>=80)*(B2:1000<=100))>0,1,0))として1としました。 これを各B,C、、、に対して行い(値は0か1になりますよね)、その和を求めれば、良いかと考えました。 しかし、作業が煩雑になるので、できれば、一つの式でできるような方法を教えて頂けないでしょうか? また、上記の表で、80以上100以下のscoreはどれ位あるかは、 =SUMPRODUCT((A2:HH1000>=80)*(A2:HH1000<=100))として計算できますが、 これから、x1、x2、xxなどxを含ん=SUMPRODUCT((B14:I17>=80)*(B14:I17<=100))だ物を除きたい場合はどうしたら良いでしょうか?sumproductではワイルドカードが使えないため、各x1、x2、xx、、に対して、下記の様に計算して =SUMPRODUCT((A2:HH1000>=80)*(A2:HH1000<=100))*(A2:HH1000=”x1”))* コレを上の値から引いていくと言うのはあまりに大変です。 何か良い方法はあるのでしょうか? 以上、2項目、質問させて頂きます。

みんなの回答

  • soixante
  • ベストアンサー率32% (401/1246)
回答No.1

まずシートの形式がいまいち分かりませんので確認を含めて書きます。 1.A2セルから下にA1001セルまで、score1 ~ score1000 と書いてある。 2.B1セルから右にHH1セルまで、ID(人の名前?215人分?)が書いてある。 3.B2セルからHH1001 まで、点数が書いてある。点数は0~100? 「<=100」などとしてますから、100以上も存在するんですかね? 上記のイメージで考えました。 私ならめんどくさいので、作業用に別シートにしてしまいます。 【1】現在のシートをコピーし、Sheet2 とする。元シート名はSheet1 【2】Sheet2 の B2セルに、     IF(OR(Sheet1!B2<80,Sheet1!B2>100),0,1)  と入れて、Sheet2のB2:HH1001 の範囲まで引っ張る。  ※Sheet1 の値が、80未満 or 100超の場合は0、80以上100以下の場合は1 を返すようにしました。 【3】各人ごとに、「少なくとも1つのスコアでは80以上100以下を取ったことがある」かどうかを判定する為に、   「全てのスコアで80以上100以下を取ったことがない」と考えました。 Sheet2 の B1002セルに、=SUM(B2:B1001) とすれば、Aさんが80以上100以下を取った回数が出ますよね。 つまり、1002行目は、各人ごとに全問の中で、80以上100以下を取った回数 となります。 ここがゼロの人は、「全てのスコアで80以上100以下を取ったことがない」ことになりませんか。 ゼロの個数を数えてみます。 HI1002セルに =COUNTIF($B$1002:$HH$1002,0) 2つ目のご質問については、私が正しく認識しているか分かりませんが、ID(人名)の中で、ある文字(例えばx)を含む人は除く、ということでしょうか。 もしそうなら、やっぱり作業列を使っちゃいますかね。 1003行目に判定列を。 B1003セルに =IF(ISERROR(FIND("x",B1)),1,0) として、H1003セルまで引っ張る。 (IDに、"x" を含まなければ、1、含んでれば0を返しています。) そのうえで、 B1004セルに、=B1002*B1003 として、HH1004まで引っ張る。 1004行目の合計数値が、「80以上1000以下のスコア」の個数になると思います。 以上です。 ご意向にそぐっていればいいですが、私の認識に誤解があるようでしたらお知らせください。    

excelganba
質問者

お礼

ご回答ありがとうございます。 そうですね。いっきに一つの式で考えるより、別の項目を作って、範囲を調べていったほうが、簡単ですね。 これで、やっていきます。 ありがとうございました。

関連するQ&A

  • エクセルで、特定の文字個数をカウントする方法は?

    エクセルにて、例えば | A | B | C | 1| X | | XX| (A1にはXが1個、B1は空白セル、C1はXが2個) というとき、A1からC1内のXの数をカウントしたい(この例では3個)のですが、計算式はどうすればいいでしょうか?上記の例で言うと、D1に計算式を記入したいです。

  • エクセルの関数の件でご質問です。

    エクセルの関数の件でご質問です。 以下の通りのデータがあって複数の条件で計算をしたい場合、どうしてもうまく関数が作れません。 A   B   C 新聞 2   1500 雑誌 3   1900 新聞 2   2000 TV  4   5000 (1)新聞(A)で2(B)以上のBの合計 (2)新聞(A)でのCの値の合計 (1)ではSUMPRODUCTを用いて算出をしようと試みましたが正しい数値になりません。 (2)はSUMPRODUCTではなくてもいいような気がします。 どの関数を用いて上記の条件で算出するにはどうしたらよいのでしょうか? どなたか教えてください。

  • 二つの条件でカウントしたい

    二つの条件でカウントしたい ひとつ目の条件がB2:B9の範囲内で"○"であること 二つ目の条件はC2:C9の範囲内で空白のセルであること 上記の二つの条件を満たす個数をD1で求めたい。 SUMPRODUCTかと思うのですが、式をアドバイス願います。

  • エクセルの計算式について

    エクセルの計算式について教えて下さい。以下の表があります。 a列とb列は日ごとに変化します。c列は、a/bで計算されます。d列は、bx10をaから引いた値です。e列は前日のeと当日のeの差を表示しています。 x1列は、e列が10以上ならばSを表示する条件式で値を出しています。x2列は、0以下ならばBを表示する条件式で値を出しています。 h列の計算は、x1とx2でBが表示された場合、例えばa列の1/12の18620から1/11の18830を引く計算をし、b列の1/11の1682から1654を引く計算をして、それぞれの解を足します。 また、同様にx1とx2でSが表示された場合には、下記の表のa列1/12の18620から1/21の18760を引き、b列の1/21の1618から1654を引き、それぞれの解を足します。 上記に説明した、それぞれの計算式を教えて下さい。 また、x1とx2は、それぞれaやbの値から導き出される式で日々表示が変わります。ただ、以下の表のようにx1列のように、Sの表示が連続して表示されます。これを、1度Sが表示されると、次の行からはSが表示されないようにする計算式を教えて下さい。 すみません、よろしくご教示下さい。 date      a      b      c  d e x1 x2  h 2000/1/11 18830 1682.0 11.20 2010 -190 B   2000/1/12 18620 1654.0 11.26 2080 70 S 70,000 2000/1/13 18920 1673.0 11.31 2190 110 S 2000/1/14 18850 1654.0 11.40 2310 120 S 2000/1/17 19300 1680.0 11.49 2500 190 S 2000/1/18 19150 1662.0 11.52 2530 30 2000/1/19 18930 1634.0 11.59 2590 60 2000/1/20 19060 1640.0 11.62 2660 70 S 2000/1/21 18760 1618.0 11.59 2580 -80 B -220,000

  • 2つの条件に合ったものをカウントし、かつその合計を求める

    A   B  C ○  *  5 ×  *  0 ○     5 ○  *  5 ×  *  5 のような表があります。 ○かつ*のものをカウントするには、 =SUMPRODUCT((A1:A5="○")*(B1:B11="*")) で「2」と出てきますが、 さらにそれで該当したデータの合計を求めたいです。 この場合は、「10」という数値が出したいです。 どうしたらよいのでしょう??

  • 複数条件でのカウント方法を教えてください。

    複数条件でのカウント方法を教えてください。 A列   B列 新聞   2 チラシ  1 WEB   3 新聞   2 チラシ  4 新聞   1 上記のような表があったとします。 2つの条件でカウントしたいのです。例えば、新聞(A列)でB列が2の人が何人いるかを出したい場合どうしたらよろしいでしょうか? SUMPRODUCTを使用して出してみたのですが上手くいきません。 =SUMPRODUCT((A:A="新聞")*(B:B=2),B:B) 上記のでは正しい数字が出ませんでした。 どうしたらいいのでしょうか? どなたか教えてください。

  • 複数の条件にあったセルをカウントする。

    すみません。 office2007を使用しています。 下記の条件にあったセルをカウントしたいのですが、SUMPRODUCTやCOUNTIFなどを使って試したのですが、うまくいきませんでした。どなたか教えていただけますでしょうか。お願いいたします。 条件1:A列がBlueである。 条件2:B列になんらかの値が入力されている。 条件3:開始日が2009/7/1~2009/10/30の間 上記の条件を満たした、セルをカウントしたい。 A        B        C Product    PO番号     開始日 Red      NNN-00     2009/10/28 Blue               2009/9/22 Red       NNN-01      2009/8/12 Blue                 2009/7/3 Blue      NNN-02      2009/6/5 何卒、よろしくお願いいたします。

  • SUMPRODUCT関数 『複数条件』に当てはまらない個数

    いつもお世話になっております。 【データ】    A    B     C   D 2   1     4      4 3   2     2     2 4   3    5     1 ・   ・   ・     ・    ・ ・ ・ というように1から5までの値が入っています。           A      B      C パターン1   A>=4    B>=4    C>=4 パターン2   A<2             C>=4 パターン3                  C<3 パターン4                 3=<C<4 『パターン1~4に当てはまらない』データのD列の合計を出したいのですが、 どのようにしたら出るのかわかりません。 ちなみに、上記のパターンは、AかつBかつCという条件になっています。 例えば、パターン1は、「Aが4以上かつBが4以上かつCが4以上」という意味です。 説明の仕方がわかりにくいと思いますが、どうぞ宜しくお願い致します。

  • 二つの条件を満たす、行数のカウント?

    エクセルに下記のデータがあります。   A B C 1 X 1 2 2 Y 2 1 3 Y 3 0 4 Y 1 2 B列は関係なく、A列に"Y"かつ、 C列に1以上の数値が入っている行の数を カウントしたいのですが、どうすればよいですか? 上記のデータの場合、結果は2となるように・・。

  • Excel ある条件で大量のデータを計算するには

    Excelで、縦は500行からそれ以上あるデータを下記の条件で計算を行いたいのですが、どのようにしたら宜しいでしょうか。 大量のデータであっても、簡単に計算が可能な方法をご教授頂けると有難いです。 1)A+Bでマイナス200で計算されたセル(Bが-200のセル)は、ここで完了するので、C'とD'とFでは計算しません。 2)Bが0で尚且つCが-200以下のセルのみ、A+Cで計算し、ここで完了するので、D'とFでは計算しません。 3)上記1)2)でマイナスされず、Dに-200の数値が入っているもののみ、A+Dで計算し、ここで完了するので、Fでは計算しません。 4)上記1) 2) 3)でマイナスされなかったセルのみ、FでE-Aの値を計算します(B’, C’, D’の数値は特に残す必要がなくFの結果だけ分かれば良いです)。Fでは、上記 1) 3)でマイナスされた場合-200の数値、また上記 2)でマイナスされた場合その数値(例えば-300、-500など)をセルに表示させる必要があります。 ※ BとDは、0か-200の値が入っています ※ Cは全て0かマイナスの値ですが、様々な数字が入っています ※ Eにも様々な値が入っています ※ B,C,Dには既に計算式が入っています 分かりづらく申し訳ありません。 具体的には、このように計算を行いたいです。  A    B   B’   C   C’    D   D’   E    F 15750 ー200 15550 ー450 15550  ー200 15550 15600 ー200 15680    0 15680 ー200 15480  ー200 15480 15550 ー200 15550 ー200 15350  ー30 15350    0 15350 15480 ー200 15460   0 15460  ー300 15160 ー200 15160 15260 ー300 15380 ー200 15180 ー130 15180 ー200 15180 15300 ー200 15550   0 15550 ー500 15050 ー200 15050 15000 ー500 15540   0 15540  ー20 15540 ー200 15340 15550 ー200 15530   0 15530  ー10 15530   0  15530 15630 100 15620   0 15620  ー80 15620   0  15620 15600 ー20 B’(上記1)の条件) C’(上記2)の条件) D’(上記3)の条件) F (上記4)の条件) Windows 8.1でして、Excelのバージョンは2013です。 大変申し訳ございませんが、解り易いご回答をお待ちしております。 どうぞ宜しくお願い申し上げます。

専門家に質問してみよう