重複データのカウント方法と集計

このQ&Aのポイント
  • 質問文章では、重複があるデータを条件付けてカウントする方法について問題があります。
  • また、重複データがある場合に「重複」と表示する関数を作成することに成功しています。
  • 今回の応用課題では、「重複」の出たユーザーの数を集計したいという問題があります。過去の質問を参考にしましたが、具体的な方法がわからないため、助けを求めています。
回答を見る
  • ベストアンサー

重複があるデータが何種類あるか、を条件付でカウント

EXCEL2003で質問です。 http://okwave.jp/kotaeru.php3?q=1827923 の応用編です。 次のようなリストをつくりました。 A  |B  |C   小泉 重複  1月 竹中     1月 小池     3月 小泉 重複  1月 竹中     2月 竹中     2月 Cが「1月」の場合のみ、Aの項目が複数存在した場合に 「重複」と表示させる関数を、B列に埋め込むことが無事できました。 =IF(AND(C1="1月",SUMPRODUCT(($A$1:$A$6=A1)*($C$1:$C$6="1月"))>1),"重複","") anserwd:shiotan99さま さて、この応用です。 ■課題  「重複」の出たuserが何人いるか?を集計。  重複データのカウント方法は過去の質問を参照しましたが、この場合にあてはめる力が私にはまだありませんでした。  お力貸していただくとありがたいです。  よろしくおねがいします。

  • Yepes
  • お礼率94% (1652/1746)

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

  • ベストアンサー
noname#176215
noname#176215
回答No.2

2000件もあるなら 配列数式を使うのは止めておいた方がいいと思 いますけど。フィルタオプションの設定で 重複を取り除いた1月 のデータだけどこかに抽出して計算されてはいかがですか? 関数の場合 非常に重くなります。 =SUM((C1:C2000="1月")*(MATCH(A1:A2000&"",A1:A2000&"",)=ROW(1:2000))) Ctrl + Shift + Enter で確定

Yepes
質問者

お礼

ご返答感謝です。 やはりEXCELの関数で取り扱うデータ量として適切ではないかもしれません。 こうなったらaccessに移行することを考えます。

その他の回答 (1)

noname#176215
noname#176215
回答No.1

重複チェックの数式は =REPT("重複",SUMPRODUCT((A$1:A$6=A1)*(C$1:C$6="1月"))>1) これでも良さそうです。 「1月」のユーザー数は =SUMPRODUCT((C1:C6="1月")*(MATCH(A1:A6,A1:A6,)=ROW(1:6))) これでどうでしょう。

Yepes
質問者

お礼

ご返答ありがとうございます。 上記のサンプルデータではうまく言ったのですが、 =SUMPRODUCT((B1:B6="重複")*(MATCH(A1:A6,A1:A6,)=ROW(1:6))) 件数が2000件の表に適用すると計算結果が「0」になっていまいました(;;)

