1. 過去と現在完了の見分け方
過去形か現在完了形か
現在完了形には、「継続(ずっと~し続けている)」「経験(~したことがある)」「完了(~したところだ)」「結果(結果として~だ)」の4つがある、と教わります。でもなんだかよく分からない…と思ったことはありませんか?
多くの人が一番迷うのは、「過去形と現在完了形のどちらを使えばよいか」でしょう。
ESL向けの文法書は、上の4つとは少し違った観点から説明されているので、ここではそれを元に落とし込んで、3つに分けてみます。
それは「いつ」のこと?
考え方として、過去形は「過去のある時点」という「点」、現在完了形は「過去のある時点」から現在までの「線」。完了形は、時間の幅があります。
- Bob: I haven't seen you in a long time. Where have you been?
(しばらく見なかったな。どこへ行ってたんだ?)
- Mike: I went to California last week to visit my brother.
(先週、兄貴に会いにカリフォルニアへ行ったんだ)
Bob は現在完了を使って、Mike は過去形で答えています。
なぜ Mike が過去形なのかと言うと、理由は簡単。last week という過去の「特定の時点(時期)」を示す語句があるからです。
難しく考えなくても、過去の「いつか」を表す語句を付ければ、必然的に過去形になります。
一方、Bob は「(現在はMike を見ているけど)しばらくMike を見なかった」、「(現在、Mike はここにいるけど)どこにいたのか」のように、現在と対比させて過去のことを言っています。
現在完了形は、過去の「いつ」なのか、時期が特定されていない場合に限られます。もし、単純に過去のある時点のことだけを言うなら、過去形です。
- I didn't see Mike last week.
(先週、マイクを見なかった)
- I haven't seen Mike last week.
(先週、マイクを見ていなかった)
2. 現在完了形を使う時
「行為」が完了している
1つは、いつかの過去にした動作や行為が、現在は「完了している」ことを言う用法です。しばしば already(すでに)が付きますね。
現時点で、その動作が進行していなければOK。「進行していない(-ing になっていない)」ことがポイントなので、かりにその行動が「習慣的に継続している」としても、問題なく使えます。
- He has already eaten lunch.
(彼はすでに昼食を食べた)
現在は「食べ終えて」いる
- My friends have moved into a new apartment.
(友達が新しいアパートに引っ越した)
現在「引っ越し終わって」いる)
- Have you ever eaten at that restaurant?
(そのレストランで食事したことある?)
現在「食べている」状況ではない)
3番目の例文では、過去の「いつ」なのか特定せずに、過去の「いつか」に、というニュアンスです。こういった場合、よく ever(今までに)を伴います。
また、過去の「いつ」か明示されていない限り、ほんの一瞬前の過去のことでも構いません。
- I've just finished my homework.
(ちょうど宿題を終えたところだ)
現在は「宿題を終えて」いる)
上記は、just(ちょうど)が付いて、完了したばかりだと示しています。ほんの数秒前だったとしても、完了していることに変わりはないので、現在完了形です。
ポイント
just ではなく、just now(ちょうど今)だと、「今」と特定してしまっているので、現在完了は使えない
- I finished my homework just now.
(ちょうど今宿題を終えた)
- I've finished my homework just now.
(ちょうど今宿題を終えたところだ)
- 現在完了形:
- 現在は、動作や行動が完了している場合に使う。already、ever、just などを伴うことが多い
「行為」を繰り返している
2つめは、上でも少し触れましたが、現在のところ動作は「完了して」いるけれど、その行動を現在まで何度か繰り返している、「(習慣的に)継続している」ことを言う用法です。
- He has eaten at the restaurant five or six times.
(彼はあのレストランで5~6回食事した)
現在「食事は終えて」いるが、「何度か」食事した
- I've had three tests so far.
(今までのところ、テストが3つあった)
現在「テストは終えて」いるが、「何度か」テストがあった
「いつ」とは特定されず、現在までに何度か繰り返されたことを言っています。よく so far(今までのところ)や、several times(数回)、many times(何度も)など、回数を表す語句が付きます。
- 現在完了形:
- 現在は動作は完了しているが、現在まで何回かその行動を継続している場合に使う。回数を表す語句を伴うことが多い
「状況」が続いている
3つめは、「いつか」の過去から現在まで、ある状況・状態が「継続している」場合。動作や行動ではありません。
- I have known him for ten years.
(彼と知り合って10年経つ)
現在まで継続して「知っている」
- He has lived in this city since 2000.
(彼は2000年からこの市に住んでいる)
現在まで継続して「住んでいる」
この用法では、期間を表す for(~間)や since(~以来)が付きます。since ではなく、時期を特定する in が付けば、過去形です。
- He lived in this city in 2000.
(彼は2000年にこの市に住んだ)
- He has lived in this city in 2000.
(彼は2000年にこの市に住んでいる)
- 現在完了形:
- 状況や状態が現在まで継続している場合に使う。for や since を伴う
3. 現在進行形と現在完了進行形
「行為」が続いている場合
現在完了形は、現在は「行為」が完了していることが大前提です。ただ「状況や状態」の場合は、進行していても、現在完了形を使えます。というのも、「状況や状態」を表す動詞は進行形にならないためです。
では、現在も「行為」が進行中の時は、現在完了が使えないのでしょうか?
結論として、その場合は、現在完了形ではなく、現在進行形か現在完了進行形を使うことになります。
現在進行形
- Adam is sleeping right now.
(アダムは今現在眠っている)
現在「眠っている」
- Rita is talking to Josh on the phone.
(リタはジョシュと電話で話している)
現在「話している」
現在完了進行形
普通の進行形が「現在は継続している」のに対し、現在完了進行形は、「過去のある時点から現在まで、ずっと継続している」という時間の幅があるニュアンスです。
- Adam has been sleeping for two hours.
(アダムは2時間ずっと眠っている)
現在まで継続して「眠っている」
- Rita has been talking to Josh on the phone for twenty minutes.
(リタはジョシュと20分ずっと電話で話している)
現在まで継続して「話している」
「状況」は進行形にできない?
「状態を表す動詞は進行形にできない」というのが原則ですが、一時的な状態を表す場合には進行形にできたりします。たとえば live など、現在完了形と現在完了進行形のどちらも可能です。
- He has lived in this city since 2000. 現在完了形
(彼は2000年からこの市に住んでいる)
- He has been living in this city since 2000. 現在完了進行形
(彼は2000年から(一時的に)この市に住んでいる)
現在は「住んでいる」が、今後変わる可能性がある
<引用・参照元> Fundamentals of English Grammar
英字新聞の再チャレンジガイド
挫折からの復活法。必要な2つのコトと3つのコツ
紹介された人もポイントが付く
一番ポイントがたまりやすく、1P=1円で還元率もいい