Paul,
This can be done with Excel sheet forulae but you will need to use array formulae. If your example is contained on a spreadsheet in cells A1 to C8, you are looking to populate cells C2 to C8 with a ranking formula. You should paste into cell C2 the following formula:
Code:
{=SUM(($A$2:$A$8=A2)*($B$2:$B$8>B2))+1}
The curly brakets denote that this is an array formula, you can't actually type them in but rather you should enter the text between the curly brackets and then confirm the function by pressing Crtl + Shift + ENTER. For more info on array formulae have a look at
http://www.cpearson.com/excel/array.htm.
This formula can then be filled down into all all cells below. NB this fomula gives a equal ranking to equal values, this is at odds with your example. You can achieve your example by making the formula slightly more complex and counting back up the list to find previous instances of the same value and adding the count to the ranking.
HTH,
Maccas