基本 · Unit 20
現在完了進行形
現在完了進行形は have / has been + 動詞-ing の形で、過去のある時点に始まった動作が今まで続いて進行していることを強調します。現在完了が結果・経験に焦点を当てるとすれば、進行形はその動作が今この瞬間まで続いている「過程」そのものに焦点を当てます。
概念の説明
現在完了進行形は have / has been + 動詞-ing の形で、過去のある時点に始まった動作が今まで続いて進行していることを強調します。現在完了が結果・経験に焦点を当てるとすれば、進行形はその動作が今この瞬間まで続いている「過程」そのものに焦点を当てます。
A. 形 — have / has been + 動詞-ing
現在完了進行形は主語に合わせた have または has のうしろに be動詞の過去分詞 been を置いて、そのうしろに動詞-ing を続けます。公式は have / has been + 動詞-ing の3つの塊で、3人称単数の主語にだけ has been を使います。
| 主語 | have/has been + 動詞-ing | 例 |
|---|---|---|
| I / you / we / they | have been + 動詞-ing | I have been reading. |
| he / she / it | has been + 動詞-ing | She has been reading. |
| 単数名詞 | has been + 動詞-ing | Anna has been reading. |
否定文は haven't been / hasn't been + 動詞-ing、疑問文は Have / Has + 主語 + been + 動詞-ing? の語順で作ります。
- I have been learning Japanese this year. (私は今年ずっと日本語を勉強しています。)
- He has been working out every day. (彼は毎日ずっと運動しています。)
- They haven't been sleeping well. (彼らはよく眠れていません。)
- Has she been feeling better? (彼女は少し体調がよくなってきていますか?)
B. 現在完了との違い — 完結した結果 vs 継続した進行
現在完了(have + p.p.)は動作が完結して残した結果に焦点を当て、現在完了進行形(have been + -ing)は動作が今まで続いて進行している過程に焦点を当てます。同じ状況でも、どこに焦点を当てるかによって時制の選び方が変わります。
| 時制 | 焦点 | 例 |
|---|---|---|
| 現在完了 (完結・結果) | 全部終わって結果が残る | I have written three emails. |
| 現在完了進行形 (継続進行) | 今まで続けている | I have been writing emails all morning. |
| 現在完了 (経験回数) | 今まで何回 | She has read this book twice. |
| 現在完了進行形 (今まで進行) | 今も継続 | She has been reading this book for two weeks. |
- I have painted the wall. (壁を塗り終えました。)
- I have been painting the wall all day. (一日中ずっと壁を塗っている最中です。)
- He has read three books this month. (彼は今月、本を3冊読み終えました。)
- He has been reading all afternoon. (彼は午後ずっと本を読んでいます。)
C. よく一緒に使う表現 — for / since / all day
現在完了進行形はどのくらいの間続いているかを強調するので、for(期間)、since(時点)、all day / all week のような持続表現と組み合わさってよく使われます。How long ~? で尋ねる質問にも自然に答えられます。
| 表現 | うしろに来るもの | 例 |
|---|---|---|
| for | 期間 | I have been waiting for an hour. |
| since | 時点 | She has been working since 9 a.m.. |
| all day / all week | 一日中・一週間中 | It has been snowing all day. |
| lately / recently | 最近 | I have been feeling tired lately. |
| How long ~? | どのくらいの間 | How long have you been studying? |
- She has been talking on the phone for an hour. (彼女は1時間ずっと電話で話しています。)
- We have been living in this city since 2018. (私たちは2018年からこの街に住んでいます。)
- The kids have been playing outside all afternoon. (子どもたちは午後ずっと外で遊んでいます。)
- How long have you been learning Korean? (韓国語をどのくらいの間学んでいますか?)
重要ポイント
- 1現在完了進行形は have / has been + 動詞-ing の3つの塊でできているという形が最初の核心です。(例: She has been working.)
- 2現在完了は完結した結果に、現在完了進行形は今まで続いている過程に焦点を当てるという違いを感覚として身につけましょう。(例: I have painted — 塗り終えた / I have been painting — ずっと塗っている最中)
- 3for(期間)、since(時点)、all day / all week のような持続表現と組み合わさって、どのくらいの間続いているかを強調するという使い方が実践で役立ちます。
- 4know, like, love, want, have(持つ)のような状態動詞は現在完了進行形では原則として使わないという例外を知っておきましょう。(例: I have known him for years. — I have been knowing him. は誤り)
- 5日本語の「〜しています・〜してきています・ずっと〜している最中です」がおおむね現在完了進行形に対応するという感覚をつかむと、時制の選び方が楽になります。
例文
I have been working all morning.
私は朝からずっと働いています。
She has been studying for three hours.
彼女は3時間ずっと勉強しています。
We have been waiting for the bus for 20 minutes.
私たちは20分ずっとバスを待っています。
He has been learning Chinese since last year.
彼は去年から中国語を学んでいます。
They have been playing tennis all afternoon.
彼らは午後ずっとテニスをしています。
このユニットには例文がもっとあります。登録すると全文を音声つきで確認できます。
こんな間違いに注意
I have been working all day.
She has been studying for three hours.
He has been waiting for an hour.
I have known him for years.
We have been living here for ten years.