Hi Chronic,
Take a look at the attached example of my solution. It does a few things:
Sheet1 contains the data you're working with in columns A through C. Columns E, G and I will receive the unique entries from columns A, B and C once the macro is run. Columns F, H and J have formulas in them to count the number of times each unique entry occurs in their respective columns.
The formula is filled down about 30 rows, and you can fill it down as far as you think you'll need for unique values. I applied conditional formatting on the Count columns (F, H and J) so that if a value is less than 1, make the font white. I set it to less than one, because the formulas in F, H and J don't return whole numbers, they return whole numbers plus a very small decimal based on the row. So if Bob appears 7 times, his count will be 7 plus the row number/10000 that the formula is in. This results in 7.0002, or 5.0018 for someone in the 18th row. I did it this way to easily pick out the 1st, 2nd and 3rd largest values when ties occurred, otherwise if Bob and Tom both have 7, the 1st and 2nd largest value lookups would both return Bob.
Sheet2 holds the formulas for each of the top 3 per category based on the data in Sheet1!E:J.
I also added a command button to Sheet1 to clear columns E, G and I so you don't have to manually. Anytime you want to paste new data into columns A:C just click that first.
I also protected the sheet so the formulas in F, H and J won't be deleted (no password).
I hope that gives you some ideas.
PS - The filter code and commandbutton code are shown below (filter code from worksheet2's activate event, of course):
Bookmarks