パターン 13:I have (過去分詞) と 現在完了形 [中級]

今回は I have (過去分詞) というパターンをお教えします。このパターンは日常生活でよく使われますが、いろいろな意味と使い方を持っています。

完了形は「~したことがある」という経験を表すためによく使われますが、「ちょうどしたところだ」という意味で使われる場合も多いんです。文の後ろに来る時間表現によって文の意味が変わる場合もあります。簡単に言うと、have (過去分詞) には三つの用法があります。

  1. 完了用法
    〜したところだ
  2. 経験用法
    〜したことがある
  3. 継続用法
    (ずっと)〜している

どの用法か迷った時は現在完了形と共に使われている副詞で判断できる場合も多いんです。では、この三つの使い方をもっと詳しく説明してみます。

1.) 完了したことを表す場合 (完了用法)

I have (過去分詞) で完了したことを表す時は「~したところだ」という意味を指します。このパターンは、何が終わった状態が「今も続いている」というニュアンスを持っています。

  • I have finished my homework.
    私は宿題を終えたところです。

上記の文は、単に宿題を終えたわけではなく、宿題が終わった状態が「今も続いている」というニュアンスを持っていますね。過去にしていた動作や状態が今ちょうど終わったことを表現する時も I have (過去分詞) というパターンを使います。

  • I have eaten breakfast.
    朝ごはんを食べたところだ

朝ごはんを食べるという動作を、今ちょうど終えた(完了)ということです。I have (過去分詞) はこのように使わる場合は多いです。ですから、一つ目の使い方は「~し終わった」「ちょうどしたところだ」という意味を指します。このパターンは just (さっきちょうど) と already (もう) と一緒に使われることが多いだし、have の後に来ます。

  • I have just (過去分詞).
    ちょうど~したところだ。
  • I have already (過去分詞).
    もう~し終わった。

まずは have just (過去分詞) の使い方をお見せします。just を使うと「ちょうどしたところだ」という意味になりますね。

  • I have just cleaned my room.
    私はちょうど自分の部屋を掃除したところです

I have cleaned が表す内容は「(過去から現在まで) clean 」 がつながっているイメージです。just は「ちょうど」という意味ですから、現在にちょうどclean‘ が完了したことが分かります。

  • I have already finished my assignment.
    私はもう宿題を終えました。

already は「もうすでに」という意味ですから、宿題を finish したのは過去のことであることが分かりますね。ただし、単純に「宿題をやった」ことが言いたいわけでなく、現在完了形を使うことで「宿題をやり終えた状態が現在までつながっている」ことを表しています。では、いくつかの例文をお見せします。

  • I have already eaten.
    もう食べた。
  • I have just arrived.
    ちょうど着いたところです。
  • I have already signed the contract.
    もう契約にサインをしたところです。
  • I have just started working.
    私は働き始めたばかりです。

否定形は I haven’t (過去分詞) となります。疑問形は三つのパターンでよく使われます。

  • I still haven’t (過去分詞).
    まだ~しなかった
  • I haven’t (過去分詞) yet.
    まだ~しなかった
  • I still haven’t (過去分詞) yet.
    まだ~しなかった

stillyet は「まだ」を意味しますから、上記の三つのパターンは同じ意味です。では、いくつかの例文をお見せします。

  • I still haven’t done my spring break homework.
    春休みの課題をまだやっていない
  • I haven’t decided yet.
    まだ決めきれてない。
  • The police still haven’t found the suspect yet.
    警察は、まだ容疑者を見つけていません。
  • We still haven’t heard from them.
    まだ、彼らから連絡がありません。
  • She still hasn’t told her parents that she’s engaged.
    彼女は婚約したことをまだ両親に話していません
2.) 過去の経験を表す場合 (経験用法)

自分の経験について話す時に I have (過去分詞) を使うことができます。その時に「~したことがある」という意味になりますが、もう終わった経験を表したいなら、文の後ろに before (以前) や ~ time(s) (~回) のような時間表現を付けるべきです。なぜなら I have (過去分詞) では I have been (動名詞) の代わりに「過去から今まで続けている動作」を表すこともできるからです。次の例文にように、I have (過去分詞) を使うと、過去から今までに「~した経験がある」という意味となります

  • I have been to Hokkaido two times.
    北海道に 2 回行ったことがあります。
  • I have seen the movie three times.
    私はその映画を3回見たことがあります。
  • We have eaten sushi before.
    僕たちは寿司を食べたことがある。
  • I have never heard that song before.
    その歌を聞いたことがない。
  • She hasn’t studied abroad before.
    彼女は留学したことがありません。
  • I have worked as a teacher before.
    私は以前教師として働いたことがあります。

疑問形は Have you (過去分詞)? となり、疑問文では ever (これまで) がよく使われます。疑問文に答える時は I have とか I haven’tI have never … で答えることができます。

Example 1
Have you been to Korea before?
韓国に行ったことがありますか?
No, I haven’t been.
いいえ、行ったことがないです。

Example 2
Have you ever studied a foreign language before?
外国語を勉強してことがありますか?
Yes. I have studied Japanese before, but I can’t speak it well.
はい。日本語を勉強したことがありますが、あまりできません。

Example 3
Have you seen that movie before?
その映画を見たことがある?
No, I’ve never seen it.
いいえ、見たことがないです。

3.) 現在まで続けている経験を表す場合 (継続用法)

もう終わった経験を表す場合は I have (過去分詞) before がよく使われますけど、I have (過去分詞) には「過去から現在まで続けている経験」を表す場合もあります。文の後ろには for + (時間)や since (時間)が来れば、現在まで続けている経験を表します。

  • I have (過去分詞) for (時間).
    ~間 ~している
  • I have (過去分詞) since (時間).
    ~の時から~している

これらのパターンは lived (住んだ), studied (勉強した), worked (働いた), known (知った) みたいな動詞の過去分詞と一緒に使われますが、この意味で使うために for / since を付けるべきですね。文の後ろに時間表現がないなら「~したところだ」という意味になるからです。いくつかの例文をお見せします。

Example 1
We have lived in Okayama for 4 years.
私は3年間岡山に住んでいます
We have lived in Okayama since 2019.
2019年から岡山に住んでいる。

Example 2
I have studied English for 10 years.
私は10年間英語を勉強しています。
I have studied English since I was a high school student.
中学生の時から英語を勉強しています。

Example 3
She has worked here for 12 years.
彼女は12年間ここで働いています。
I have worked here since she was 22 years old.
彼女は22歳の時からここで働いています。

Example 4
We have known each other for 20 years.
彼とは20年来の知り合いだ。
We have known each other since childhood.
私たちは子供の頃から知り合いです。