関連するQ&A

  • 重複した項目のカウント(条件がもう一つあります)

    A   あ B   あ A   い B   う C   あ B   い B   あ C   あ A   い ↑のようなセルがあったとします。 これを、左側の項目ごとに、重複を無視して右側の項目の数を数えたいです。 例えば、 Aについては"あ"と"い"の2つだから2、 Bについては"あ"と"い"と"う"で3、 Cについては"あ"だけなので1 という具合です。 補助列を使ったりマクロで数えたりすればできるのですが、 関数のみを使ったやり方はないでしょうか。 ※ある範囲内で重複を無視してカウントするだけなら  =SUMPRODUCT(1/SUBSTITUTE(COUNTIF(範囲,範囲),0,0))  でできました。    これを使って、Aについて、Bについて、Cについての条件も  加えようとしましたが、  やり方がわかりません。

  • IFの中にCountif

    Excel2003の関数と質問です。 次のようなとうリストをつくりたいと思います。 A  |B  |C   小泉 重複  1月 竹中     1月 小池     3月 小泉 重複  1月 竹中     2月 竹中     2月 Cが「1月」の場合のみ、Aの項目が複数存在した場合に 「重複」と表示させる関数を、B列に埋め込みたいのですが、 =IF(C1="1月",(Countif$A$1:$A$6,B1>1,"重複")) と入れたところ数式エラーになりました。 正しくはどのような文法になるのでしょう? 知恵を拝借いただければ幸いでございます。

  • エクセルで重複を除いた日付のカウント(条件付き)

    過去の記録にもなく、困っています。 エクセルで(A列の)日付をカウントしたいのですが、重複して困っています。 「C1」に任意の日付(○月○日)を入れると、「D1」に○月○日以下の日付がカウントされるようにしたいのです。      A     B    C     D 1  4月5日         2  4月6日 3  4月6日 4  4月6日 5  4月7日 6  4月7日 7  4月8日 D1に =COUNTIF(A:A,"<="&C1) といれてみると、重複してカウントされてしまうのですが、重複を除いてカウントがしたいのです。 ちなみに(C1)に「4月7日」を入れると、(D1)に「3」になるようにしたいのに、重複して「6」となってしまいます。 おいそがしいと思いますが、どうかご教授をお願いいたします。

  • Excel2007条件付きで重複分はカウントしない

    以下のようなCSVデータがあり、A列、B列、C列のみを使用して 集計を行うことになりました。B列のランクは8種類あります。 A列  B列   C列 地域  区別  担当 東京  高    山田太郎 東京  中    山田花子 埼玉  高    佐藤太郎 東京  中    山田太郎 東京  高    山田太郎 東京  花    佐藤花子 埼玉  夢    加藤太郎 地域と区別については、counfifやsumproductを使用して、 以下のような感じでカウントすることができました。 地域  件数  「高」 「中」……  東京  4件  3件  2件…… 埼玉  2件  1件  0件…… 今回、「重複するデータは1として数える」ということになり、 お力を貸していただきたく書き込みさせていただきました。 ・「地域」で重複分を1としてカウントした件数 ・「地域」と「区別」を条件に重複分を1としてカウントした件数 上記の件数をカウントしたいのですが、 何かいいアイディアがございましたらご教授お願いいたします。 地域  件数  「高」 「中」…… 東京  3件  1件  2件…… 埼玉  2件  1件  0件……

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

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

  • EXCEL 重複データのカウントについて

    EXCELにて、データをカウントしたいのですが、 重複しているデータは1件とします。 SUMPRODUCT関数を使えばできると思うのですが、 データが、複数のシートにある場合はどのようにしたらよいでしょうか? いろいろ試してみましたが、うまくいきませんでした。よろしくお願いします。

  • 重複データのカウント

    こんにちは。 何個か似たような質問が過去にありますが、それを参照してもなかなかうまく式が組めないので、投稿させていただきます。 A列  B列 ○   1 ○   2 ▲   3 ◆   2 ▲   1 ○   2 このようにデータがある場合、 ○… ○*1 + ○*2 + ○*2 ▲… ▲*3 + ▲*1 ◆… ◆*2 としてカウントを行いたいと思います。 A列のデータはこの3種類ではなく、常に変化します。 SUMPRODUCTを使うべきでしょうか?? 初歩的な質問で申し訳ありません。 宜しくお願します。

  • エクセルの条件付きでデータの種類をカウントする関数

    エクセルの条件付きで重複データや空白データをカウントせず、種類数をカウントする関数の書き方を教えてください。 C列の5行目から14行目に「品目」が入力され、D列に「売れた数」が入力されているとします。売れていない場合は「売れた数」は空白。品目等のデータがない行もあります。品目には重複しているものもあります。 ここで、G5セルに「売れた品目の種類数」を表示させる関数をどのように書けばよいか教えてください。 SUMPRODUCTやCOUNTIFまたはMATCH関数を使っていろいろ試してみましたが、うまくいきません。

  • 重複を除外したカウント方法を教えてください

    FileMaker Pro Advanced 10を使用しています。 同月内で同一レコードの重複を除外したカウントをしたいです。 私なりに試行錯誤しているのですが、上手く構築することが出来ません。 ご教授頂けると助かります。 例) 年月日 レコード 2012/01/04 A 2012/01/15 B 2012/01/20 A 2012/02/01 B 2012/02/02 C 2012/02/15 A 2012/02/16 B とした場合、 2012/01は2カウント 2012/02は3カウント としたいのです。

  • 重複データを除いてカウントしたい

    重複データを除いてカウントしたい お世話になります。 PHP+MySQLでWEBサイトを作ろうとしている者です。 どうしても自分ではわからないことがあって質問いたします。 以下ような2つのテーブルがあり、 レンタルした顧客の都道府県が 月別にカウントされるようにしたいと考えています。 テーブルA(顧客情報) 顧客名  都道府県 (name) (prefec) Aさん   東京都 Bさん   千葉県 Cさん   神奈川県 Dさん   東京都 Eさん   千葉県 テーブルB(レンタル・レンタル品目情報) 顧客名    期間(開始月・返却月)  レンタル品目 (name)   (start)(end)   (item) Aさん(東京)  1月   6月    自動車 Aさん(東京)  1月   6月    オートバイ Aさん(東京)  2月   6月    チャイルドシート Bさん(千葉)  3月   5月    自動車 Bさん(千葉)  3月   5月    チャイルドシート Cさん(神奈川) 1月   2月    自動車 Cさん(神奈川) 2月   3月    オートバイ Dさん(東京)  2月   4月    自動車 Eさん(千葉)  3月   6月    オートバイ 想定する結果は 1月は 東京(1人) 千葉(0人) 神奈川(1人) 2月は 東京(2人) 千葉(0人) 神奈川(1人) 3月は 東京(2人) 千葉(2人) 神奈川(1人) となります。 品目数であれば以下の式でカウントできるのですが、 顧客数をカウントしようとすると重複が発生して うまく顧客数だけに結果を導くことができません。 SELECT prefec,COUNT(name) AS cnt FROM tbla INNER JOIN tblb USING(name) WHERE (指定月 BETWEEN start AND end) GROUP BY prefec 参考までに上の式では 1月は +----------+-----+ | prefec | cnt | +----------+-----+ | 東京都 | 2 | | 神奈川県 | 1 | +----------+-----+ 2月は +----------+-----+ | prefec | cnt | +----------+-----+ | 東京都 | 4 | | 神奈川県 | 2 | +----------+-----+ 3月は +----------+-----+ | prefec | cnt | +----------+-----+ | 千葉県 | 3 | | 東京都 | 4 | | 神奈川県 | 1 | +----------+-----+ となります。 この場合、どのような式にしたら想定する結果が導き出せるのでしょうか。 よろしくご教授をお願いいたします。

    • ベストアンサー
    • MySQL

専門家に質問してみよう