• ベストアンサー

Excel 個数の集計時の重複削除について教えてください。

COUNTIFを使用し個数を集計したのですが、 同じ値がでてきた時に重複してしまいました。 よい関数を教えてください。 A列  B列(カウント) 111  2 222  1 111 =COUNTIFだとこれも2となってしまうので、行を非表示(または削除)したデータを他シートに表示したい。 333  1 よろしくお願いします。

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

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

A1セルには項目名があり、データが2行目から下方に有るとします。 B1セルには重複なしとでも文字を入力します。 B2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(COUNTIF(A$2:A2,A2)=1,MAX(B$1:B1)+1,"") C1セルには次の式を入力すれば重複のない行が幾つあるかを表示することができますね。 =MAX(B:B) なお、重複の行を別のシートに移したいのでしたら、B列を選択して「並び替え」で「昇順」にすれば重複の行にはB列では数値がありませんから下方に並ぶことになります。それらの行を選択して切り取りし、別のシートに貼り付けをすればよいでしょう。 なお、作業列などを作らずにA列に何種類のデータが有るのかを求めるのでしたら、次の式でそれができます。 =SUMPRODUCT((A:A<>"")/COUNTIF(A:A,A:A&""))-1 マイナス1は項目名が入っているので

その他の回答 (2)

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

 以下の様な方法は如何でしょうか。  データが入力されている範囲を、仮にA2~A99とします。  B2セルに =IF(COUNTIF(A$2:A2,A2)=1,COUNTIF(A$2:A$99,A2),"") と入力してから、 B2セルを、B3~B99にコピーする。

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

こんばんは! 色々方法はあるかと思いますが・・・ 一例です。 ↓の画像でSheet1に作業用の列を使わせてもらっています。 作業列D2セルに =IF(COUNTIF($A$2:A2,A2)=1,ROW(A1),"") という数式を入れ、オートフィルでずぃ~~~!っと下へコピーします。 そして、Sheet2のA2セルに =IF(COUNT(Sheet1!$D$2:$D$100)<ROW(A1),"",INDEX(Sheet1!A$2:A$100,SMALL(Sheet1!$D$2:$D$100,ROW(A1)))) という数式を入れ、列方向と行方向にオートフィルでコピーすると 画像のような感じになります。 尚、数式はSheet1の100行目まで対応できるようにしていますが、 データ量によって範囲指定の領域はアレンジしてみてください。 以上、参考になれば良いのですが、 的外れなら読み流してくださいね。m(__)m