英語の現在完了形を徹底解説!継続・経験・結果の見分け方も!現在完了進行形もばっちし分かる!

参考書よりもわかりやすい英文法超入門講座」の第12講です。今回は現在完了形をとりあげます。

最初に現在完了の継続用法と現在完了進行形の関係を解説します。続いて、見分け方も含めて、経験用法と完了・結果用法を説明します。

そして最後に、「現在完了を用いてはならない場合」を解説します。

各セクションの終わりには解説をもっとよく理解するための練習問題を収録しています。

この記事を読めば「現在完了形」の本質を基礎からしっかりと理解できるはずです!

現在完了形とは

現在完了形はhave(has)+過去分詞で表し、「過去から現在までつながりがある」というイメージです。

例えばI lost my wallet.は「過去に財布を無くした」という事件を表すにすぎません。一方、I have lost my wallet.だと「過去に財布を無くし、今もまだ見つからずに困っている」という風に、過去から現在へのつながりを表します。

これが現在完了形のイメージです。

さらに、もっと深く現在完了と過去時制の違いを把握するために、下記の例文を見比べてみましょう。

She has injured her eyes.彼女は目に怪我をした。

She injured  her eyes.彼女は目に怪我をした。

①、②ともに「彼女は目に怪我をした」と同じ日本語訳になります。②のようにShe injured her eyes.と単に過去形では、10年前に怪我をして、今はとっくに治っているかもしれません。一方、①のようにShe has injured her eyes.と現在完了形で表すと、「過去から現在までのつがなり」を意味するので、「今もまだ目の怪我が治っていない」ことを意味します。

このように現在完了形は日本語にはない時制なので、日本語訳だけに頼っていると、英文の意味を正しく把握できません。とにもかくにも、現在完了形を見たら、「過去から現在へのつながり」をイメージするようにして下さい。

現在完了形の種類

さて、現在完了形には

  • 継続用法(過去から今まで~し続けている)
  • 経験用法(過去から今までに~したことがある)
  • 完了・結果用法(過去に~し終えて今に至る)

の3つの用法があります。

以下ではこれら3つの用法とその見分け方を順に解説していきます!

現在完了形の継続用法

現在完了の継続用法は「過去から今まで~し続けている」という意味です。

継続用法×状態動詞⇒have+過去分詞

継続用法では状態動詞hava, know, live, beなど)が用いられる場合はhave+過去分詞の形になります(参考:主な状態動詞の一覧)。

例えばWe have known each other since we were children.(私達は子供の頃からお互いを知っている。)という文の場合、knowは状態動詞なので、have+過去分詞の形で表されています。

継続用法×動作動詞⇒have been doing(現在完了進行形)

一方、継続用法で動作動詞(状態動詞以外の動詞、study, learn, work, lainなど)が用いられる場合は、have been doingという現在完了進行形の形を使います。

例えば、workは動作動詞なので、「私はその会社で5年間ずっと働いている」という日本語を英語に訳した場合、I have worked at the company for five years.(×)間違いです!正しくは、have been doingの形を使って、I have been working at the company for five years.とします。

継続用法のポイント!
状態動詞⇒have+過去分詞
動作動詞⇒have been doing

言い換えれば現在完了形の継続用法では状態動詞以外のときはhave been doingの形を使います。

継続用法と他の用法の見分け方

また、継続用法と他の用法を見分けるポイントは、for(~の間)How long(どのくらい?)since(~から今まで)が用いられているかどうかです。この3つが用いられていれば、現在完了形の継続用法と言えます。

(例1)I have been here for a week.(一週間前からここにいる。)

beは状態動詞なので継続用法をhave+過去分詞の形で表しています。

一週間前からここにいて、現在も「ここにいる」ことを表しています。現在完了の継続用法では期間を表す副詞句for~がよく用いられます。

(例2)How long have you known John?(ジョンと知り合ってどれくらいになりますか。)

knowは状態動詞なので継続用法をhave+過去分詞の形で表しています。

現在もジョンとは知り合いですが、「どのくらい前~今まで知り合いでい続けたのか」を質問しています。現在完了の疑問文では期間を表すhow long~がよく用いられます。

(例3)We have lived in London since 1970.(私たちは1970年以来ロンドンに住んでいる。)

liveは状態動詞なので継続用法をhave+過去分詞の形で表しています。

「1970年~現在までずっと住んでいる」という継続の意味を表します。現在完了の継続用法では、期間を表す副詞句since~がよく用いられます。

(例4)He has been cleaning this room since this morning.(彼は朝からずっと部屋の掃除をしている。)

cleanは動作動詞なので継続の意味を表すにはhave been doingと現在完了進行形の形を用います。

