英語の現在完了を勉強していると、
have gone to ~
have been to ~
という2つの表現が出てきます。
どちらも日本語では「~へ行った」と訳せるので、少し分かりにくいですよね。
でも、違いは意外とシンプルです。
ポイントは、
「その人が今どこにいるのか?」
です。

have gone to ~|行って、まだ帰ってきていない
have / has gone to ~ は、
「~へ行って、今はここにいない」
という意味になります。
例えば、
Jane is on holiday. She has gone to Italy.
ジェーンは休暇中です。イタリアへ行っています。
この場合、ジェーンはイタリアへ行って、まだ帰ってきていません。
現在イタリアにいる、またはイタリアへ向かっているという状況です。
こんな会話で使えます
Where's Tom?
トムはどこ?
He's gone to the supermarket.
スーパーに行ったよ。
この場合、トムはスーパーへ行って、まだここには戻ってきていないということです。
have been to ~|行って、すでに帰ってきた
一方、
have / has been to ~
は、
「~へ行ったことがある」
という経験を表すときによく使います。
Tom has been to Italy.
トムはイタリアへ行ったことがあります。
この場合、トムはイタリアへ行った経験がありますが、今イタリアにいるという意味ではありません。
すでにイタリアから帰ってきています。
例えば、
Have you ever been to London?
ロンドンへ行ったことがありますか?
Yes, I've been to London several times.
はい、何度かロンドンへ行ったことがあります。
海外旅行について話すときにも、とてもよく使う表現です。
goneとbeenの違いを簡単に覚えるなら
難しく考えず、まずは次のように覚えておくと分かりやすいです。
gone → 行って、まだ帰ってきていない
been → 行って、帰ってきた
例えば、
He's gone to London.
→ ロンドンへ行っていて、まだ帰ってきていない。
He's been to London.
→ ロンドンへ行ったことがある。
日本語ではどちらも「ロンドンへ行った」と訳せることがありますが、英語では意味が違います。
会話で比べてみよう
① まだ帰ってきていない
Where's Mike?
マイクはどこ?
He's gone to the gym.
ジムに行ったよ。
👉 マイクは今ここにはいません。
② 行った経験がある
Have you ever been to the UK?
イギリスへ行ったことある?
Yes, I've been there twice.
うん、2回行ったことがあるよ。
👉 今イギリスにいるわけではありません。
まとめ
have gone to ~ と have been to ~ の違いは、「現在どこにいるのか」を考えると分かりやすくなります。
have gone to ~
= 行って、まだ帰ってきていない
have been to ~
= 行ったことがある・行って帰ってきた
現在完了は日本語に訳そうとすると難しく感じることがあります。
そんなときは日本語訳だけを覚えるのではなく、
「今、その人はそこにいるのか?」
と状況をイメージしてみると、使い分けやすくなります。
