現在完了とは、「have+過去分詞」で「完了」「経験」「継続」の意味を表す表現です。具体的には、下記のような使い方をします。
◆現在完了
語順:主語+have[has]+過去分詞〜
意味:「①完了」「②経験」「③継続」
①完了:~し終えている
例 I have already finished the work.
私はすでにその仕事をやり終えています。
②経験:~したことがある
例 I have visited Kyoto.
私は京都に行ったことがあります。
③継続:ずっと~している
例 I have lived in Tokyo for ten years.
私は東京に10年住んでいます。
◆「完了」「経験」「継続」の違い
現在完了の「have 過去分詞」は、「~した状態(過去分詞)を現在持っている(have)」という意味です。
言い換えると、「過去の出来事を現在の視点から振り返っている」ということであり、ここから「完了」「経験」「継続」という意味が出てきます。
では、どのようにして「完了」「経験」「継続」の意味ができたのでしょうか。
それは、過去の出来事を現在の視点で振り返って、さっきの出来事(経過時間が短い)なら「完了(~し終えた)」、結構前の出来事(経過時間が長い)なら「経験(~したことがある)」、その動作を現在まで続いているなら「継続(~し続けている)」という具合です。
「完了」と「経験」は日本語だと全く別の意味に聞こえるかもしれませんが、実は「完了」の延長線上に「経験」があります。
例えば富士山の山頂から麓(ふもと)に帰ってきた直後には「富士山に登り終えた(完了)」と感じますが、それから時間が経つと「富士山に登ったことがある(経験)」と感じます。つまり、同じ出来事でも時間の経過によって感じ方が違うだけなのです。
「完了」は、現在の視点から最近までの記憶を振り返って「さっきこんな出来事があったよ」と伝えたいときに使われます。
例えば、道端で有名人にあって、その直後に友達に「さっき有名人にあったよ!」と言うときは、「さっきこんな出来事があったよ」と伝えたい気持ちなので現在完了(完了)を使います。ほかにも、遊びに行く前に母親に「宿題は終わらせたよ!」と言う場合も「さっき宿題を終えたという出来事があったよ」と伝えたい気持ちなので現在完了(完了)を使います。
完了の否定文は、最近の記憶までさかのぼって、その出来事が起きていない場合に使います。
このように「完了」は「さっきこんな出来事があった」と伝えたい気持ちのときに使うため、「already(すでに)、just(たった今)」というさっきの出来事だと表す言葉が一緒に使われやすいです。
完了:さっきのことだと示す言葉…already(すでに)、just(たった今)
一方、過去形は現在の状況とは関係なく、単に「過去のある時点でこういう出来事があった」という事実を言うときに使われます。
【現在完了】
I have just met a celebrity.
たった今、有名人に会ったよ。(完了)
(↑さっき会ったと伝えたい気持ち)
【過去形】
I met a celebrity in the day.
私はその日、有名人を見た。
(↑「その日、有名人にあった」という事実)
◆「経験」とは
「経験」は、現在の視点から結構前までの記憶を振り返って「結構前にこんな出来事があったよ!」と伝えたいときに使われます。
例えば、山の話を友達としていて「私、富士山に登ったことがあるよ」と言うときは「結構前に富士山に登ったことを伝えたい」という気持ちなので現在完了(経験)を使います。
経験の否定文は、結構前の記憶までさかのぼって、その出来事が起きていないときに使います。
このように、「経験」は「結構前にこんな出来事があった」と伝えたい気持ちのときに使うので、「ever(今まで)、once(今までに一度)」など起こってから時間が経過していることを表す言葉と一緒に使われやすいです。
経験:時間が経過していることを示す言葉
…ever(今まで)、never(一度も~しない)、
once(一度)、twice(二度)、
many times(何回も)、before(以前に)
一方、過去形は(繰り返しになりますが)現在の状況とは関係なく、単に「過去のある時点でこういう出来事があった」という事実を言うときに使われます。
【現在完了】
I have ever climbed Mt. Fuji.
今まで富士山に登ったことがある。(経験)
(↑結構前に登ったことがあると伝えたい気持ち)
【過去形】
I climbed Mt. Fuji in 2010.
2010年に富士山に登った。
(↑「2010年に登った」という事実)
◆「継続」とは
「継続」は、現在の視点から記憶を振り返って「過去から現在まで続いている」と伝えたいときに使われます。
例えば、「10年前間サッカーを続けている」と言う場合は「過去から現在まで10年間続いていると伝えたい」という気持ちなので現在完了(継続)を使います。
また、「彼女のことを以前から知っている」という場合は「今だけでなく昔から彼女のことを知っていると伝えたい」という気持ちなので現在完了(継続)を使います。
そのため、「継続」では①継続期間を表す表現(○日間など)や、②動作ではなく継続している状態を表す動詞(know「知っている」など)が使われるという特徴があります。
①継続期間を表す表現
継続期間を表す表現には、大きく「○日間、○年間」という期間を表すforと、「~から現在まで」という継続の起点を表すsinceがあります。
【継続期間を表すfor】
前置詞のforは、「for two days(2日間)」や「for ten years(10年間)」というように、forの後に時間を置くことで、継続期間を表すことができます。
例 I have lived in Tokyo for ten years.
私は東京に10年住んでいます。
【参考】なぜforが期間を表すのかは↓
前置詞for が期間を表す理由 (現在完了②)
【過去から現在までの継続起点を表すsince】
sinceの基本的な意味は「過去から現在までの起点」です。つまり、過去のある時から現在まで継続している出来事の最初の出発点=起点を示すのがsinceの役割です。
sinceは「since S Ⅴ」と使うと「SがⅤしてから現在まで」という意味になり、前置詞として「since 〇〇(1993など)」と使うと「〇〇(1993年)から現在まで」という意味になります。
例 I have felt happy since he came here.
彼がここに来てから(現在まで)幸せだ。
ちなみに、sinceはあくまでも過去から現在までの起点なので、「明日から~」や「今から~」という時はfrom tomorrow、from nowとなりsinceは使えません。
②状態動詞
多くの動詞は「遊ぶ、見る、読む」なとすぐにその動作を止めることができるものです。これは動作動詞と呼ばれます。
一方、動詞のなかには一瞬では変化しない、一定期間はその状態でありつづける「状態動詞」と呼ばれるものがあります。例えば、know「知っている」はすぐに知ることをやめて知らなくなるなんてことはないため、状態動詞の一つです。
状態動詞の例
know知っている、live住んでいる、believe信じている、resemble似ている、like好き、love愛している、feel感じる、などなど。
例 I have believed her.
彼女を信じている。
一方、現在形で使う状態動詞は「今現在はその状態」というニュアンスです。
【現在完了】
I have known him.
私は彼を知っている。(継続)
(↑前から今まで知ってると伝えたい気持ち)
【現在形】
I know him.
私は彼を知っている。
(↑今現在、知っていると伝えたい気持ち)
⇒次はbeen toが「~に行ったことがある」、gone toが「~行ってしまった」になる理由
have been toとhave gone toの意味が違う理由 (現在完了③)