朝からずっと部屋の掃除をしていて、「現在も部屋の掃除を続けている」というニュアンスです。

(例5)He has been studying English for four years.(彼は4年間ずっと英語の勉強をしている。)

studyは動作動詞なので継続の意味を表すにはhave been doingと現在完了進行形の形を用います。

この4年間、「英語の勉強をがんばり続けている」という意味ですね。

現在完了の継続用法の問題演習

現在完了の継続用法は入試頻出です。なので理解を深める意味でも練習問題として過去問を掲載します。解説も丁寧に行います。

1.We are all tired of snow. It (  )for four weeks.

①has been snowing ②is snowing ③snowed ④will have snowed

解答解説1
明治大学の過去問です。for four weeksfor(~の間)が用いられていることから現在完了の継続用法だと分かります。現在完了の継続用法かどうかを見分けるポイントはfor~・How long・since~が使われているかどうかでしたね。そして動詞(V)が状態動詞の場合はhave+過去分詞、Vが動作動詞の場合はhave been doingの形になるのでした。

snowは「雪が降る」という動作動詞です(動作動詞とは状態動詞以外の動詞のこと、参考:主な状態動詞の一覧)。よってhave been doingと現在完了進行形の形になっている①has been snowingが正解です。

全文はWe are all tired of snow. It has been snowing for four weeks.です。日本語訳は「私たちは皆、雪に疲れ果てている。もう4週間も雪が降り続いているのだから。[そして今もまだ雪が降り続いている。]」です。

2.John and Mary (  )each other since 1976.

①have been knowing ②have known ③were knowing ④were known

解答解説2
センター試験の過去問です。since 1976から現在完了の継続用法だと分かります。knowは頻出の状態動詞です。状態動詞はそもそも進行形にできないので、①have been knowing③were knowingは簡単に除外できます。また、状態動詞を用いて現在完了の継続用法を使うにはhave+過去分詞の形になるので、②have knownが正解です。

全文はJohn and Mary have known each other since 1976.です。日本語訳は「ジョンとメアリーは1976年以来の知り合いだ。」となります。

現在完了の経験用法

現在完了の経験用法では「過去から今までに~したことがある」という意味を表します。経験用法の最も典型的な使い方はhave been to(~へ行ったことがある)です(have been toは熟語のように覚えます)。例えば、I have been to Kyoto three times.(私は京都に3回行ったことがある。)などと表現します。

経験用法と完了・結果用法の見分け方

注意点は、同じhave been toで「~へ行ってきたところだ」と《完了》の意味を表すことがあることです。例えばI have just been to convenience store.(ちょうどコンビニへ行ってきたところだ。)という具合です。

この2種類のhave been toを区別するにはthree timesjustなどの副詞前後の文脈が鍵となります。現在完了の経験用法でよく用いられる副詞には以下のようなものがあります。

before(以前に)、ever([疑問文で]今までに)、never(今までに一度も~ない)、once(1度)、twice(2度)、~times(~回)、many times(何度も)、often(何度も)
(例1)I have seen this movie before.(私は以前にこの映画を観たことがある。)

before(以前に)という副詞から現在完了の経験用法だと判断します。

(例2)Have you ever been to Kyoto?(京都に行ったことがありますか。)

ever(今までに)という副詞から現在完了の経験用法だと判断します。

(例3)I have never visited to Kyoto.(私は京都に一度も行ったことがない。)

never(今までに一度も~ない)という副詞から現在完了の経験用法だと判断します。

現在完了の経験用法の練習問題

“Are you going to the bank?” “No, I’ve(  )to the bank.”

①yet gone ②been yet ③already been ④had gone

解答解説
yetは否定文で、「まだ~してない」という意味に用いるので、①yet gone②been yetは除外されます。またI’ve had goneという形は<have+過去分詞+過去分詞>となってしまい、おかしいですね。会話文の前半部分は「これから銀行に行くのですか?」という意味です。これがヒントになっています。have been toは「~へ行ったことがある」という《経験》の意味だけではなく、「ちょうど~へ行ってきたところだ」という《完了》の意味もあることを思い出すと分かりやすいでしょう。故に、③already beenが正解です。

全文:“Are you going to the bank?” “No, I’ve already been to the bank.”(これから銀行へ行くのですか?-いいえ、すでに銀行に行ってきたところです。)

現在完了の完了・結果用法

現在完了の完了・結果用法は「過去に~し終えて今に至る」という意味を表します。言い換えれば、過去の行為が今に影響を与えていることを意味します。例えばHe has gone to Kyoto.は「彼は京都に行ってしまった[だから今は不在だ]。」という意味になります。つまり動作がいつ完了したかということよりも、その結果が今どうなっているかに関心があると言えます。

