現在完了形と現在完了進行形の違い – Present Perfect Simple & Present Perfect Continuous

スポンサーリンク

こんにちは、すん(@shunpostcom)です。

今回は完了形の中で現在完了形と現在完了進行形についてです。

「現在完了」という言葉から現在なのか、完了したんだから過去じゃないかとかイメージがしづらいですね。。実際、現在完了形には現在も過去も含んでいるんです。

それがどういうことか例文でイメージしてみましょう。

例えば、「私は1年間語学学校に通う。」と言いたい時、

  • I goto language school for a year. (私は1年間語学学校に通う。)

と現在形を使って言えます。

そして「半年前に通った」ということを話したい時は

  • I wentto language school for six months. (私は半年間語学学校に通った。)

と過去形を使って、半年前に学校に通ったことを表せます。

しかし、過去形だと今はもう語学学校に行っていないのかな?とかいつ通っていたんだろう?とか思ってしまいます。現在まで半年間通っていたニュアンスを伝えたいとき、そんな時に使えるのが現在完了形です。これは「現在+過去」を表します。過去に半年間通ったという現在の状態を表すことができます。

  • I have gone to language school for six months. (私は語学学校に半年間通った。)

でも、この人は1年間語学学校に通うのでまだ学校がありますよね、継続中なら進行形を使った方が自然です。もっとはっきりと、まだ途中でありこの先も続くように言いたければ現在完了進行形が向いています。

  • I have been going to language school for six months. (私は語学学校に半年間通っている。)

それではもっと現在完了形、現在完了進行形の使い方について見てみましょう~

現在完了形 – Present Perfect Simple

現在完了形はその名の通り、現在において完了している状態を表します。なので時制は現在、haveまたはhasを使います。そしてそのあとに過去分詞を使います。

肯定文
 S + have + 過去分詞
 ・I have had breakfast. (私は朝食を食べた。)
 ・Her kid has had breakfast. (彼女の子供は朝食を食べた。)
