英語の学び場
英文法《はじめに(初学者向けの解説)

【現在完了形】

☆現在完了形は、過去と現在をつなぐ「線」のイメージだ!

英語には、「時制」すなわち「時間的関係を示す表現」が12種類もあるため、日本人の英語学習者にとって、とりわけ理解しづらい文法事項だと思います。その中でも、「完了時制(完了形)」の使い方がいまひとつつかめないと感じている学習者は多いと思います。そもそも「完了時制(完了形)」は、どのような時間的な関係を示すのに使われるのか、「現在完了形」と「過去完了形」「未来完了形」はどう違うのかなど、なかなか理解しづらいところです。
ここでは、完了時制(完了形)の基本である「現在完了時制(現在完了形)」について解説します。

現在完了形の話に入る前に、そもそも「完了形」とは、どのような時間的関係を示すのに使われる表現なのかについて触れておきます。
英語の基本時制である「現在時制」「過去時制」「未来時制」は、時間軸上で考えると、「現在のある時点」「過去のある時点」「未来のある時点」を表現します。つまり、時間軸上の「点」のイメージです。これに対して、「完了時制」は、「ある時点とある時点のつながり」を表現します。つまり、時間軸上の「線」のイメージです。そして、どの時点とどの時点をつなげるかで、「現在完了」「過去完了」「未来完了」を使い分けるのです。
具体的にいうと、「過去の点と現在の点をつなげる表現」が「現在完了」で、「現在の点と未来の点をつなげる表現」が「未来完了」、そして、「(より古い)過去の点と(より新しい)過去の点をつなげる表現」が「過去完了」**ということになります。
**()時制に関して、大学入試では「過去完了」がよく出題されます。

それでは、現在完了に話を戻します。
まずは、形から。現在完了時制を表現する語形は、“have/has+動詞の過去分詞形”です。ここで、havehasは主語(S)に応じて使い分けなければなりません。すなわち、be動詞であれば”is”,一般動詞であれば「三単現のs」を伴う語句が現在完了の文の主語(S)になる場合は、“has”を使うことになります:
He has+動詞の過去分詞形
She has+動詞の過去分詞形
It has+動詞の過去分詞形
I have+動詞の過去分詞形
You have+動詞の過去分詞形
We have+動詞の過去分詞形
They have+動詞の過去分詞形

さらに、現在完了形で使われるhave, hasは、「助動詞」であって、「~を持っている」という動詞の意味ありません。よって、否定文にする場合には、willcanなどの助動詞と同じように、”not”を助動詞の「後ろ」につけて、“have not[haven’t]/has not[hasn’t]+動詞の過去分詞形とします。また、疑問文では、willcanなどの助動詞と同じように、have, hasを主語(S)の前に出して、”Have/Has (S)+ 動詞の過去分詞形…?“とします。

次に意味。
現在完了を示す「意味」には、以下のようにいくつかありますが、完了形は、「ある時点とある時点のつながり()」を表現するイメージですので、意味を以下のように分類したとしても、「つながり()」を表現しているという点ではすべて同じニュアンスです。
①継続:過去のある状態が現在まで続いていること。
()
We have known each other for ten years. 私たちは知り合って10年になります。
How long have you lived in Japan. どのくらい(長く)日本で暮らしていますか。

②完了:過去に着手した動作が現在の直前に完了したこと。
(例)
I’ve just finished writing my report. ちょうとレポートを書き終えたところです。

③経験:過去に経験したことの影響が現在まで残っていること(続いていること)
(例)
She has climbed Mt. Fuji twice. 彼女は2度富士山に登ったことがあります。

④結果:過去にしたことの影響や結果が現在まで残っていること(続いていること)
※「経験」と「結果」をもとめて考えることもあります。
(例)
I’ve lost my dictionary. 辞書を失くしてしまった(今も見つかっていない)

以上みてきたように、現在完了は、過去と現在をつなぐ表現であるため、明らかに過去の一時点を表す語句と一緒に使うことはできません
例えば、「昨日、駅で彼女を見ました」という場合、「昨日」(yesterday)といった時点で、現在とは切り離されますので、‘I’ve seen her at the station yesterday.’とするのは誤りです。過去形を使って、“I saw her at the station yesterday.”とするのが正しい文法です。