英語の現在完了

The Present Perfect

クイズで理解度をチェック

現在完了は過去と現在をつなぐ形です。作り方はhave または has + 過去分詞で、経験、変化、まだ終わっていない期間について話すときに使います。

現在完了の作り方

I、you、we、they には have を、he、she、it には has を使い、その後に過去分詞を続けます。

主語肯定文否定文疑問文
II have workedI haven't workedHave I worked?
youyou have workedyou haven't workedHave you worked?
he, she, itshe has workedshe hasn't workedHas she worked?
wewe have workedwe haven't workedHave we worked?
theythey have workedthey haven't workedHave they worked?

規則動詞は -ed を付けます (work, worked)。よく使う動詞の多くは不規則なので、過去分詞を覚えましょう(不規則動詞のレッスンを参照)。

原形過去分詞例文
gogoneShe has gone home.
seeseenI've seen this film.
eateatenWe've eaten already.
bebeenHave you been to Rome?

使い方

正確な時は重要でないか、まだ終わっていません。大切なのは、今の結果や経験です。

用法例文
人生の経験I've visited Canada twice.
結果が今に残る過去の動作I've lost my keys.
最近のニュースThe prime minister has resigned.
まだ終わっていない期間She's drunk three coffees today.
過去に始まり今も続いている状況We've lived here for ten years.

ever、never、already、yet、just

これらの語は現在完了とよく一緒に使われます。それぞれが文のどこに来るかに注目しましょう。

語意味と位置例文
ever今までに、疑問文で、過去分詞の前Have you ever ridden a horse?
never一度も〜ない、過去分詞の前I've never ridden a horse.
alreadyもう(思ったより早く)、過去分詞の前He's already finished.
yet今のところ、もう、疑問文と否定文で、文末Has the bus come yet?
justちょうど今、過去分詞の前They've just arrived.

力試しクイズ

このレッスンから5問。何問正解できるでしょうか?

0 XP
第1問/全5問

正しい答えを選んでください。

Have you ___ seen a whale?

for と since

どちらも How long?(どのくらいの間)という問いに答えます。for は期間の長さを、since は始まった時点を表します。

for + 期間since + 起点
for two hourssince nine o'clock
for three weekssince Monday
for ten yearssince 2015
for a long timesince I was a child

現在完了と過去形の違い

いつ起きたかを言ったり尋ねたりするとき、またはその期間が終わっているときは過去形を使います。終わった時を示さないときは現在完了を使います。日本語の「〜した」はどちらにもなりうるので注意しましょう。

現在完了過去形
I've been to Paris.I went to Paris last year.
Have you seen my phone?Did you see the match yesterday?
She's worked here since May.She worked here from 2010 to 2015.
I've had two exams this week.I had two exams last week.

been と gone の違い

go には意味の違う2つの過去分詞があります。

  • He has been to Spain:スペインに行って、帰ってきました。
  • He has gone to Spain:スペインに行ってしまって、今もそこにいます。

よくある間違い

終わった時を表す語と一緒に現在完了を使ってはいけません。また、期間の長さを言うのに現在形を使ってはいけません。

誤り正しい形
I have seen him yesterday.I saw him yesterday.
I live here since 2018.I have lived here since 2018.
She has went home.She has gone home.
I've lived here since ten years.I've lived here for ten years.

例文

I've never eaten octopus.タコを食べたことは一度もありません。
Have you finished your report yet?もう報告書は書き終わりましたか。
She's just left the office.彼女はたった今、会社を出たところです。
We've known each other since school.私たちは学生時代からの知り合いです。
They haven't called me for weeks.彼らからもう何週間も電話がありません。
My brother has broken his arm.弟が腕を骨折してしまいました。
How long have you lived in London?ロンドンに住んでどのくらいになりますか。

ほかの英語文法レッスン