TOEIC® L&R・IELTS・TOEFL iBT® の文法ドリルと試験情報
ホーム > 文法一覧 > 文法の違い > 現在完了(継続)と現在完了進行形の違い

英語の「have + 過去分詞」と「have been + -ing」の違い

どちらも「今までずっと」を表します。現在完了は know や be のような状態が続くことを、現在完了進行形は動作が続いてきたこと(今もしている最中が多い)を表します。

使い分けの表

have + 過去分詞have been + -ing
意味(ずっと)〜している(継続)(ずっと)〜し続けている
続くもの状態や事実動作や活動
動詞の例know・be・like・havewait・study・rain・work
形have + 過去分詞have been + -ing

例文で比べる

○ = 自然 △ = 通じるが、その場面・文体には合わない × = 不自然・誤り

○
My uncle has been a pilot for ten years.
おじは 10 年間パイロットをしています。
×
My uncle has been being a pilot for ten years.
おじは 10 年間パイロットをしています。
be は状態を表す動詞なので、進行形にしません。
△
I have waited for Lisa for an hour.
私はリサを 1 時間待っています。
○
I have been waiting for Lisa for an hour.
私はリサを 1 時間待ち続けています。
have waited でも言えますが、「今もまだ待っている」感じは have been waiting のほうがはっきり出ます。
○
I have written five emails this morning.
今朝、私はメールを 5 通書きました。
△
I have been writing five emails this morning.
今朝、私はメールを 5 通書き続けています。
終わった数や量を言うときは have written です。進行形は数より「ずっとしている」ことを言います。

覚え方・注意点

  • know・like・want・be などの状態を表す動詞は、ふつう進行形にしません。
  • How long ~? で「ずっと〜している」と聞くとき、動作の動詞は進行形がよく使われます。
  • live・work・teach は、どちらの形でも意味がほとんど変わりません。

確認問題

( )に入れるのに、より自然なのはどちらでしょう。

問1
I (  ) my best friend since we were five years old.
  1. have been knowing
  2. have known
答えと解説

正解:2. have known

know は状態を表す動詞で進行形にしないので「have known」です。

問2
Tom's face is red and he is out of breath. He (  ) in the park.
  1. has run
  2. has been running
答えと解説

正解:2. has been running

今も息が切れている、続いていた動作の結果なので「has been running」です。

問3
I (  ) this bike for ten years, and it still works well.
  1. have had
  2. have been having
答えと解説

正解:1. have had

have(持つ)は状態を表す動詞なので「have had」です。

それぞれの文法の詳しい説明

文法の違いの一覧 ≫