I do have a solution to this, as I had to do similar for a pub quiz.
However it's on one of my backup CDs and will take me a while to find.
A point about the scoring system, though. It's usual for equal scores to receive the same points which would be allocated if they were the sole instance of that score. eg. in your example, the 3 230's would each score 18, not 17 as your /3 would give.
The reasoning here is that each of the teams scoring 230 could argue that they are being penalised a point (relative to the team scoring 240, for example), simply because another team has attained the same score as them.
This brings the problem a little easier to solve, because Excel has a "Rank" function, Look it up and see if does the job.
In the meantime, I'll try to find the code I wrote about 3 years ago.