そもそも完了形とはどんな表現?

日本語にはない表現になりますが、英語ではタイムライン(時間軸)を意識した表現が存在します。
ただし、日本語にはない表現というだけで、日本語にない考え方ではありません。
よく参考書には「日本語には無い」なんて書かれていますが、そんな事はありません。

日本語では過去形でしか表現しない事を、英語では過去の事なのか(過去形)、それが今現在も続いている事なのか(現在完了形)で表現方法が明確に分かれています
例えば日本語で「風邪をひいた」とだけ聞くと「過去形?」と思うかもしれません。しかしこれが今現在も「風邪をひいている」ことを表現する場合、英語では完了形を使います。(現在完了形)

Aさん「昨日勉強した?」
Bさん「勉強した」
⇒この場合、Bさんの「勉強した」は昨日の出来事を言っているので過去形です。

Aさん「なんか元気ないよね?」
Bさん「風邪を引いた」
⇒Aさんは今の事を聞いているのに、Bさんは現在の説明をするために過去の事を言いました。これを英語で表現する場合、現在完了形になります。

日本語だと「文法的には過去形という点を意識した表現をし、意味は前後の文脈から判断される」部分が、英語の場合はどこかの時点からどこまでの時点に起きたことのように、時間軸を意識した明確な表現が可能なのです。
完了形は頻繁に使われる一般的な文法ですので、時間軸を意識した考え方にはちょっとずつでも慣れましょう。
この感覚がつかめると、完了形を使った英語は非常に理解するのが簡単になります。

完了・結果を表す現在完了形

現在完了形は<have(has)+過去分詞>という形を使います。

I have finished my homework.
私は宿題をやり終えています。
⇒過去に完了したことを述べることで、現在の状況を伝えています。

She has gone to Tokyo.
彼女は東京に行ってしまった。
⇒過去に完了した出来事の結果として、現在の状況を伝えています。
 この場合、彼女はすでに東京に行ったので、「今は東京にいる」という事を伝えています。

完了した事を示す副詞

already(すでに)、just(ちょうど)など、完了の意味と共によく用いられる副詞があります。
これらを使うと、これは完了の意味だとはっきりわかります。

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

The train has already left.
その電車はすでに出発しています。

重要:現在完了と共に用いられない副詞(句)

現在完了形は過去の出来事を説明することで現在の状況を表す表現なので、過去の特定時点での出来事を表現する事は出来ません。
ago, yesterday, last week/month/year, when… 等を用いると特定の時点を指すことになりますので、これらは現在完了形の文には使えません。

The train left 10 minutes ago. (過去形)
その電車は10分前に出発した。
⇒完了形でThe train has left 10 minutes ago.と言う事は出来ません。

I watched the movie when I stayed in London.(過去形)
ロンドンに滞在した時にその映画を見ました。
⇒この場合も現在と関係の無い過去特定時点を説明しているので現在完了形(I have watched)とは言えません。

経験を表す現在完了形

現在に至るまでの経験を表現する際に現在完了形は使われます。

Have you ever been to Tokyo?
東京に行ったことがありますか?
( everには「これまでに」という意味がありますので、経験を尋ねています。 )
Yes, I have been there once.
はい、一度行ったことがあります。

I have read the book twice.
私はその本を2回読んだことがある。

I have never been to Italy.
私はイタリアに行ったことがない。
⇒一度も経験がないと否定の形で述べる際は、通常never(一度も〇〇ない)を用います。

注意

I have just been to the post office.
ちょうど郵便局に行ってきたところだ。
⇒これは完了の意味を表現しています。<have/have been to>の形式だからといって機械的に経験を表すと決めつけないようにしましょう。
「〇〇に行ってきたところだ」という完了の意味になります。

継続を表す現在完了形

過去のある時点から現在まで続いている状態を表します。
過去のある時点を具体的に表すために、sinceを使い継続の始点を示したり、forを使って継続の期間を示すことが出来ます。

I have been busy since last week.
私は先週から忙しいです。

We have lived in this house for 10 years.
私たちはこの家に10年住んでいる。

ポイント

since
「〇〇以来」、「〇〇から」のように継続の始点を具体的に示すときに使って継続を示す。
for
「〇〇間」のように継続の期間を示す時に使う。

現在完了進行形

「〇〇し続けている」という動作の継続を表すには、
完了形と進行形を組み合わせ<have(has) been +(動詞のing形)>の形にします。
この形を現在完了進行形と呼びます。

It has been raining for 5 days.
5日間雨が降り続いている。

現在完了(継続)との違いは?

継続を表す現在完了形との違いは日本語に訳してしまうとほとんどありません。
違いはニュアンスとして覚えて欲しいです。
現在完了進行形はより現在を意識しています。

How long have you been living here?
と聞かれたとして、
I have lived here for 10 years.
と回答しても
I have been living here for 10 years.
と回答しても違いはありません。

ただし後者の現在完了進行形の方がより今現在も住んでいる事を強調しています。
個人的には会話の中で継続を意味する完了形を使いたい場合は、現在完了進行形を使う事の方が多いです。
あくまでニュアンスの違いなので、繰り返し英語を使う事で感覚を覚えるしかないかなと思います。

以上でこのページの説明は終わりになります。
少しでも読んでいただいた方の役に立てていれば嬉しいです。

スポンサーリンク
おすすめの記事