【Excel】条件に合致したデータから重複を数える関数は存在するか?

このQ&Aのポイント
  • Excelの関数で、条件に合致したデータからさらに重複するデータを1と数えることは可能でしょうか?フィルタを無視せずに重複を数える方法を知りたいと思っています。
  • 例えば、見積No、担当者、商品名のデータがあり、見積Noが同じ場合は明細が2行のデータを1件として数えたいです。具体的な問いに対して、担当者ごとの見積もり件数を求めたいです。
  • Excelの関数「COUNTIF」を使用してフィルタを無視せずに重複を数える方法を試しましたが、うまく結果が得られませんでした。SUMに対するSUBTOTAL関数のような機能があれば便利だと思います。
回答を見る
  • ベストアンサー

EXCELで条件に合致したデータから、さらに重複するデータを1と数える

EXCELで条件に合致したデータから、さらに重複するデータを1と数える ことが関数で出来るでしょうか? 例えば   A ,B ,C 1 見積No 、担当者、商品名 2 111、山田、パソコン 3 111、山田、プリンタ 4 222、佐藤、HDD 5 333、山田、パソコン 6 444、青木、パソコン 7 555、山田、HDD パソコンの担当者ごとの見積もり件数はという問いに対して  山田 2件  佐藤 0件  青木 1件 という解答を求めたいのです。 見積Noが同じ場合は同じ見積書で明細が2行の場合で、これを1件と数えたいのです。 フィルタで絞った後に、=SUMPRODUCT(1/COUNTIF(A2:A100,A2:A100)) という関数を試しましたが、フィルタを無視して全ての件数が対象となってしまいました。 SUMに対するSUBTOTAL関数のようなものがあれば便利だったのですが…。 うまく質問出来たのか不安ですが、判る方お願いします。 m(__)m  

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんにちは! 外していたらごめんなさい。 ↓の画像のようにSheet1のデータをSheet2にまとめるようにしてみました。 Sheet2のC2セルに検索商品名を入力すると、B列に件数を表示させるようにしています。 Sheet2の氏名欄はあらかじめ入力されているものとします。 Sheet1の作業用の列を2行使わせてもらっています。 D2セルに =A2&C2 E2セルに =IF(OR(Sheet2!$C$2="",C2<>Sheet2!$C$2,COUNTIF($D$2:D2,D2)<>1),"",ROW(A1)) として、D2・E2セルを範囲指定し、E2セルのフィルハンドルで下へずぃ~~~!っとコピーします。 そして、Sheet2のB2セルに =IF(A2="","",SUMPRODUCT((Sheet1!$B$2:$B$100=A2)*(Sheet1!$E$2:$E$100<>""))) という数式を入れ、オートフィルで下へコピーしています。 尚、数式はSheet1の100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば幸いですが 的外れなら読み流してくださいね。m(__)m

PennyLane005
質問者

お礼

ありがとうございます! 凄い!完璧です。助かりました。 関数の意味はなんとなくしか判りませんが、見積番号を一つ上のセルと比較して差があれば行数を表示。 その表示された個数と担当者名で算出するというところなのでしょうか。 とにかく感謝です。ありがとうございました!

その他の回答 (3)

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.4

No.1です。 私の勘違いです、私の全ての回答を無視してください、失礼しました。

PennyLane005
質問者

お礼

いえいえありがとうございました。 また助けてください!

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.3

No.1です。 私なら数式を複雑にしない為に、見積No 、担当者、商品名を & で繋げたものを作り =A2&B2&C2 PennyLane005さんの最初のご質問の式を、作成した補助列に置き換えて見ますが・・・

  • turuzou
  • ベストアンサー率33% (15/45)
回答No.1

こんな事では? =SUMPRODUCT((B2:B7="山田")*(C2:C7="パソコン")) 文字のとこを、セル番地に変更しても可 例えばF2に山田、G2にパソコンと入力されていたら =SUMPRODUCT((B2:B7=F2)*(C2:C7=G2))

PennyLane005
質問者

お礼

回答ありがとうございます。_m(. .)m_ すいません!私の説明不足です。 見積番号が同じで、かつ商品名も同じで明細が複数にまたがるものがあります。 見積番号の重複は省いてカウントしたいのです。 例えば 2.5行目に 111、山田、パソコン というデータが追加された場合に、山田さんの見積件数はあくまで2件という具合です。 お手数おかけしますが、お願いします!

