完了形

現在完了進行形

要点

have been + -ing

文法の意味

現在完了進行形は「ずっと〜し続けている」という動作の継続を強調する

現在完了形が結果・状態を表すのに対し、現在完了進行形は動作そのものの継続を前に出します。know / like のような状態動詞はふつう進行形にしません。

使い分け

今まで続く動作と、その長さを伝えられる

現在形は習慣を述べます。現在完了進行形なら、過去に始まり今まで続いている動作と、その長さを一緒に表せます。

現在形

習慣 — I study English every day.

現在完了進行形

今まで続く動作 — I have been studying English for two hours.

最近の継続

近ごろ繰り返していること — I have been sleeping poorly lately.

文法の形

肯定・否定・疑問の3つの形があります。

肯定
主語 + have / has been + 動詞-ing

I have been studying for two hours.

否定
主語 + have / has not been + 動詞-ing

I haven't been sleeping well lately.

疑問
Have / Has + 主語 + been + 動詞-ing?

Has he been studying all day?

文法のルール

1

状態動詞(know / like など)は進行形にしない。現在完了形を使う。

I have been knowing him for 10 years.

I have known him for 10 years.

know は「知っている」という状態を表す動詞なので、継続を表すときは現在完了進行形ではなく現在完了(have known)を使います。

2

been の後ろは -ing 形。

He has been waited for an hour.

He has been waiting for an hour.

現在完了進行形は have been + -ing で作ります。been の後ろは原形(go)でも過去分詞(waited)でもなく、必ず -ing 形にします。