今までずっと続く動作を表す
have been + -ing
have / has been + -ing で続いている動作を表し、現在完了形と使い分けます。
説明
現在完了進行形は、過去から現在まで続いている動作を強調します。
「ずっと待っています」「さっきから勉強し続けています」のように、ある動作が過去から今まで続いていることを強調したいときに使います。
形は have / has been + 動詞-ing。動作が続いていることを前に出します。
現在完了形が状態・結果・経験を表すのに対し、こちらは「動作が続いていること」を前に出す形です。
否定文・疑問文に加えて、動作の跡が今見える場面や、進行形にしにくい状態動詞との使い分けも扱います。
| 軸 | 見ること |
|---|---|
| 形 | have / has been + 動詞-ing |
| 現在完了形との違い | 結果・状態ではなく、動作の継続を前に出す |
| 文の種類 | 肯定 / 否定 / 疑問 |
| 動作の跡 | 走っていたので汗をかいている、など |
| 状態動詞 | know / like などはふつう進行形にしない |
今回のゴール
- 現在完了進行形で「ずっと〜し続けている」という動作の継続が言えるようになる
- 現在完了形と現在完了進行形の使い分けのルールを理解する
- 現在完了進行形の否定文で、ある期間にわたって動作が続いていないことが言えるようになる
- 現在完了進行形の疑問文で「ずっと〜しているか」と継続を尋ねられるようになる
- 現在完了進行形で、続いていた動作の結果や痕跡が今見える場面を表せるようになる
- 状態動詞はふつう進行形にしないというルールを理解する
現在完了進行形で「ずっと〜し続けている」という動作の継続が言えるようになる
現在完了進行形は 「ずっと〜し続けている」という動作の継続を強調する表現です。
現在完了形が状態や結果を表すのに対し、現在完了進行形は動作そのものの継続を伝えます。
例文
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 のような時間表現と一緒に使うと、継続している長さや起点が伝わりやすくなります。
| 表現 | 意味 | 例文 |
|---|---|---|
| for + 期間 | 〜の間 | I have been waiting for 30 minutes. |
| since + 起点 | 〜から | She has been working since 9 a.m. |
| all day / all morning | 一日中 / 午前中ずっと | Tom has been studying all day. |
| recently / lately | 最近 | I haven't been sleeping well lately. |
| How long ...? | どのくらい〜? | How long have you been studying? |
現在完了形と現在完了進行形の使い分けのルールを理解する
現在完了形(have + 過去分詞)は、結果・完了・状態の継続を前に出します。現在完了進行形(have been + -ing)は、動作が今まで続いていることを前に出します。
動作動詞では両方使えますが、know / like などの状態動詞はふつう進行形にしません。have も「持っている」の意味では進行形にしにくく、have lunch のような動作の意味では進行形にできます。
| 現在完了形 | 現在完了進行形 | |
|---|---|---|
| 形 | have / has + 過去分詞 | have / has been + -ing |
| 何を前に出すか | 結果・完了・状態の継続 | 動作が続いていること |
| 例 | I have lived here for 5 years. | I have been living here for 5 years. |
| 伝わり方 | 「住んでいる」という事実 | 「住み続けている」という継続 |
| 状態動詞 | 使える(I have known him.) | ふつう使わない(ただし have には動作用法もある) |
例文
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.
はい、しています。
現在完了進行形で、続いていた動作の結果や痕跡が今見える場面を表せるようになる
現在完了進行形は、継続していた動作の結果が今見えている場合にも使います。動作はすでに終わっていても、その跡が今残っていることを表せます。
| 見ること | 例 | 今見える結果 |
|---|---|---|
| 直前まで続いていた動作 | have been running | 汗をかいている |
| 少し前まで続いていた動作 | has been crying | 目が赤い |
例文
I have been running.
走っていたんです。(だから汗をかいている)
He has been crying.
泣いていたんです。(だから目が赤い)
状態動詞はふつう進行形にしないというルールを理解する
状態動詞(know, like, have(持っている)など)は動作ではなく状態を表すため、ふつう進行形(-ing)にしません。「ずっと知っている」のように継続を表したい場合は、現在完了進行形ではなく現在完了形(have known)を使います。
| 分類 | 動詞 | 意味 |
|---|---|---|
| 認知 | know | 知っている |
| 認知 | believe | 信じている |
| 認知 | understand | 理解している |
| 認知 | remember | 覚えている |
| 感情 | like | 好きだ |
| 感情 | love | 愛している |
| 感情 | hate | 嫌いだ |
| 感情 | want | 欲しい |
| 所有 | have | 持っている |
| 所有 | own | 所有している |
| 所有 | belong | 属している |
| その他 | need | 必要だ |
| その他 | mean | 意味する |
| その他 | seem | 〜のようだ |
間違えやすいポイント
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 形にします。
まとめ
- 現在完了進行形で「ずっと〜し続けている」という動作の継続が言えるようになる
- 現在完了形と現在完了進行形の使い分けのルールを理解する
- 現在完了進行形の否定文で、ある期間にわたって動作が続いていないことが言えるようになる
- 現在完了進行形の疑問文で「ずっと〜しているか」と継続を尋ねられるようになる
- 現在完了進行形で、続いていた動作の結果や痕跡が今見える場面を表せるようになる
- 状態動詞はふつう進行形にしないというルールを理解する