- ベストアンサー
エクセルで重複したものを除いてデータの個数をカウントしたい
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
NO.2です。 画像がちっちゃくてみにくいので補足です。 セルC2(会社&商品の列)の関数 =A2&B2 (以下オートフィルで式をコピー) セルD2(上から重複カウントの列)の関数 =IF(COUNTIF($C$2:C1000,C2)>1,0,1) (以下オートフィルで式をコピー) セルG2の関数 =SUMPRODUCT(($A$2:$A$1000=E2)*$D$2:$D$1000) ※E列には社名を入力。このセルがこのまま条件検索の列に。 ※A1000とD1000は適当な数字。どんどん下に入力することを想定 (以下オートフィルで会社の数だけ式をコピー)
その他の回答 (3)
- KURUMITO
- ベストアンサー率42% (1835/4283)
回答No1です。 ある法人について何種類の商品がるかでしたら例えばC1セルに法人の名前を入力すればD1セルに商品の種類の数が表示されます。 こちらで提案したとおりで一度試験されたのでしょうか? C2に別な法人の名前を入力すればD2にその法人に関係する商品の種類の数が表示されますね。もちろん一つの法人についてだけ求めるのでしたらC1セルに法人の名前を入力して、D1セルに回答1で示した式を入力すればよいでしょう。
- tonic_tonic
- ベストアンサー率34% (142/410)
ちょっとアレンジしましたが、こんな感じでどうでしょうか? 列を二つ追加する必要があります。 この列はあらかじめ関数を入力しておくのでグループ化や表示しないで隠してもいいし、色を白にしてしまえば見た目はわかりません。 商品は会社が違っても同じ場合があることを想定すると、一つ目の追加列で「会社&商品」(文字をつなげる)で固有の記号を用意します。そしてそのとなりの列に、「会社&商品」で上から数えて1個目は1を2個目以上は0を入力するようIF関数、COUNTIF関数を組みます。 集計項目ではA列でA社がある場合にはその行に対応する列(=D列)に入っている数字を足す、というSUMPRODUCT関数で集計します。 このようは場合簡単にやろうとするとかえって難しくなります。手順を追って、分解して、下準備セルを作ってやった方が簡単に済みます。 画像を貼りましたが見えるかな? オートフィルでコピーすればいけると思うのですが。
- KURUMITO
- ベストアンサー率42% (1835/4283)
A列に会社名があり、B列に商品名があるとします。 C列に検索する会社名を入力するとして、ダブりのない商品名の数をD列に表示させるとしたらD1セルには次の式を入力して下方にオートフィルドラッグします。 =IF(C1="","",SUMPRODUCT((MATCH(A$1:A$1000&B$1:B$1000,INDEX(A$1:A$1000&B$1:B$1000,),0)=ROW(A$1:A$1000))*(A$1:A$1000=C1)))
お礼
ご回答ありがとうございます。説明不足で済みません・・ 今回は検索は必要なく、どの法人が何種類の商品を注文しているのかカウントするだけなのです。
お礼
お礼が遅くなり申し訳ございません! 出来ました(*´∇`*)ありがとうございました!