【中学英文法・高校受験英文法解説】現在完了④~継続、経験、結果完了のまとめ~

現在完了の形と意味

現在完了形は<have(has)+過去分詞>で表します。意味は「(ずっと)~している[継続]」「~したことがある[経験]」「~したところだ・~してしまった[完了・結果]」の3つがあります。

~現在完了<have(has)+過去分詞>の意味~

①[継続]「ずっと~している」

②[経験]「~したことがある」

③[結果・完了]「~してしまった/~したところだ」

上記のように、3種類の日本語に分かれますが、どれにも共通する現在完了の根っこの意味は<過去に起こったことが現在につながっている>です。例えば下の2文を比べてみましょう。

【過去形】
I lost the key.
「私は鍵を失くした
【現在完了形】
I have lost the key.
「私は鍵を失くしてしまった

【過去形】は<過去の出来事>を表すので、I lost the key.という文からは「失くした鍵が今見つかっているか」を判断することはできません。それに対して【現在完了形】は<過去に起こったことが現在につながっている>というニュアンスなので、I have lost the key.という文から「失くした鍵は、今も失くしたままで、まだ見つかっていない」ということまで読み取ることができます。

「鍵を失くした」と「鍵を失くしてしまった」という日本語を見ても、「今も失くしたままか」は判断できません。日本語の訳で区別することはかなり難しい(あるいは不可能である)ので、まずは【現在完了形】は<過去に起こったことが現在につながっている>というニュアンスであることを理解して、日本語ではなく英語のルールで考えるようにしてください

そして、主語が3人称単数であれば<has+過去分詞>という形になります。

He has lost the key. 「彼は鍵を失くしてしまった」

短縮形

〇 I have → I’ve

〇 you have → you’ve

〇 he has → he’s

〇 she has → she’s

〇 we have → we’ve

〇 they have → they’ve

〇 it has → it’s

現在完了形が表す意味

~現在完了<have(has)+過去分詞>の意味~

①[継続]「ずっと~している」

②[経験]「~したことがある」

③[結果・完了]「~してしまった/~したところだ」

どの場合も<過去に起こったことが現在につながっている>というニュアンスは変わりません。

継続「ずっと~している」

[例①]
I have lived in Tokyo for three years.
「私は3年間、東京に住んでいる
[例②]
It has rained since yesterday.
「昨日からずっと雨が降っている

例①は「3年前に東京に住み始めて、現在までずっと東京に住んでいる」という意味であり、例②は「昨日降り始めた雨が、現在も降り続いている」という意味です。どちらも<過去に起こったことが現在につながって>います。

<have+過去分詞>が以下の語句と一緒に使われている場合は、「ずっと~している」と訳すとうまくいきやすいです。

・ for+期間を表す語句…「~の間」

for three years「3年間」/for many years「何年もの間」/for a long time「長い間」

・ since+過去のある時点…「~以来」

since yesterday「昨日から」/since then「その時以来」/since yesterday「昨日から」

since I was a child「私が子供だったとき以来」

・ how long「どれくらいの間」

・ その他よく出てくるもの

all day「一日中」/all the year「一年中」/today「今日」/this week「今週」

I have studied English all day. 「私は一日中英語を勉強している」
How long have you lived in Japan?
疑問詞の後は疑問文の形になる
「あなたはどれくらい日本に住んでいますか?」

経験「~したことがある」

[例①]
I have visited Kyoto twice.
「私は京都を2回訪れたことがある
[例②]
I have read the story before.
「私は以前その本を読んだことがある

例①は「過去に京都を訪れたことがあり、それが現在、経験値や知識、思い出として残っている」という意味で、例②は「過去に話を読んだことがあり、それが現在、知識や思い出として残っている」という意味で、<過去に起こったことが現在につながって>います。

<have+過去分詞>が以下の語句と一緒に使われている場合は、「~したことがある」と訳すとうまくいきやすいです。

・文末に置かれるもの

before「以前」/once「かつて/一度」/twice「2回」/~times「~回」

many times「何回も」

・ haveと過去分詞の間に挟むもの

 sometimes「時々」/often「よく」/ever「今までに」(疑問文で使う)/never「一度も~ない」  

・ 疑問詞

how often = how many times「何回」

I have visited the country once. 「私は一度その国を訪れたことがある」
She has watched this movie three times. 「彼女はこの映画を3回見たことがある」
Have you ever played tennis?「あなたは今までにテニスをしたことがありますか?」
I have never seen him.
※経験を表す現在完了ではnotの代わりにneverを使うことが多い
「私は彼に会ったことがない
How often have you come here?
疑問詞の後は疑問文の形になる
「あなたはここに何度来たことがありますか?」

結果・完了「~してしまった/~したところだ」

[例①]
I have lost the key.
「私は鍵を失くしてしまった
[例②]
I have finished the work.
「私は仕事を終えたところだ

