What's the difference: been and gone
This is an expanded version of the text that appears in the Typical Errors in English book.
To begin, let's look at the differences in these words in terms of grammar.
Been is the past participle of the verb be, and gone is of go. However, when we use the passive or the past participle to talk about going somewhere, these have different meanings.
We use gone when we talk about someone or something that is already going to a place or is already there:
A: Where’s Dennis?
B: He’s gone to Greece (he is on his way to Greece or he is already there).
We use been when we talk about someone or something that went to a place but is now back:
A: Hello Dennis! I haven’t seen you for a few days!
B (Dennis, of course): I know. I’ve been to Greece.
Now if the answer to Where’s Dennis? is He’s in Greece, this might suggest that he is either a regular visitor there, or he is a regular traveller around Europe and Greece is the latest country for his visits, perhaps on business: ‘He’s in Greece,’ ‘he’s away in Greece’ ‘Oh, he’s working in Greece’ and so on, would also suggest the same thing. They could say ‘he’s gone to Greece’, but this suggests a single trip and there are no plans to make this a regular activity. So it is likely that when Dennis returns that would be the end of his visit to Greece. He may go again, but perhaps not for some time.
The mobile phone has also made the been and gone structure more possible, as the dialogue below would only be possible if the two people are not in the same place but are having a conversation:
FRED (Looking for Joanna, can't find her, and so calls her on his phone): Hey, Joanna, where are you? OR Hey, Joanna, where have you gone?
JOANNA (Responding on her phone): I've gone to the post office to pick up some registered mail. (OR I'm at/in the post office...)
Here, Joanna is likely to be already at the post office and not travelling there. If she is still travelling there, she is more likely to say I'm on my way to the post office.