• ベストアンサー

エクセルの表の中から条件指定した個数を算出したい

エクセルの表の中から指定した条件の個数を算出するにはCountif関数を使いますが、その個数の中から別の指定した条件の個数を算出する方法を教えてください 例 A         B おにぎり     10 おにぎり     2 そは       20 おにぎり     4 うどん      2 うどん      10 (続く) この表からA列の種類毎にB列の数値の範囲(4以上10未満、4未満、10以上)の個数を算出 したく苦労しております Countif関数の複数設定が出来ればいいのですが方法が解りません。 ご存知の方が居られましたら宜しくお願いします。

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

  • ベストアンサー
  • mane_neko
  • ベストアンサー率90% (18/20)
回答No.1

表の行数が20行として、 ・4以上10未満のおにぎり =SUMPRODUCT((A1:A20="おにぎり")*(B1:B20>=4)*(B1:B20<10)) ・4未満のおにぎり =SUMPRODUCT((A1:A20="おにぎり")*(B1:B20<4)) ・10以上のおにぎり =SUMPRODUCT((A1:A20="おにぎり")*(B1:B20>=10)) どうでしょうか?

treky-oka
質問者

お礼

返答ありがとうございます。 上記のような関数で当初の目的が出来ました。 どうしてもCOUNTIFを使おうと思っていましたが、こちらの方がすんなり出来ました ありがとうございました。

その他の回答 (1)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

エクセルのバージョンが2007以降の場合でしたら次のようにしてはどうでしょう。 表はAおよびB列の1行目は項目名で2行目から下方にデータが入力されているとします。 初めに品名が自動で表示できるようにC列には作業列を設けます。 C2セルには次の式を入力して下方にドラッグコピーします。 =IF(A2="","",IF(COUNTIF(A$2:A2,A2)=1,MAX(C$1:C1)+1,"")) そこでお求めの表をE列からH列に表示させることにします。 E1セルには品名、F1セルには4未満、G1セルには4以上10未満、H1セルには10以上とそれぞれ項目名を入力します。 E2セルには次の式を入力して下方にドラッグコピーします。 =IF(ROW(A1)>MAX(C:C),"",INDEX(A:A,MATCH(ROW(A1),C:C,0))) F2セルには次の式を入力して下方にドラッグコピーします。 =IF(E2="","",COUNTIFS(A:A,E2,B:B,"<4")) G2セルには次の式を入力して下方にドラッグコピーします。 =IF(E2="","",COUNTIFS(A:A,E2,B:B,">=4",B:B,"<10")) H2セルには次の式を入力して下方にドラッグコピーします。 =IF(E2="","",COUNTIFS(A:A,E2,B:B,">=10"))

treky-oka
質問者

お礼

回答ありがとうございます。 かなり複雑になるのですね Officeが2003と古いのを記載するのが抜けていました。別PCには2007が入っているので試してみます ありがとうございました。

関連するQ&A