完了形
現在完了
have + 過去分詞
説明
現在完了形は、過去と現在のつながりを表します。
現在完了形では、「3回ロンドンに行ったことがある」「もう宿題を終えた」「ずっとここに住んでいる」といった経験・完了・継続を表せます。過去のことを、現在とのつながりから捉える形です。
形は have / has + です。
yesterday のような明確な過去時点があるときは、現在完了ではなく過去形を選びます。
過去形は過去の時点・出来事を述べます。現在完了形にすると、経験、今までの継続、現在に残る結果として話せます。
今回のゴール
- 現在完了(have / has + 過去分詞)の肯定文・否定文・疑問文が作れるようになる
- 経験用法で「〜したことがある/ない」が言えるようになる
- 継続用法で「ずっと〜している」や「どのくらい続いているか」が言えるようになる
- 完了・結果用法で「〜し終えた・その結果が今に残る」が言えるようになり、been to と gone to の使い分けを理解する
- 過去形と現在完了の使い分けを理解する
現在完了の基本の形
現在完了(have / has + 過去分詞)の肯定文・否定文・疑問文が作れるようになる
現在完了は、過去の出来事が現在とつながっていることを表す形です。「have / has + 過去分詞」で作ります。
主語が he / she / it などの三人称単数なら has、それ以外は haveを使います。have / has の後は動詞の原形や過去形ではなく、過去分詞を使います。
経験・継続・完了・結果は、すべて have / has + 過去分詞という同じ形を使います。用法ごとに別の活用を覚える必要はありません。
文を読むときは、過去の体験があるのか、今まで続いているのか、終わった結果が今に残るのかを分けます。ever / since / already などは、そのつながりを見分ける手がかりです。
have / has + 過去分詞の形を確認する
I have been to Paris twice.
- 私はパリに2回行ったことがあります。
She has lived in Tokyo for 10 years.
- 彼女は東京に10年間住んでいます。
- Q
Have you ever eaten sushi?
- 寿司を食べたことはありますか?
- A
Yes, I have.
- はい、あります。
No, I haven't.
- いいえ、ありません。
会話では I have → I've、He has → He's のように短縮します。否定形は haven't / hasn't です。
He's は He is の短縮形でもあります。現在完了では He's lived ... のように、後ろに過去分詞が来ることで見分けます。
よくある間違い
I have see that movie.
基本の形
I have seen that movie.
現在完了は have / has + 過去分詞で作ります。原形の see や過去形の went ではなく、過去分詞の seen / gone を使います。
よくある間違い
She have finished her work.
基本の形
She has finished her work.
She は三人称単数なので has を使います。have は I / you / we / they のときに使います。
「Has he finished?」に肯定で答えるとどうなりますか。
経験用法:過去の経験を伝える
経験用法で「〜したことがある/ない」が言えるようになる
経験の用法は、過去の体験を「〜したことがある」と表します。大切なのは、「いつしたか」ではなく「経験があるかどうか」です。「今までに」を表す ever や「一度も〜ない」を表す never とよく一緒に使います。
- 経験を尋ねる
- Have / Has + 主語 + ever + 過去分詞?今までにした経験があるかを尋ねる
- 経験を否定する
- 主語 + have / has never + 過去分詞一度もしたことがないと伝える
ever / never で経験の有無を表す
I have never been abroad.
- 私は海外に行ったことがありません。
- Q
Have you ever visited Kyoto?
- 京都を訪れたことはありますか?
- A
Yes, I have.
- はい、あります。
No, I haven't.
- いいえ、ありません。
経験を表す現在完了ではどんな副詞を使いますか。
継続用法:過去から今までの継続を伝える
継続用法で「ずっと〜している」や「どのくらい続いているか」が言えるようになる
継続の用法は、過去に始まった状態が現在まで続いていることを表します。for は期間、since は起点を示し、How long は継続時間を尋ねます。live / know のような状態を表す動詞は、現在完了で継続を表しやすい動詞です。動作そのものが続いていることを強調したいときは、発展として別に学ぶ現在完了進行形を使います。
過去に始まった状態が今まで続いていることを表す
since は時点だけでなく、「私たちが子どものころから」を表す since we were children のように文も続けられます。
I have known her since we were children. では、今までの継続を現在完了 have known、開始時点の状態を過去形 were で表します。
since と for で継続の起点・期間を示す
He has worked here since 2015.
- 彼は2015年からここで働いています。
We have known each other for five years.
- 私たちは知り合って5年になります。
期間を尋ねる
「どのくらい〜していますか?」と期間を尋ねるときは How long have you + 過去分詞 ...? を使います。答えには「〜の間」を表す for や「〜以来」を表す since を使います。
例文
How long have you lived in Tokyo?
- 東京にどのくらい住んでいますか?
How long + have you + 過去分詞で期間を尋ねます。
答えは I have lived here for three years. / since 2023. のように for か since で答えます。
よくある間違い
I live here for 5 years.
基本の形
I have lived here for 5 years.
for 5 years は「5年前から今まで」という期間です。過去から今まで続いていることは、現在完了 have lived で表します。
He ___ here since 2020. 今も住んでいることを表します。
完了したことと今に残る結果を伝える
完了・結果用法で「〜し終えた・その結果が今に残る」が言えるようになり、been to と gone to の使い分けを理解する
完了の用法は「〜し終えた」、結果の用法は「過去の出来事の結果が今も残っている」ことを表します。「ちょうど」を表す just や「もう」を表す already とよく一緒に使います。
already は have / has と過去分詞の間に置くのが基本ですが、会話では文末に置かれることもあります。yet は否定文・疑問文で文末に置きます。例: I haven't finished yet.
just / already / yet で完了と結果を表す
I have just finished my homework.
- 私はちょうど宿題を終えたところです。
She has already left home.
- 彼女はもう家を出ました。
I haven't finished my homework yet.
- 私はまだ宿題を終えていません。
同じ「行く」でも、have been to は「〜に行ったことがある」という経験を表します。主語が表す人は、その場所から戻ってきています。
have gone to は「〜に行ってしまって、今ここにいない」という結果を表します。She has been to London. / She has gone to London. のように使い分けます。
よくある間違い
I have yet finished my homework.
基本の形
I haven't finished my homework yet.
yet は否定文・疑問文で「まだ / もう」を表す副詞で、文末に置きます。肯定文の「もう〜した」は already を使います。
よくある間違い
He has gone to Paris.:パリに行ったことがあると伝えたい場合
基本の形
He has been to Paris.
「〜に行ったことがある」と経験を伝えたいときは have been to を使います。have gone to は「〜に行ってしまって今ここにいない」という結果を表します。
完了を表す現在完了ではどんな副詞を使いますか。
過去形との使い分け
過去形と現在完了の使い分けを理解する
過去形は、過去の一時点で起きた出来事を表します。「いつ起きたか」に焦点があり、yesterday / last week などで時点を明確にできます。現在完了は、過去の出来事が「今とどうつながるか」に焦点を置きます。そのため、yesterday や last week のような明確な過去の時点を示す語とは、ふつう一緒に使いません。
過去の時点と現在とのつながりを分ける
I went to Tokyo yesterday.
- 私は昨日東京に行きました。
過去形 went は「昨日行った」という、その時点の出来事を表します。
現在完了 have been は「今までに行ったことがある」という経験を表すため、yesterday のような明確な過去の時点を言う文ではふつう使いません。
I have been to Tokyo before.
- 私は以前東京に行ったことがあります。
現在完了 have been は「これまでに行った経験がある」ことを明確に伝えます。
過去形 went でも文脈次第で経験的に解釈できますが、過去のある時点の出来事として聞こえやすいため、「経験」を中心に伝えたいときは have been が自然です。
I have lost my umbrella.
- 私は傘をなくしてしまいました。
よくある間違い
I have visited Tokyo yesterday.
基本の形
I visited Tokyo yesterday.
yesterday のような明確な過去の時点を表す語があるときは、現在完了ではなく過去形を使います。
「昨日〜した」のように過去の時点を示す語がある場合、どんな形を使いますか。
まとめ
- 現在完了(have / has + 過去分詞)の肯定文・否定文・疑問文が作れるようになる
- 経験用法で「〜したことがある/ない」が言えるようになる
- 継続用法で「ずっと〜している」や「どのくらい続いているか」が言えるようになる
- 完了・結果用法で「〜し終えた・その結果が今に残る」が言えるようになり、been to と gone to の使い分けを理解する
- 過去形と現在完了の使い分けを理解する