アプリ版:「スタンプのみでお礼する」機能のリリースについて

以下のようなシートがあります(sheet1)。
数は20万件ほどあります。

場所 日付 種類 名前 ランク
            鈴木  1
            鈴木  1
            鈴木  1
            山本  1
            田中  2
            田中  2
            田中  3
            伊藤  3

この中で、ランクの数を数えたいと思います。
上記表でいえば、ランク1は2件、ランク2は1件という具合です。

名前での重複者を数式で検出して(countif)処理しようと思いましたが
データの件数が多すぎるため、フリーズしてしまいます。
別シート(sheet2)にデータ抽出をしようと思い、マクロを触っていたのですが
うまく行きません。
件数的に、マクロでないと処理は難しいかと思うのですが
ご教授いただけませんでしょうか。
なお、私が組んでみたマクロは下記の通りです。
よろしくお願い申し上げます。

なお、上記例で試した際に
ランク3を1件とカウントする場合と、2件とカウントする場合
指定の違いが分かれば幸いに存じます。

Sub データ抽出()
Dim myRow As Variant
Dim ws1 As Worksheet, ws2 As Worksheet
Set ws1 = Worksheets1
Set ws2 = Worksheets2
myRow = ws1.Range("D" & Rows.Count).End(xlUp).Row

ws2.Range("A:E").ClearContents

ws1.Range("A1:E" & myRow).AdvancedFilter _
Action:=xlFilterCopy, _
      criteriarange:=     ←ここの組み方がわからず…。
copytorange:=ws2.Range("A1"), unique:=True

End Sub

A 回答 (2件)

>数は20万件ほどあります。



ということでエクセル2007以降では、データタブにある「重複の削除」で一発で出来ます。
必要に応じてデータを複写等してから作業してください。
件数が必要でしたら、その後に行数を数えます。

この回答への補足

早々にご返答ありがとうございました。

一度、ご指摘いただいた「重複の削除」を利用したことがあったのに
全く思いつきませんでした…。

今回ご教授いただいた中で、項目の選択ができることも学べ、処理も無事できました。
ありがとうございます。

よって、時間差はありましたが、ベストアンサーにさせていただきます。
本当にありがとうございました。

補足日時:2013/02/06 15:34
    • good
    • 0

20万件のデータが再現できないので、的確かどうかは断定出来ませんが



フィルタオプションで【重複するレコードは無視する】にチェックすることで抽出出来ませんか?

この回答への補足

早々のご返答ありがとうございます。

条件指定範囲がうまく思いつかず…申し訳ありません。

補足日時:2013/02/06 15:32
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!