現在完了形は、過去と今をつなぐ形です。今より前に何かが起きたことを表しますが、それがいつかは言いません。大事なのは、今ある結果や経験です。日本語では「〜したことがある」「〜してしまった」「もう〜した」などいろいろな言い方にあたります。
I've lost my keys.
鍵をなくしてしまいました。
Have you ever been to Scotland?
スコットランドに行ったことはありますか?
二つの部分からできています。have か has と、過去分詞(worked, seen, gone)です。he, she, it には has を使います。
She has finished her homework.
彼女は宿題を終えました。
We have lived in this flat for two years.
私たちはこのアパートに2年住んでいます。
話し言葉やメッセージでは、短縮形がふつうです。I've, you've, we've, they've, he's, she's, it's。
疑問文と否定文
疑問文では have や has を主語の前に出します。否定文には haven't か hasn't を使います。
Has Sam called you?
サムから電話はありましたか?
I haven't seen that film.
その映画は見ていません。
ever と never
人生の経験をたずねるときは ever、「一度も〜ない」と答えるときは never を使います。どちらも過去分詞の前に置きます。
Have you ever eaten sushi?
お寿司を食べたことはありますか?
I've never ridden a horse.
馬に乗ったことは一度もありません。
been と gone
been は「行って、戻ってきた」、gone は「行ってしまって、今そこにいる」という意味です。
Ana has been to Paris.
アナはパリに行ったことがあります。
行って、戻ってきました。
Ana has gone to Paris.
アナはパリに行ってしまいました。
今パリにいます。
終わった時とは使わない
現在完了形は、終わった時(yesterday, last week, in 2019, ago)と一緒には使いません。そういうときは過去形を使います。日本語ではどちらも「見た」ですが、英語では「いつ」を言うかどうかで形が変わります。
I've seen that film.
その映画は見たことがあります。
I saw that film last week.
その映画は先週見ました。
よくある間違い
- × I have seen him yesterday. → I saw him yesterday.
- × She have finished. → She has finished.
- × Have you ever went to Rome? → Have you ever been to Rome?
- × I've never ate fish. → I've never eaten fish.
- × Did you ever see a whale?(これまでの人生について)→ Have you ever seen a whale?