関連するQ&A

  • 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件……

  • エクセルにて「期間指定」で「データ集計」する方法

    エクセルで営業商談用顧客管理を行っています。 シート1には、商談日を下記のように記載しており A列 B列 日付 担当 1/1  山田 1/6  田中 1/8  佐藤 2/3  山田 2/4  山田 2/6  佐藤 2/9  田中 3/1  佐藤 3/2  山田 3/5  佐藤 別シートにて、例えば1月にどの担当が何件商談をしたか、を 下記のように管理したいのですが 山田 ○件 田中 ○件 佐藤 ○件 こちらの関数の指定方法について、ご教授いただけないでしょうか? よろしくお願いします

  • 《エクセル2000》オートフィルタとSUBTOTALを使ってデータのチェックをしたいのですが…

    いつもお世話になっています。 一行一件で大量のデータが打込まれ、並びに列の最下部から2行あけた後に、SUBTOTAL関数を入れてあるシートがあります。 タイトルのとおり、オートフィルタとSUBTOTALを使ってデータのチェックをしたいのですが、オートフィルタを選択すると、SUBTOTAL関数が入力されているセルまでもがフィルタをかける対象になってしまいます。 おそらくは「フィルタオプションの設定」という所をいじればいいのだと思いますが、「リスト範囲」という所のセル番号を変えてOKを押すと、フィルタそのものが外れてしまいます。(現在はSUBTOTAL関数が入力されているセルも「リスト範囲」の中に入ってしまっています) SUBTOTAL関数が入力されているセルを、オートフィルタの対象にしないためにはどうすればいいでしょうか。

  • 条件で絞込み重複データをカウント:エクセル

    同じような質問があるのですが、どーーーーーしても理解できないので再度質問させてください。 下記のデータで、”赤組”の親の数を数えたいのですが、どうしたらいいのでしょうか。 (つまり双子がいる場合は、親は”1”にしたいのです)   答えは、山田さん、鈴木さん、中村さんの3人。    クラス       親     赤       山田     白       佐藤     赤       鈴木     白       佐藤     赤       山田     赤       中村     白       田中 作業列は使用したくなく、関数だけで解決できますでしょうか? また、エクセルは2003でも使えるものでお願いしたいのですが・・・ どうぞよろしくお願いいたします。      

  • エクセル関数Subtotalを使用して、グループ数をカウントするには

       A    B   グループ 担当 1 21   B 2 21   B 3 18   A 4 25   C  5 25   C 6  4   B 7  2   A 8  5   A というようなデータがあります。 フィルタを使用して、subtotal関数等を使用して担当別グループ数を A9に表示したいのです。 たとえば、担当Bをフィルタで選ぶと、A9にはグループ数2. 担当Aをフィルタで選ぶと、A9にはグループ数3という感じにしたいのです。 SubtotalとCount等の関数を組み合わせるとできるのでしょうか? どうぞ教えてください。

  • エクセル2007適切なグラフと小計について教えて。

    エクセル2007にて適切なグラフと小計について教えてください。  下記のような集計したデータがあります。まず、担当者別の契約件数を数えたいので  フィルタにて必要なデータを抽出しました。(元のリストには部署全体のデータが  あり、行も列も必要のない項目は非表示にしてそのうち、自分の課の担当者を  フィルタにて抽出しました。)  担当者をまず、昇順に並べ替えをして、小計を使うと担当者毎のデータの個数が  フィルタをかけているせいなのか、うまく担当者毎にでてきません。。。  (同じ担当者なのに、一行ずつでてきたりと・・・。)  ためしに抽出したデータのみをコピーして折りたたんでない  状態にして別シートで作成してやってみると、担当者ごとにちゃんと個数がでてきました。      受領日  契約件名  担当者    7・11   ○○     佐藤    7・12   ○○     佐藤      :     :        :  フィルタを使っているとうまく小計ができないのでしょうか。  また、グラフの作成について 全体の契約件数が500件  そのうち契約済みが300件。未契約が200件。のようなグラフを作るには  どのようにすればよいでしょうか。  どうかよろしくお願いします。

  • エクセル

    今、エクセルで、見積依頼が届いた順に見積番号をとっています。 1件の見積に対して、納期が2回ある場合は、同じ見積番号で、2行にしています。 見積依頼が届いた月に、何件の見積依頼が届いたかを求めたいのですが、納期が2回あるものや、改版のあるものによって、COUNTや、SUM、subtotal,といった関数が使えません。 種類ごとに件数を求める関数を教えてほしいのですが、宜しくお願い致します。

  • EXCEL 縦横ある顧客名から、重複をなくす方法を教えて下さい。

    下記の様なデータがあるとします。     1月度 高橋 佐藤 山田 2月度 佐藤 佐藤 山田 3月度 山田 高橋 高橋 4月度 山田 佐藤 高橋 ↓ これを結果、 高橋 佐藤 山田 と、重複をなくして、抽出させたいのです。 縦だけならば、フィルタオプションで出来たのですが、縦にも横にもたくさんデータがあるので、 方法に困っています。 良い方法を教えて下さい。

  • エクセル オートフィルタで件数と割合

    A列に都道府県、B列に市区町村、C列に性別、D列に年齢・・・ でI列までデータが入っている表があります。 オートフィルタを使って、例えば A列で東京都を選び、B列で新宿区を選んだ場合、 東京都の件数に対する新宿区の件数割合が、同じシートのどこかのセルに表示できないでしょうか? データは2000件ほど。SUBTOTAL関数で、全体の件数に対する割合は出せたのですが、任意に選んだ項目に対する割合を出す方法が見つかりません。 データもI列までありますので、最初にオートフィルタで選ぶ列がA列とも限らず、また3列・4列選ぶ事もあります。 EXCEL2000です。簡単な関数なら使った事があります。どうかよろしくお願いします。

  • エクセルの関数について

    エクセル2003です。宜しくお願いします。 担当者  売上 田中   20000 山田   30000 田中   10000 山田   20000 山田   -30000 上記のような表で、山田の販売件数を関数で出したいのですが、上記の表では山田の販売件数は2-1で1件というように出したいのです。(売上が-の場合は件数を-1にする) -がなければ、『山田』の数を拾って終わりなのですが、-が入ってくることによって自分ではわからなくなってしまいました。 宜しくお願いします。

専門家に質問してみよう