例①は「過去に失くした鍵が、現在も失くしたままだ」という意味で、例②は「過去に始めた仕事が、現在は終わっている」という意味です。どちらも<過去に起こったことが現在につながって>います。

<have+過去分詞>が以下の語句と一緒に使われている場合、「~してしまった/~したところだ」と訳すとうまくいきやすいです。

・ already「(肯定文で)もう、すでに」 

・ just「ちょうど」

・ now「今」   

・ yet「(否定文で)まだ/(疑問文で)もう」

・ just「ちょうど」    

I have already finished the work. 「私はすでに仕事を終えてしまっている」
I have not finished the work yet. 「私はまだ仕事を終えていない
Have you finished the work yet? 「あなたはもう仕事を終えましたか?」
She has just come here. 「彼女はちょうどここに来た」

現在完了の文の作り方

肯定文

<【主語】+have+過去分詞~>という形が現在完了形の文です。

I have already finished the work. 「私はすでに宿題を終えてしまった」
I have visited Tokyo twice. 「私は東京を2度、訪れたことがある」

否定文

<【主語】+have+not+過去分詞~.>とすると否定文になります。<have+not>の短縮形は<haven’t>、<has not>の短縮形は<hasn’t>です。<経験用法「~したことがある」>の場合は<not>の代わりに<never>が使われることがほとんどです。

I have not finished the work yet. 「私はまだ仕事を終えていない
I have never visited Tokyo. 「私は一度も京都を訪れたことがない
It hasn’t rained for a week. 「一週間、雨が降っていない

疑問文

<Have+【主語】+過去分詞~?>とすると疑問文になります。答え方は<Yes,【主語】+have(has).><No,【主語】+haven’t(hasn’t).>です。

Have you lived in Japan for a year?
ーYes, I have.
ーNo, I haven’t.
「あなたは1年間、日本に住んでいますか?」
ー「はい、そうです」
ー「いいえ、ちがいます」
Has she ever visited Kyoto?
ーYes, she has.
ーNo, she hasn’t.
「彼女は今までに京都を訪れたことがありますか?」
ー「はい、あります」
ー「いいえ、ありません」

疑問詞を使った疑問文

【疑問詞が主語にならないパターン → <疑問詞+have+【主語】+過去分詞?>】

What have you done? 「あなたは何をしてしまったのですか?」
How long has she lived in Japan? どのくらいの間、彼女は日本に住んでいるのですか?」

【疑問詞が主語になるパターン → <疑問詞+have+過去分詞~?>】

答え方は<【主語】+have(has).>となります。

Who has come yet?
ーTom has.
誰がもう来ていますか?」
ー「トムです」
What has been done? 何がなされたのですか?」

現在完了は過去を表す語(句)といっしょに使うことができない

現在完了は<過去に起こったことが現在につながっている>ということを表し、<過去>とは異なるので、以下のような<過去を表す語(句)>といっしょに使うことができません。

〇 過去を表す語(句)= 現在完了といっしょに使うことができない!

・yesterday「昨日」

・~ago「~前」

・just now「たった今(=少し前の過去)」

・last~「この前の~/先~」

・in+年号

・When~?「いつ?」

・when~「~する時」

※since yeserdayやsince last weekなど、sinceといっしょに用いる場合は可。ただし<since~ago>というセットはない。

※justやnowは現在完了といっしょに使うことができるが、just nowとなると現在完了といっしょには使えない。ここは覚える必要がある。

※例えば<I have come here yesterday.>「私は昨日ここに来た」のように、文法的にはダメでも、日本語にすると通じるものも多いので、意味で判断しようとせず、ルールとして覚えてしまう。

【ダメな例】

× I have come here yesterday.
× She has arrived just now.
× When have you come here?
× The train has left when we arrived.

暗記事項

have beenとhave gone

have been to~「~に行ったことがある(経験)/~へ行ってきたところだ(完了)」

I have been to Kyoto. 「私は京都に行ったことがある
He has been to the library.  「彼は図書館に行ってきたところだ

have gone to~「~に行ってしまった(もうここにはいない)」

She has gone to New York. 
「彼女はニューヨークに行ってしまった(もうここにはいない)

have been in~「~にずっといる(継続)/~にいたことがある(経験)」

I have been in Tokyo. 
「私は東京にずっといる/私は東京にいたことがある

「死んでしまった」

動詞の過去形を使う

She died three years ago. 
「彼女は3年前に死んだ」

【主語】have been dead for【期間】

She has been dead for three years. 
「(直訳)彼女は3年間ずっと死んでいる/(意訳)彼女は3年前に死んだ」

【期間】have passed since~.「~以来<期間>が経過した」

Three years have passed since she died. 
    「彼女が死んでから3年が経過した」

It is【期間】since~. = It has been【期間】since~.「~以来<期間>だ」

「彼女が死んでから3年だ」
It is three years since she died.
It has been three years since she died.

演習問題へ