• ベストアンサー

エクセルのデータ集計で悩んでます。

エクセルのデータ集計で悩んでます。 下記のデータがあったとします。 a b c あ A x あ A y あ A z あ B x い A x い B y このとき、a列とb列で重複するデータを排除してデータ件数を カウントしたいと思います。 つまり、この例ですと あA・・・1件 あB・・・1件 いA・・・1件 いB・・・1件 とどこかの空エリアに表示させる方法はありませんでしょうか? どなたかご指導よろしくおねがいします。

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

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

こんにちは! 一例です。 ↓の画像のように作業用の列を2列使わせてもらいます。 作業列D2セルに =A2&B2 E2セルに =IF(OR(D2="",COUNTIF($D$2:D2,D2)<>1),"",ROW(A1)) という数式を入れ、D2・E2セルを範囲指定しE2セルのフィルハンドルで 下へオートフィルでコピーします。 そして、結果のG2セルに =IF(COUNT($E$2:$E$1000)<ROW(A1),"",INDEX(A$2:A$1000,SMALL($E$2:$E$1000,ROW(A1)))) という数式を入れ、隣のH2セルまでコピーし H2セルのフィルハンドルで下へコピーすると 画像のような感じになります。 尚、数式は1000行目まで対応できるようにしていますが データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば良いのですが 他に良い方法があれば読み流してくださいね。m(__)m

googoo3
質問者

お礼

出張でお返事遅れてすみません。画像付きで解説して頂きありがとうございました。 大変分かり安くて満足です。真にありがとうございました。

その他の回答 (4)

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.5

作業列を作って対応するのがデータ数が多くなる場合などには特に良いでしょう。 例えば1行目は項目名でデータは2行目から下方にあるとします。D2セルには次の式を入力して下方にオートフィルドラッグします。 =A2&B2 E2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(D2="","",IF(COUNTIF(D$2:D2,D2)=1,MAX(E$1:E1)+1,"")) そこでお求めの表ですがG1セルにデータの種類と入力し、その数をH1セルに表示させるとしてH1セルには次の式を入力します。 =MAX(E:E) 重複を除いたデータはG列とH列に表示させるとしてG2セルには次の式を入力してH2セルまでオートフィルドラッグしたのちに下方にもオートフィルドラッグします。 =IF(ROW(A1)>MAX($E:$E),"",INDEX($A:$B,MATCH(ROW(A1),$E:$E,0),COLUMN(A1)))

googoo3
質問者

お礼

出張でお返事遅れてすみません。いろんなやり方があり、とても勉強になりました。 親切に教えていただきありがとうございました。

  • kagakusuki
  • ベストアンサー率51% (2610/5101)
回答No.4

 今仮に、D列とE列を作業列として使用して、F列とG列に結果を表示するとします。  まず、D1セルに =A1&B1 E1セルに =IF(D1="","",1) E2セルに =IF(OR(D2="",COUNTIF(D$2:D2,D2)<>1),"",COUNT(E$1:E1)) F1セルに =IF(ROWS($1:1)>MAX(E:E),"",INDEX(D:D,MATCH(ROWS($1:1),E:E))) G1セルに =IF(F1="","",COUNTIF(D:D,F1)) と入力して下さい。  次に、D1セルとE2セルをコピーして、それ以下のセル(データが入力されている最終行まで)に貼り付けて下さい。  そして、F1セルとG1セルをコピーして、A列に存在するデータの種類の数と、B列に存在するデータの種類の数を、掛け合わせた数を、少し上回る回数だけ貼り付けて下さい。  これで御求めの表示が行われると思います。

googoo3
質問者

お礼

出張でお返事遅れてすみません。いろんなやり方があり、とても勉強になりました。 親切に教えていただきありがとうございました。

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

a列とb列で重複するデータを排除して空エリアに表示させる方法 すぐに思い浮かべるのが、フィルターオプションですが、フィルターオプションが使いやすくするために a b c d あAx あAy ・・・ D列に =A1&B1 下までコピィしておきます。 データ=>フィルター=>フィルターオプションのウィザードで 指定した範囲に チェック リストの範囲に D:D(D列) 抽出範囲    表示したいセル 仮に E1 重複するレコードは無視する にチェック OKしてみてください。 データ件数をカウントしたいと思います。 全て 1件では?

googoo3
質問者

お礼

出張でお返事遅れてすみません。いろんなやり方があり、とても勉強になりました。 親切に教えていただきありがとうございました。

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

Cのデータは無視してABだけを検査します。 データメニューのフィルタから「フィルタオプションの設定」を開始 添付図に倣って  指定した範囲にマーク  リスト範囲はAB列のデータ範囲  検索条件範囲は記入不要  抽出範囲はデータを書き出す空エリアのセルを指定  重複を無視するにチェックを入れて OKします。  

googoo3
質問者

お礼

出張でお返事遅れてすみません。手っ取り早いやり方でなるほどと思いました。 親切に教えていただきありがとうございました。

関連するQ&A