文法 / 時制

現在完了形(継続・経験・完了・結果)

要点整理

現在完了形は「have/has+過去分詞」の形で表され、過去に起こったことを、現在の状態と結びつけて述べるときに使う時制です。単なる過去形(I lost my key.)が「過去の出来事」だけを述べるのに対して、現在完了形(I have lost my key.)は「過去に鍵をなくして、その結果、今も鍵がない」というように、過去と現在のつながりを表します。

現在完了形には、大きく分けて継続・経験・完了・結果という4つの用法があります。同じ「have+過去分詞」という形でも、一緒に使われる語句や文脈によって、どの用法なのかを見分ける必要があります。

① 継続用法:過去から現在までずっと続いている

過去のある時点から現在まで、状態や動作がずっと続いていることを表します。for(〜の間)since(〜以来) という語句と一緒に使われるのが最大の目印です。

I have lived in this city for ten years.(私は10年間、この街に住んでいる。)

for ten years(10年間)という「期間」を表す語句があるので、継続用法だと判断できます。「10年前に住み始めて、今も住み続けている」ことを表しています。

She has known him since she was a child.(彼女は子供のころから彼を知っている。)

since she was a child(子供のころから)という「起点」を表す語句があるので、継続用法です。

② 経験用法:今までに〜したことがある

現在までの人生・期間の中で、あることを経験したことがあるかどうかを表します。ever(今までに)never(一度も〜ない)once/twice(1回/2回)〜times(〜回) などの語句と一緒に使われることが多いです。

Have you ever visited Kyoto?(あなたは今までに京都を訪れたことがありますか。)

I have visited Kyoto twice.(私は京都を2回訪れたことがある。)

evertwice という語句が、「経験の有無・回数」を尋ねたり答えたりしていることを示しています。

③ 完了用法:ちょうど〜したところだ

動作がちょうど今終わったばかりであることを表します。just(ちょうど)already(すでに)yet(もう/まだ、疑問文・否定文で使用) などの語句と一緒に使われることが多いです。

I have just finished my homework.(私はちょうど宿題を終えたところだ。)

Has she arrived yet?(彼女はもう到着しましたか。)

justyet という語句が、「動作の完了のタイミング」に焦点を当てていることを示しています。

④ 結果用法:〜した(その結果、今は…である)

過去に起こった動作の結果が、現在の状態として残っていることを表します。継続用法・経験用法・完了用法のようなはっきりした目印になる語句がないことが多く、文脈から「過去の動作の影響が、今も続いている」ことを読み取る必要があります。

I have lost my key.(私は鍵をなくしてしまった〔その結果、今、鍵がない〕。)

She has gone to Canada.(彼女はカナダに行ってしまった〔その結果、今ここにいない〕。)

これらの文を、単なる過去形の I lost my key.(私は鍵をなくした)と比べると、過去形は「なくした」という過去の事実だけを述べているのに対し、現在完了形は「なくして、その結果、今も見つかっていない」という現在の状態までを含んでいる点が異なります。

4用法の見分け方をまとめる

用法 よく使われる語句 ポイント
継続 for, since 期間・起点を表す語句がある
経験 ever, never, times 経験の有無・回数を尋ねる/答える
完了 just, already, yet 動作の完了のタイミングに焦点
結果 (目印になる語句が少ない) 過去の動作の影響が今も残っている

現在完了形と一緒に使えない語句に注意

現在完了形は「現在」の時制の一種なので、yesterday(昨日)last week(先週)〜 ago(〜前に) のような、「過去のはっきりした一時点」を表す語句と一緒に使うことはできません。

誤:I have visited Kyoto yesterday. 正:I visited Kyoto yesterday.(私は昨日、京都を訪れた。)

yesterday は「過去のいつのことか」をピンポイントで指定する語句なので、現在とのつながりを表す現在完了形ではなく、単純な過去形を使う必要があります。

例題

例題1(基本)

問題

次の文が、継続・経験・完了・結果のどの用法か答えなさい。

  1. I have played the piano since I was five.
  2. He has already left the office.
解答・解説を見る

1. 継続用法

since I was five(5歳のときから)という「起点」を表す語句があるので、「5歳のときからずっとピアノを弾き続けている」という継続用法です。

2. 完了用法

already(すでに)という語句があるので、「彼はすでに事務所を出た(ちょうど出たところだ)」という完了用法です。

答え:1. 継続用法 2. 完了用法

例題2(標準)

問題

次の文が、継続・経験・完了・結果のどの用法か答えなさい。また、その根拠を説明しなさい。

  1. Have you ever eaten natto?
  2. My grandfather has passed away.
解答・解説を見る

1. 経験用法

ever(今までに)という語句は、「今までにそういう経験があるかどうか」を尋ねるときに使われる典型的な目印です。したがって「あなたは今までに納豆を食べたことがありますか」という経験を尋ねる文だとわかります。

2. 結果用法

この文には継続・経験・完了を示す明確な語句(for/since、ever/times、just/already/yet)がありません。pass away(亡くなる)という動作が過去に起こり、その結果として「(今)祖父はこの世にいない」という現在の状態が続いていることを表しているので、結果用法と判断します。

答え:1. 経験用法(ever が根拠) 2. 結果用法(明確な目印語句がなく、過去の動作の結果が現在の状態として残っている)

例題3(応用)

問題

次の日本語を、現在完了形を使って英語に直しなさい。また、その文がどの用法にあたるか答えなさい。

私は3回、この本を読んだことがある。

解答・解説を見る

「〜したことがある」という経験を、回数(3回)とともに表す文なので、経験用法の現在完了形を使います。

主語は I、動詞は read(読む)の過去分詞形(read は原形・過去形・過去分詞形がすべて同じつづりですが、発音は原形が/riːd/、過去形・過去分詞形は/red/になります)、回数を表す語句は three times(3回)です。

これらを組み立てると、次の文ができます。

I have read this book three times.

three times という回数を表す語句が、経験用法の典型的な目印になっています。

答え:I have read this book three times.(経験用法)

確認問題

問題

次の文が、継続・経験・完了・結果のどの用法か答えなさい。

She has just finished cooking dinner.

答え

完了用法(just が「ちょうど〜したところだ」という完了のタイミングを示す目印になっている)