完了形
現在完了進行形
要点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つの形があります。
I have been studying for two hours.
I haven't been sleeping well lately.
Has he been studying all day?
文法のルール
状態動詞(know / like など)は進行形にしない。現在完了形を使う。
I have been knowing him for 10 years.
I have known him for 10 years.
know は「知っている」という状態を表す動詞なので、継続を表すときは現在完了進行形ではなく現在完了(have known)を使います。
been の後ろは -ing 形。
He has been waited for an hour.
He has been waiting for an hour.
現在完了進行形は have been + -ing で作ります。been の後ろは原形(go)でも過去分詞(waited)でもなく、必ず -ing 形にします。