英語の時制の中で「活動のプロセス」や「直前までの行動の痕跡」を生き生きと伝えるのが present perfect continuous(現在完了進行形 / present perfect progressive) です。
I have been studying English for three hours.(3時間英語を勉強している)のように、過去に始まった活動が「現在まで継続していること」「最近繰り返し行われていること」「直前まで行われていたこと」に焦点を当てます。
この記事では、次のポイントをわかりやすく整理します。
- 現在完了進行形の基本公式(have / has been + -ing)
- 現在完了形(Present Perfect Simple)との本質的な違い
- 3つの主な使い方(① 継続的な活動、② 最近の反復的な習慣、③ 直前までの動作と痕跡)
- 進行形にできない「状態動詞(know, like など)」のルール
liveやworkの使い分けとニュアンス- 否定文・疑問文の作り方とよく一緒に使う語句(
for,since,latelyなど)
1. まず押さえる!現在完了進行形の基本構造とコアイメージ
present perfect continuous は、「現在完了(have + 過去分詞)」と「進行形(be + -ing)」が合体した時制です。
公式は have / has + been + 動詞の -ing 形(現在分詞) です。主語が三人称単数(he, she, it など)のときは
has been -ing を使います。
コアイメージ:過去から現在へつながる「活動のプロセス」
現在完了形が「完了した結果」「経験の有無」「状態の継続」など事実や結果に焦点を当てることが多いのに対し、現在完了進行形は「その活動・行為そのものが現在へと続いているプロセス」にスポットライトを当てます。
├── 完了形の要素:
have / has + 過去分詞(過去と現在をつなぐ時間軸)├── 進行形の要素:
be動詞 + -ing(動作や活動が展開中であること)└── 結合形:have / has + been + -ing(過去から今にかけて活動が行われている!)
基本パターンの比較
| 文タイプ | 基本の語順 | 例文 |
|---|---|---|
| 肯定文 | 主語 + have / has been + -ing | It has been raining since this
morning. (今朝からずっと雨が降っています。) |
| 否定文 | 主語 + have / has not been + -ing | I haven’t been sleeping well
lately. (ここ最近あまりよく眠れていません。) |
| 疑問文 | Have / Has + 主語 + been + -ing? | Have you been waiting
long? (長く待っていましたか?) |
| Wh疑問文 | 疑問詞 + have / has + 主語 + been + -ing? | How long have you been learning
English? (どのくらいの期間英語を学んでいますか?) |
2. 【超重要】現在完了形(Simple)と現在完了進行形(Continuous)の違い
学習者が最も悩みやすいのが、「現在完了形(have + 過去分詞)」と「現在完了進行形(have been + -ing)」の使い分けです。その核心は「完了した結果・達成」に注目するか、「活動のプロセス・継続」に注目するかにあります。
| 項目 | 現在完了形(Simple) | 現在完了進行形(Continuous) |
|---|---|---|
| 基本公式 | have / has + 過去分詞 |
have / has been + -ing |
| 主な焦点 | 結果・完了した事実・達成・経験 | 活動の継続・反復・プロセスそのもの |
| 完了の有無 | 動作が完了していることを明確に示すことが多い | 完了したかどうかは問わず、活動していたことに着目 |
| 数量・回数の伝達 | 「〜回完了した」「〜個仕上げた」という達成結果の提示に最適 | 「最近〜をしている」という活動自体を語る際に使われる |
| 状態動詞 | 状態動詞の継続(know, like など)で使用 | 原則として状態動詞は不可 |
具体例で比べる違い
・I have read three books this month.(今月3冊の本を読み終えた = 完了・達成結果)
・I have been reading this book for two hours.(2時間この本を読んでいる = 活動のプロセス・まだ途中である可能性が高い)
・He has painted the ceiling.(彼は天井を塗り終えた = 天井は綺麗に仕上がっている)
・He has been painting the ceiling.(彼は天井を塗っていた = ペンキ塗りという活動をしていた余韻・痕跡)
3. 現在完了進行形の主な使い方
現在完了進行形は、状況や文脈に応じて主に次の3つの場面で使われます。
① 過去から現在まで続いている「活動の継続」(ずっと〜している)
過去のある時点で始まった活動が、現在も続いていることを表します。for(〜の間)や
since(〜以来)と一緒に期間を示して使われるのが典型です。
| 英文 | 日本語訳・ニュアンス |
|---|---|
| She has been playing tennis since 9 AM. | 彼女は午前9時からテニスをしています(今もプレー中)。 |
| They have been arguing for an hour. | 彼らは1時間言い争いを続けています。 |
② ここ最近の「反復的な活動・傾向」(最近〜している)
一秒も休まず連続しているわけではなくても、「ここ最近、繰り返し行っている習慣や活動」を表すことができます。lately や
recently とよく組み合わされます。
| 英文 | 日本語訳・ニュアンス |
|---|---|
| I have been thinking about changing my job. | ここ最近、転職についてあれこれ考えています。 |
| He has been going to the gym a lot lately. | 彼は最近よくジムに通っています(最近の反復的な活動)。 |
| I have been working on this project for three months. | この3か月間、このプロジェクトに取り組んでいます。 |
③ 直前までの動作の痕跡・理由(さっきまで〜していた)
活動自体は直前に終わったばかりですが、その活動の影響や痕跡が現在に目に見えて残っている場合に使います。
「なぜ息が上がっているのか」「なぜ服が汚れているのか」「なぜ地面が濡れているのか」などの理由を説明する場面でよく登場します。
| 英文 | 現在の状況と使われる理由 |
|---|---|
| The ground is wet. It has been raining. | 地面が濡れている(雨は止んでいるかもしれないが、さっきまで降っていた痕跡)。 |
| You’re out of breath. Have you been running? | 息が切れているね。走っていたの?(直前までの活動の痕跡) |
| My hands are dirty because I have been fixing my car. | 車を修理していたので手が汚れています。 |
4. 状態動詞(Stative Verbs)と進行形の制限
現在完了進行形を使う上で重要な文法ルールの1つが、「状態動詞(stative verbs)は原則として進行形にできない」という点です。
| 動詞の種類 | 代表的な動詞 | 正しい表現と不自然な例 |
|---|---|---|
| 知識・認識 | know, understand, believe |
⭕ I have known him for years. ❌ I have been knowing him... |
| 感情・好み | like, love, hate, prefer
|
⭕ She has always liked cats. ❌ She has been liking cats... |
| 所有・状態 | have(持つ), belong, own, be
|
⭕ We have had this car since 2020. ❌ We have been having this car... |
live や work の場合
live(住む)や work(働く)のような動詞は、期間を表す語句(for /
since)を伴う場合、現在完了形でも現在完了進行形でも自然に使われ、意味の差も小さくなります。
-
I have lived in Tokyo for 10 years.
I have been living in Tokyo for 10 years.
どちらも文法的に正しく日常的に使われます。あえて微細な差を挙げるなら、現在完了進行形(have been living)のほうが「今まさにそこで生活が展開している」という生き生きとした継続感や活動感に焦点が当たりやすい傾向があります。
5. よく使われる時間表現(Time Expressions)
現在完了進行形は、「期間の長さ」や「起点」「最近の傾向」を表す表現と非常によく結びつきます。
| 表現 | 役割・意味 | 例文 |
|---|---|---|
| for + 期間 | 〜の間(期間の長さを表す) | for three hours / for two days / for a long time |
| since + 起点 | 〜以来、〜から(過去の始まりの時点) | since yesterday / since 2022 / since I was a child |
| How long ... ? | どのくらいの間〜していますか?(期間を尋ねる) | How long have you been waiting here? |
| all day / all morning | 一日中 / 朝からずっと(活動の継続を強調) | He has been working in the garden all day. |
| lately / recently | 最近、ここ最近(最近の活動や傾向) | I have been feeling very tired lately. |
for と since の使い分け
・
for + 時間の量・長さ(例:for 5 years, for ten minutes)・
since + 過去の特定のスタート地点(例:since 9:00, since last week, since Monday)
6. 完了進行形の時制バリエーション(過去・未来との比較)
現在完了進行形を深く理解するために、過去完了進行形や未来完了進行形との時間軸の違いも整理しておきましょう。
| 時制 | 形 | 例文と意味 |
|---|---|---|
| 現在完了進行形 | have/has been -ing |
I have been driving for 2
hours. (今2時間ずっと運転しているところだ) |
| 過去完了進行形 | had been -ing |
I had been driving for 2 hours when it started
snowing. (雪が降り始めた時、2時間運転を続けていた) |
| 未来完了進行形 | will have been -ing |
By next month, I will have been learning English for a
year. (来月で英語を学び続けて1年になる) |
7. 知っておくと役立つポイント
① 短縮形と発音の傾向
日常会話では have been や has been は短縮形が好まれます。
I've been(/aɪv bɪn/)He's been(/hiːz bɪn/)They've been(/ðeɪv bɪn/)
※ been には強勢が置かれず、弱く発音されるのが一般的です。
② 達成数量を伝えるときの使い分け
「3杯飲み終えた」「2回訪れた」のように完了した数量・回数の結果を述べる際は、現在完了形(Simple)が最も自然です。
[活動の展開] I have been drinking coffee all morning.
③ 「苛立ちや不満」を表すニュアンス
直前までの動作の痕跡から、「誰が私のパソコンをいじっていたの?」のように、不満や苛立ちの感情を込めて使われることがあります。
(例:Who has been using my computer?)
④ 「最近の傾向・変化」を表す
lately / recently を伴って、最近続いている体調の変化や新たな取り組みを伝えるのによく用いられます。
(例:I have been walking to work recently. = 最近徒歩で通勤するようにしている)
8. FAQ(よくある質問)
Q1. 現在完了進行形の受動態(受け身)はどう表現しますか?
A. 文法上は「have been being + 過去分詞」となりますが、形が重いため日常ではあまり好まれません。
通常は能動態(They have been repairing the road.)を使うか、他の自然な構文で表現するのが一般的です。
Q2. 「I have been knowing him」はなぜ不自然なのですか?
A. know は「知っている」という状態を表す状態動詞だからです。
状態動詞は動作のプロセスを持たないため進行形にはしません。状態の継続は I have known him for a long time.
と現在完了形(Simple)で表します。
Q3. 現在進行形(I am studying)と現在完了進行形(I have been studying)の違いは?
A. 「過去からの時間の幅(起点・期間)」を含むかどうかが違います。
I am studying.
は「今まさに勉強している最中であること」だけを述べます。一方、I have been studying for 2 hours.
は「2時間前から今まで勉強を続けている」という時間のつながりを表します。
Q4. How long have you lived...? と How long have you been living...? はどちらが良い?
A. どちらも文法的に正しく、自然に使われます。
意味の違いはごくわずかですが、have been living
のほうが「現在進行中の生活・活動」というプロセスにスポットが当たりやすい特徴があります。
Q5. 動作がすでに終わっていても使えますか?
A. はい、直前まで行われていた動作の痕跡や影響が「今」に残っていれば使えます。
雨が止んでいても地面が濡れていれば It has been raining.、走るのをやめても息が切れていれば
I have been running. と表現できます。
Q6. 否定文で「haven't been -ing」にするとどういう意味になりますか?
A. 「ここ最近ずっと〜していない(状態が続いている)」という意味になります。
(例:I haven't been sleeping well lately. = 最近あまりよく眠れない日が続いている)
9. まとめ
現在完了進行形(Present Perfect Continuous)を理解するための要点を整理します。
- 基本公式は have / has + been + -ing
- コアイメージは 「過去から現在へつながる活動のプロセス・継続」
- 現在完了形との違い: 完了形は「結果・完了した事実・経験・状態」、進行形は「活動の継続・反復・プロセス」
- 反復や最近の傾向: 一秒も休まず連続していなくても、最近繰り返している活動(think, work など)に使える
- 直前の痕跡: 今まさに終わった動作でも、結果や痕跡が残っていれば使える(例:息切れ、濡れた地面)
- 状態動詞(know, like, have など) は進行形にせず、現在完了形(Simple)を使う
- 完了した数量・結果 を強調するときは現在完了形が適している
for(期間)、since(起点)、How long(期間の質問)、lately(最近)と相性が抜群
現在完了進行形が使いこなせるようになると、「今何をしているか」だけでなく、「どれくらいその活動を続けてきたのか」「最近どのようなことに取り組んでいるのか」「なぜ今このような状態なのか」を生き生きと自然な英語で表現できるようになります。
文法用語やルールの暗記にとどまらず、「ネイティブが実際にどう使い分けているか」をアルファベット順(A-Z)で直感的に引ける定番の英文法リファレンスです。
Practical English Usage 4th Edition
世界中の英語学習者・英語教師が手元に置くバイブル。「この前置詞はどう使い分ける?」「似た単語のニュアンスの違いは?」といった疑問を即座に解決できる決定版。