完了・結果用法を見分けるポイントとなる副詞には以下のようなものがあります。

now(たった今)、just(ちょうど)、already(すでに)、yet(まだ)
(例1)I have cleaned my shoes.(私は靴を磨いた[だから今はきれいだ]。)

(例2)I have already eaten lunch.(私はすでに昼食を済ませた[だから満腹だ]。)

(例3)You haven’t posted the letter yet.(その手紙をまだ投函していないですよね[だからまだ手元に手紙がある]。)

(例4)I have just sent you an e-mail.(ちょうどあなたにEメールを送信したところだ[だから届いているだろう]。)

現在完了の完了・結果用法の練習問題

1.Sarah and I lived in Sydney, but we(  )to Tokyo.

①will already move ②are just moved ③move ④have just moved ⑤had just moved

解答解説1
九州産業大学の過去問です。《現在までの完了》を表す場合、副詞のjust(ちょうど)を伴ってhave+過去分詞の形になります。そのため、④have just movedが正解です。

全文:Sarah and I lived in Sydney, but we have just moved to Tokyo.(サラと私はシドニーに住んでいたが、ちょうど東京に引っ越してきたところだ。)

2.Mary is absent today. She(  )to Hokkaido.

①comes ②has been ③has gone ③has arrived

解答解説2
上智大学の過去問です。absentは「不在の」という形容詞です。問題の前半は「メアリーは今日は不在です」と言っているわけです。これが大ヒントです!先ほど紹介した、He has gone to Kyoto.(彼は京都に行ってしまった[だから今は不在だ]。)という例文を思い出すと分かりやすいと思います。よって、③has goneが正解です。

全文:Mary is absent today. She has gone to Hokkaido.(メアリーは北海道に行っていて今日は不在だ。)

現在完了を用いてはならない場合

現在完了は「過去から現在までのつながり」を表すので、現在と明確に切り離されていることを意味する過去を表す副詞(例:last night)や疑問詞のwhenとともに用いてはいけません。また接続詞のwhen節(~したとき)も特定の過去を表す副詞節なので現在完了形と一緒に使うことはできません。

例えばHe has got up just now.(×)は誤りです。just now(ついさっき)は過去時制で使われる副詞句だからです。正しくはHe got up just now.(彼は今しがた起きた。)です。

「現在完了形を用いてはならない場合」の問題演習

1.(  )に入るのに不適切なものを選びなさい。

I haven’t seen him(  ).

①for a long time ②last week ③since January ④today

解答解説1
早稲田大学の過去問です。①for a long time③since Januaryを入れた場合、典型的な《継続用法》になりますね。なのでこの2つの選択肢は適切です。問題は②last week④todayの「どちらが不適切か?」です。todayは過去を表していない一方last weekは明らかに過去を表す副詞句なので②last weekが正解です(不適切です)。todayは問題なく完了形と一緒に使うことができます。

全文①:I haven’t seen him for a long time.(長い間彼と会っていない。)[継続用法]

全文②:I haven’t seen him since January.(1月からずっと彼と会っていない。)[継続用法]

全文③:I haven’t seen him today.(今日は彼に会っていない。)[継続用法]
→「今日になってからずっと彼に会っていない」というニュアンスで《継続》を表します

2.When(  )you come to Japan?

①has ②have ③did ④were

解答解説2
東海大学の過去問です。疑問詞のwhenと現在完了形は一緒に使えないので①has②haveは除外されます。従って③didが正解です。

全文:When did you come to Japan?(いつ日本に来たのですか。)

3.”Have you ever seen this movie?”
“Yes. when I was in Tokyo, I(  )it three times.”

①had seen ②have seen ③saw ④would see

解答解説3
センター試験の過去問です。非常に良問ですね!さて、three timesとあることから一見すると現在完了の”経験用法”に見えます。しかし、過去を表す副詞節であるwhen(~したとき)と現在完了形は一緒に使うことができません。従って③sawが正解です。

全文:”Have you ever seen this movie?”(この映画を観たことがありますか。)[経験用法]
“Yes. when I was in Tokyo, I saw it three times.”(はい、東京にいたときに3回観ました。)

まとめ

  • 現在完了形には「継続用法」、「経験用法」、「完了・結果用法」の3つがある
  • 継続用法は「過去から今まで~し続けている」という意味を表す
  • 経験用法は「過去から今まで~したことがある」を表す
  • 完了・結果用法は「過去に~し終えて今に至る」という意味を表す
  • 現在完了形は過去を表す副詞(節)や疑問詞のwhenと一緒に使うことができない

 

参考書よりもわかりやすい英文法超入門講義TOPへ戻る

 

[広告]今Amazonで最も売れている英文法の参考書をチェックしよう!