否定文
 S + have not [haven't] + 過去分詞 ~ ?
 ・I haven't had breakfast yet. (私はまだ朝食を食べていない。)
 ・Her kid hasn't had breakfast yet. (彼女の子供はまだ朝食を食べていない。)
疑問文
 Have + S + 過去分詞
 ・Have you had breakfast? (あなたは朝食を食べた?)
 ・Has her kid had breakfast? (彼女の子供は朝食を食べた?)
否定疑問文
 Have not[Haven't] + S + 過去分詞 ~ ? 
 ・Haven't you had breakfast? (あなたは朝食を食べていないの?)
 ・Hasn't her kid had breakfast? (彼女の子供は朝食を食べていないの?)

イメージは「過去から現在まで続いている」こと

現在完了形の用法は完了、経験、継続、結果の4通りの表現ができます。しかしこれらは全て過去から現在まで続いているイメージで共通しているので、これは経験!これは完了!だとかはっきり決まるとは限りません。

普通の過去形だと「~をした」というだけで今も続けているのか分からないため「点」で表すイメージですが、現在完了形は過去から現在へ続いている「矢印」のイメージです。

最初に挙げた過去形と現在完了形の例文の日本語訳を見ると、どちらも「私は語学学校に半年通った。」と同じ訳に出来てしまうので、現在完了形は日本語訳で考えてしまうとややこしいのです。。「過去→現在」のイメージで覚えておくと楽でしょう。

  • I went to language school for six months.
  • I have gone to language school for six months.

そして、それぞれの用法をはっきりさせて伝える方法があります。4つの用法を詳しく見てみましょう。

完了 – Recent past actions

それではまず「完了」から見てみましょう。

完了用法は「~したところ」、「~し終わったところ」と訳すことができます。

完了をもっと分かりやすく伝えるためには、just(ちょうど), already(すでに), yet(まだ)を入れるとよいです。

  • I havejuststartedreading Harry Potter. (私はちょうどハリーポッターを読み始めたところだ。)
  • I havealreadyfinishedreading Harry Potter. (私はすでにハリーポッターを読み終えてしまった。)
  • Haveyou readHarry Potter yet? (もうハリーポッターを読んだ?)
  • I haven’t readHarry Potter yet. (まだハリーポッターを読んでいない。)

経験 – Experiences

次は「経験」を表す現在完了形を見ましょう。

経験用法は「(今までに)~したことがある」と訳すことができます。

経験をもっと分かりやすく伝えるためには、never(今まで一度も~ない), ever(今まで), before(前に), how many times(何回~したことがある)などを入れるとよいです。

今までで最高だ!といったようにSuperlative(最大級)との組み合わせもよく使われます。

  • I haveneverbeento Okinawa. (私は沖縄に一度も行ったことが無い。)
  • Haveyou everbeento Okinawa? (沖縄に行ったことはありますか?)
  • This is the best meal I‘ve ever had. (これは私が今まで食べた中で最高の食事だ。)…superlative(最大級)との組み合わせ
  • I haven’t experienced anything like this before. (私は前にこのようなことを経験したことがない。)
  • How many timeshave you seen it? (あなたはそれを何回見たことがある?)

継続 – Actions from the past till now

次は「継続」を表す現在完了形を見ましょう。

継続用法は「(今まで)ずっと~している」と訳すことができます。

継続をもっと分かりやすく伝えるためには、how long(どれくらい、いつまで), for(~の間), since(~以来), lately(最近), all day(終日)などを入れるとよいです。

  • How long haveyou beenhere? (ここに来てどれくらいですか?)
  • I haven’t eatenMcDonald ‘s fora while. (しばらくの間マクドナルドを食べていない。)
  • We‘ve known each other sincewe were kids. (私たちは子供だった頃からお互いに知っています。)
  • It has beenvery cold lately. (最近とても寒い。)
  • He has playeda videogame all day today. (彼は今日一日中ビデオゲームをしている。)

結果 – Actions with present results

最後は「結果」を表す現在完了形を見ましょう。

結果用法は「~してしまった」と訳すことができます。

結果用法には特に付け加える英語はありません。

  • She has gone to Hokkaido. (彼女は北海道に行ってしまった。)

現在完了進行形 – Present Perfect Continuous

さて、いよいよ現在完了進行形です。

現在完了進行形の形は、haveの後にbe動詞の過去分詞であるbeenを使い、そのあとに現在分詞(動詞の-ing形)を使います。

肯定文
 S + have + been + 現在分詞(動詞のing形)
 ・I've been reading Harry Potter lately. (私は最近ハリーポッターを読んでいる。)
 ・She's been reading Harry Potter lately. (彼女は最近ハリーポッターを読んでいる。)
否定文
 S + have not[haven't] been + 現在分詞
 ・I haven't been feeling well lately. (私は最近気分がよくない。)
 ・She's been feeling well lately. (彼女は最近気分がよくない。)
疑問文
 Have + S + been + 現在分詞 ~ ?
 ・Have you been doing yoga? (あなたはヨガを続けていますか?)
 ・Has she been doing yoga? (彼女はヨガを続けていますか?)
否定疑問文
 Have not[Haven't] + S + been + 現在分詞 ~ ?
 ・Haven't you been going to Japan? (日本に行ったことはありませんか?)
 ・Hasn't she been going to Japan? (彼女は日本に行ったことはありませんか?)

現在完了形が現在において完了している状態を表すと言いました。 現在完了進行形は現在において昔から進行中の動作を表します。

単に今続けている動作を表す現在進行形と比べて、昔から続けてやっているニュアンスを表すことができます。進行中と言う通り、完了していないところがポイントです。

現在完了進行形の用法は現在完了形の継続用法とほぼ同じなんです。冒頭でもお話しした通り、現在完了形(継続)でも現在完了進行形でも同じ意味の文になります。

使い分けとしては後述にも例を出しますが、まだ途中であることを強調したいときに現在完了進行形を使いましょう。

現在完了進行形も現在完了形(継続)と同じように、より明確に継続用法を伝えるために how long(どれくらい、いつまで), for(~の間), since(~以来), lately(最近), all day(終日)などを入れるとよいです。

  • How long haveyou been playinggolf? (あなたはどれくらいゴルフを続けていますか?)
  • She‘s been studying very hard for weeks. (彼女は数週間猛勉強している。)
  • I haven’t been sleepingsince yesterday. (私は昨日から寝ていない。)
  • He‘s been doing exercise lately. (彼は最近運動を続けている。)
  • She‘s been annoying us all evening. (彼女は毎晩私たちをイライラさせる。)

イメージは「過去から現在まで続いていてまだ途中であり未来にも続く」こと

最初に挙げた例文を思い出しましょう。

  • I have been goingto language school for six months.

現在完了形で表すときよりも、現在完了進行形を使うと、まだ途中でこの先も続けるつもりだよ、というニュアンスをはっきりと表すことができます。

現在完了形と現在完了進行形の違い

これらの違いは表したい対象が状態動作にあります。

現在完了形を使うのに向いているケース

状態を表すときに現在完了形が向いています。

  • I haven’t eaten McDonald ‘s for a while. (しばらくの間マクドナルドを食べていない。)
  • I haven’t been eating McDonald ‘s for a while. (しばらくの間マクドナルドを食べ続けていない。)←???

この例文では、「マクドナルドを食べた」かどうかという状態について語っています。「マクドナルドを食べ続けている」動作をしばらくやってないという表現だと不自然ですよね。

現在完了進行形を使うのに向いているケース

現在完了形では複数の用法があるため、他の用法と混同してとらえてしまいそうになります。なので、(まだ完了しておらず、)継続中の動作を伝えたいときには現在完了進行形を使う方が向いています。

そして大きな違いは 終えたか、まだ終えていないか です。

  • I’ve read Harry Potter lately. (最近ハリーポッターを読んだ。)
  • I’ve been reading Harry Potter lately. (最近ハリーポッターを読んでいる途中だ。)

継続用法でよく使うと言ったlatelyも、このように「最近ハリーポッターを読んだ」と完了用法の文にも使えるので、これを聞いた人は最近読み終えたんだな~と思うことでしょう。そのため、まだ途中であると伝えるには現在完了進行形を使います。

もう一つの例は、「~したからさー」「~していたからさー」といったような結果こうなったというニュアンスで使う方法です。

  • Look how nice my car looks. I’ve washed it. (見よ俺の素晴らしい車を。俺がそれを洗ったんだ。)
  • Sorry, I’m sweaty. I’ve been washing my car. (ごめん、私は汗だくです。私の車を洗っていたので。)

まとめ

現在完了形・現在完了進行形ともに「過去から現在まで続いている」イメージ。

現在完了形…状態を表す。S + have + 過去分詞
 完了「~したところだ」just, already, yet
 経験「~したことがある」never, ever, before, how many times
 継続「(今まで)ずっと~している」how long, for, since, lately, all day
 結果「~してしまった」

現在完了進行形…動作を表す。まだ完了していない。S + have + been + 現在分詞
 継続「(今まで)ずっと~している」howlong, for, since, lately, all day

ここまで読んでくださりありがとうございました!!

間違いなどありましたらコメントをいただけると助かります。

スポンサーリンク