According to the Harry Potter wiki page Charlie Weasley was born on the 12th of December 1972, this would mean that he finished Hogwarts in 1991 (According to the wiki page he attends 1984 to 1991, because you start secondary school in the school year in which you turn 12 [this holds consistent for other characters]). As I’m sure you’re aware this was the year Harry Potter began his magical education. You are also aware, no doubt, that Charlie was something of a Quidditch legend having been both Seeker and Captain of the Gryffindor team. He is frequently referenced when Harry makes the team, ‘We haven’t won since Charlie left,’ Fred tells Harry, Charlie that is who left err earlier that year. So perhaps they just won all the time and Fred has a bizarre way of phrasing it? Nope, ‘Heaven, knows we need a better team than last year. Flattened in that last match by Slytherin,’ comments McGonagall. And in fact Charlie definitely wasn’t captain the year before judging by the twins assertion, ‘We know Oliver’s speech by heart,’ Fred told Harry. ‘we were in the team last year.’
So perhaps Charlie didn’t do his N.E.W.T’s? That would mean he left two years before during which time Wood could have become Captain and Gryffindor could have lost twice. Except Charlie is a Prefect, which suggests he is a good student and Molly almost has kittens when Fred and George drop out of their N.E.W.T’s. Surely they would have mentioned that Charlie had done fine if he has also chosen to leave after his O.W.L’s? It’s unlikely but a possible explanation There is also the problem of what Charlie would have done for two years before coming of age. He seems to have been in the country when he did his apparition test at 17 so it is unlikely he would have started his work with Dragons at 15.