dポイントプレゼントキャンペーン実施中!

タイトルがわかりにくくて申し訳ありません。
Excel2010にて顧客の商品購入管理をしているのですが、下記のデータ内容にてセルの個数のカウント方法を教えていただきますようお願いいたします。

データの内容は、
 ・A列:お客様コード
 ・B列:購入日
 ・C列:店舗コード
 ・D列:商品コード
となっています。
商品コードはA000~Z999まであります。

実際のデータは添付した画像の様な形となります。

この条件下にて、商品コード「C,D,I,J,K」のつく商品いずれかを購入した顧客の人数をカウントしたいのですが、どのような関数を組み合わせたらよいかわかりません。(該当の商品コードが一つでも購入していれば「1」とカウントします)
添付した画像では、顧客の人数が少ないため目視でわかりますが、実際は顧客数は300人ほどで購入商品数も一人当たり5~10点あるため関数を使わないと集計が困難です。
COUNTIFS関数だけではできず、他の関数を組み合わせたらいいのでは?と思いますがどのような関数をどのように組み合わせたら良いのかがわからないため、良い方法を教えていただきますようお願いいたします。

「特定の条件で一つでもヒットしたセルのカウ」の質問画像

A 回答 (3件)

同じ人が複数の該当商品を購入していた場合、これを1件とカウントするなら以下のような数式で表示できます。



=COUNT(1/FREQUENCY(A2:A1000*(LEFT(D2:D1000)={"C","D","I","J","K"}),A2:A1000*(LEFT(D2:D1000)={"C","D","I","J","K"})))-1

単純にそれらの商品コードの販売件数を集計したいなら以下の数式になります。

=SUM(COUNTIF(D2:D1000,{"C*","D*","I*","J*","K*"}))
    • good
    • 1
この回答へのお礼

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

ご提示いただきました方法でバッチリ集計できました!!
ありがとうございます!!

求める値はわかりましたが、初めて見るFREQUENCY関数の意味が理解できるようにこれから勉強してまいります。

本当に助かりました。ありがとうございました。

お礼日時:2014/10/27 13:42

No1の者です。


すみません、ご存知と思いますがE列に=LEFT(D2,1)と入力したら
下まで数式をコピペして下さいね。

失礼しました。
    • good
    • 0

難しい関数が苦手な者です。


C,D,I,J,Kのいづれかがつく商品を購入した方の総数を出したいということでしょうか?

であれば私ならE列に=LEFT(D2,1)と入力。
E列にアルファベット一文字だけ抽出して、あとはフィルターでC,D,I,J,Kに
チェックを入れれば抽出された数が左下に出てきませんか?

もしくは抽出されたデータの範囲をカーソルで指定すれば総数はポインターに
表示されますよね?

以上、関数が苦手な者の回答ですのでもっとスマートなやり方を
ご存知の方がいらっしゃったら私も教えて欲しいです。。。
    • good
    • 0
この回答へのお礼

ご回答、ありがとうございます。
ご提示いただいた方法を試してみましたが、抽出された数字は確かに総数なのですが、一人の顧客が対象の商品を複数購入していると、1とカウントしてくれないため、もう一手間加えてあげる必要があるようでした。
私の説明の仕方が悪くて申し訳ありませんでした。

お礼日時:2014/10/27 13:37

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