現在完了進行形(have been + -ing)
have/has been + -ing で続いている動作を表し、現在完了形との違いも学びます。
説明
現在完了進行形は、過去から現在までずっと続いている動作を伝えたいときに使います。
「ずっと待っています」「さっきから勉強し続けています」のように、ある動作が過去から今まで続いていることを強調したいときに使います。
形は have / has been + 動詞-ing。動作の継続に焦点を当てます。
現在完了形が状態・結果・経験に焦点を当てるのに対し、こちらは「動作そのものの継続」を強調する形です。
今回のゴール
- 現在完了進行形で「ずっと〜している」と伝えられる。
- 現在完了と現在完了進行形を意味で使い分けられる。
- 現在完了進行形の否定文で「ずっと〜していない」と伝えられる。
- 現在完了進行形の疑問文で継続を尋ねられる。
- 動作の結果や痕跡を表現できる。
- love / know など、進行形にしない動詞を見分けられる。
現在完了進行形で「ずっと〜している」と伝えられる。
現在完了進行形は「ずっと〜し続けている」という動作の継続を強調する表現です。
現在完了形が状態や結果に焦点を当てるのに対し、現在完了進行形は動作そのものの継続を伝えます。
例文
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.
最近よく眠れていません。
現在完了進行形の疑問文で継続を尋ねられる。
疑問形は「ずっと〜しているのですか?」と尋ねる形で、Have / Has + 主語 + been + -ing の語順にします。肯定文が「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.
泣いていたんです。(だから目が赤い)
love / know など、進行形にしない動詞を見分けられる。
状態動詞(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 形にします。
まとめ
- 現在完了進行形で「ずっと〜している」と伝えられる。
- 現在完了と現在完了進行形を意味で使い分けられる。
- 現在完了進行形の否定文で「ずっと〜していない」と伝えられる。
- 現在完了進行形の疑問文で継続を尋ねられる。
- 動作の結果や痕跡を表現できる。
- love / know など、進行形にしない動詞を見分けられる。