現在完了進行形
今まで続いている動作を表す
have been + -ing
どっちで読む?
説明
現在完了進行形は、過去から現在まで続いている動作を強調します。
「ずっと待っています」「さっきから勉強し続けています」のように、ある動作が過去から今まで続いていることを強調したいときに使います。
形は have / has been + 動詞-ing。動作が続いていることを前に出します。
現在完了形は結果・完了・経験のほか、状態や動作の継続を表すこともあります。現在完了進行形は、その中でも「動作が続いていること」をより前に出す形です。
今回のゴール
- 現在完了進行形で「ずっと〜し続けている」という動作の継続が言えるようになる
- 現在完了形と現在完了進行形の使い分けのルールを理解する
- 現在完了進行形の否定文で、ある期間にわたって動作が続いていないことが言えるようになる
- 現在完了進行形の疑問文で「ずっと〜しているか」と継続を尋ねられるようになる
- 現在完了進行形で、続いていた動作の結果や痕跡が今見える場面を表せるようになる
- 状態動詞はふつう進行形にしないというルールを理解する
現在完了進行形の使い方
現在完了進行形で「ずっと〜し続けている」という動作の継続が言えるようになる
現在完了進行形は「ずっと〜し続けている」という動作の継続を強調する表現です。現在完了形も状態や継続を表せますが、現在完了進行形は動作そのものの継続をより強く伝えます。
例文
I have been studying English for two hours.
私は2時間ずっと英語を勉強しています。
She has been reading this book since yesterday.
彼女は昨日からこの本をずっと読んでいます。
Tom has been studying all day.
トムは一日中勉強しています。
現在完了進行形は、for / since や all day のような時間表現と一緒に使うと、継続している長さや起点が伝わりやすくなります。
現在完了形との使い分け
現在完了形と現在完了進行形の使い分けのルールを理解する
現在完了形(have + 過去分詞)は、結果・完了・状態の継続を前に出します。現在完了進行形(have been + -ing)は、動作が今まで続いていることを前に出します。
動作動詞では両方使えますが、know / like などの状態動詞はふつう進行形にしません。have も「持っている」の意味では進行形にしにくく、have lunch のような動作の意味では進行形にできます。
例文
I have lived in Tokyo for 5 years.
私は東京に5年間住んでいます。
I have been living in Tokyo for 5 years.
私は東京に5年間ずっと住んでいます。
I have known him for 10 years.
私は彼を10年間知っています。
We have been having lunch for 30 minutes.
私たちは30分間昼食をとっています。
現在完了進行形の否定文
現在完了進行形の否定文で、ある期間にわたって動作が続いていないことが言えるようになる
現在完了進行形の否定文(have / has not been + -ing)で、ある期間にわたって動作が続いていないことを伝えます。I haven't been sleeping well lately. は「最近よく眠れていない」のように、完全に一度もしていないだけでなく、十分にできていない状態も表せます。
例文
I haven't been sleeping well lately.
最近よく眠れていません。
現在完了進行形の疑問文
現在完了進行形の疑問文で「ずっと〜しているか」と継続を尋ねられるようになる
疑問形は「ずっと〜しているのですか?」と尋ねる形です。肯定文が「You have been waiting.」なら、疑問文は「Have you been waiting?」になります。
例文
How long have you been waiting?
どのくらい待っていますか?
For about 30 minutes.
30分くらいです。
Has he been studying all day?
彼は一日中勉強しているのですか?
Yes, he has.
はい、しています。
動作の結果が残る場面
現在完了進行形で、続いていた動作の結果や痕跡が今見える場面を表せるようになる
現在完了進行形は、継続していた動作の結果が今見えている場合にも使います。動作はすでに終わっていても、その跡が今残っていることを表せます。
例文
I have been running.
走っていたんです。(だから汗をかいている)
He has been crying.
泣いていたんです。(だから目が赤い)
状態動詞はふつう進行形にしない
状態動詞はふつう進行形にしないというルールを理解する
状態動詞(know, like, have(持っている)など)は動作ではなく状態を表すため、ふつう進行形(-ing)にしません。「ずっと知っている」のように継続を表したい場合は、現在完了進行形ではなく現在完了形(have known)を使います。
間違えやすいポイント
I have been knowing him for 10 years.
I have known him for 10 years.
know は「知っている」という状態を表す動詞なので、継続を表すときは現在完了進行形ではなく現在完了(have known)を使います。
He has been waited for an hour.
He has been waiting for an hour.
現在完了進行形は have been + -ing で作ります。been の後ろは原形(go)でも過去分詞(waited)でもなく、必ず -ing 形にします。
まとめ
- 現在完了進行形で「ずっと〜し続けている」という動作の継続が言えるようになる
- 現在完了形と現在完了進行形の使い分けのルールを理解する
- 現在完了進行形の否定文で、ある期間にわたって動作が続いていないことが言えるようになる
- 現在完了進行形の疑問文で「ずっと〜しているか」と継続を尋ねられるようになる
- 現在完了進行形で、続いていた動作の結果や痕跡が今見える場面を表せるようになる
- 状態動詞はふつう進行形にしないというルールを理解する