出産前後の痔にはご注意!

エクセルの表の中から指定した条件の個数を算出するにはCountif関数を使いますが、その個数の中から別の指定した条件の個数を算出する方法を教えてください


A         B
おにぎり     10
おにぎり     2
そは       20
おにぎり     4
うどん      2
うどん      10
(続く)

この表からA列の種類毎にB列の数値の範囲(4以上10未満、4未満、10以上)の個数を算出
したく苦労しております
Countif関数の複数設定が出来ればいいのですが方法が解りません。
ご存知の方が居られましたら宜しくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

表の行数が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))

どうでしょうか?
    • good
    • 0
この回答へのお礼

返答ありがとうございます。

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

お礼日時:2013/04/18 11:35

エクセルのバージョンが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"))
    • good
    • 0
この回答へのお礼

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

お礼日時:2013/04/18 11:32

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング