I've been having problems with the Rank function.

I have a series of 33 cells (G2:G34) that each have number in it, that is a sum of other numbers. Basically, these are scores, ranging between 23 and 48 (out of a possible score of 50). However, these numbers are not in order, but I wish to keep them in the order they are in, as each score is attributed to a name, which I want to keep in alphabetical order.

In cell H2 I have this equation:
=RANK(G2,G2:G34)
What I am assuming it does is it takes the numeric value of cell G2 (31), compares this value to the list of values from all of the scores, and ranks it accordingly. Thusly, the number this equation computes is 24, telling me that of the array of numeric values in cells G2:G34, G2's value of 31 is the 24th number, so I know that it is one of the lower scores.

Now, here is where I encounter the problem.

When I drag-copy (where you have a cell selected, and you click-hold on the bottom-right corner and drag it to copy the contents of the cell) cell H2 (the one with the RANK equation) and drag it down to cell H3, I want the equation to look like this:
=RANK(G3,G2:G34)
I want it to auto-change the cell that is being ranked, but to retain the same array of cells. However, that is not what happens. Instead, this is what happens when I copy the equation (either through drag-copy, copy-paste, etc.):
=RANK(G3,G3:G35)
It does auto-change the cell being ranked, but it also moves the entire array. So instead of ranking cell G3 against 33 numeric values, it ranks cell G3 against 32 numeric values and a blank cell. Obviously I don't want that to happen, I want it to compare the next score in line against the original set of scores. And when I copy the cell-equation through to the subsequent cells, it continually repeats this mistake by moving all of the numbers in the equation up by one. So by the time I get to G34, where I would want the equation to look like this:
=RANK(G34,G2:G34)
It instead looks like this:
=RANK(G34,G34:G66)
So that instead of ranking G34's given score value out of 33 score values, it instead ranks G34's given score value out of one score value (itself) and 32 empty cells. So, of course the number it gives to me is a rank of 1, which I know to be wrong.

My questions are: why is this bugging up when I attempt to copy the equation? Shouldn't it remember where the original array is while still knowing to change which cell out of the array is to be compared against the whole array?

I don't want to have to manually correct each and every cell.