I think I see
Each column stores a name and you are assigning a value of 5 to 1.
You need to evaluate all of the sites that fall into each of the 5 columns and give the top 5 based on the sum of your assigned 5 to 1 value.
That is a nightmare in crystal.
how many data rows are you talking about?
If you cannot scrub your data outside of crystal (a view or stored procedure) you could do a crystal command object and uniono the table onto itself 5 times like so:
grab column 1 and call it 'name' make another column called 'score' as a value of 5
union it to
grab column 2 and call it 'name' make another column called 'score' as a value of 4
union it to
grab column 3 and call it 'name' make another column called 'score' as a value of 3
etc.
then you can easily do a grouping on the name and summing on the score and get your top 5 from that.