It does not tell us exactly how old Colonel Fitzwilliam is, but in the book when Elizabeth first meets him, it says that he looked to be about thirty.
In that period of history, it is very possible for a person of that age to hold the rank of Colonel. Ranks were obtained differently then, they could be purchased up to the rank of Lieutenant Colonel -- and usually a member of nobility (his father is an Earl) would start at a higher rank than Lieutenant or Captain. He probably purchased his first commission as a Major, then a Lieutenant Colonel, and then was promoted to Colonel after a few years of service for his contributions.
I hope that helps.
Also, you did not ask, but just an explanation of the name. Fitzwilliam is the Colonel's last name - it was also the maiden name of Darcy's mother before she married. That is why although it is the Colonel's last name, it is also Mr Darcy's first name (Fitzwilliam Darcy) -- in those days, a son was often named after his mother's family name in order to carry that name forward along with his last name. (They did not yet start the modern habit of having two last names joined by a hyphen.)