現在完了進行形(present perfect continuous / present perfect progressive)は、「過去のある時点から現在まで続いている動作」に焦点を当てる時制です。日本語には現在完了進行形に一対一で対応する文法がないため、多くの日本人学習者が現在完了形(have + 過去分詞)との違いでつまずきます。
この記事では、現在完了進行形の形(公式)、用法、現在完了形との違い、日本人が間違えやすいポイントを、豊富な例文とともに体系的に解説します。
現在完了進行形の形(公式)と作り方
現在完了進行形は「have/has + been + 動詞のing形」で作ります。この「been」を抜かしてしまう、あるいは動詞をing形にし忘れるミスが非常に多いので、まず公式をしっかり押さえましょう。
| 文の種類 | 公式 | 例文 |
|---|---|---|
| 肯定文 | 主語 + have/has + been + 動詞ing | I have been studying English for three years.(私は3年間英語を勉強しています) |
| 否定文 | 主語 + have/has + not + been + 動詞ing | She has not been feeling well lately.(彼女は最近体調が良くありません) |
| 疑問文 | Have/Has + 主語 + been + 動詞ing? | Have you been waiting long?(長く待っていますか?) |
| 疑問詞疑問文 | 疑問詞 + have/has + 主語 + been + 動詞ing? | How long have you been living here?(ここにどのくらい住んでいますか?) |
主語による have / has の使い分け
| 主語 | 助動詞 |
|---|---|
| I / you / we / they / 複数名詞 | have been + 動詞ing |
| he / she / it / 単数名詞 | has been + 動詞ing |
短縮形もよく使われます。会話やカジュアルな文章では短縮形が自然です。
| 通常形 | 短縮形 |
|---|---|
| I have been | I've been |
| She has been | She's been |
| They have not been | They haven't been |
学習のポイント:「have been ~ing」は3つのパーツ(have/has・been・ing形)がワンセットです。1つでも欠けると誤った文になります。「I have studying」「I am been studying」のような文は典型的な誤りなので注意しましょう。
現在完了進行形の主な用法(意味と使うタイミング)
現在完了進行形には、大きく分けて2つの中心的な用法があります。
- 過去から現在まで継続している動作を表す。動作がまだ続いている、または「たった今終わったばかり」というニュアンスを持つ。
-
I have been waiting for the bus for twenty minutes.(私は20分間バスを待っています。)
-
最近繰り返し行っている動作を表す。習慣的な行為が最近続いていることを示す。
-
He has been going to the gym every morning this month.(彼は今月、毎朝ジムに通っています。)
-
現在の状況・結果の原因を説明する。動作が終わったばかりで、その影響が今の状態に残っていることを示す(見た目や証拠から推測するときによく使われる)。
- You look tired. Have you been working all night?(疲れて見えるね。一晩中働いていたの?)
-
It has been raining, so the ground is wet.(雨が降っていたので、地面が濡れています。)
-
for / since を使って継続期間・起点を明示する。「for + 期間」「since + 起点」のどちらかとセットで使われることが非常に多い。
- We have been living in Tokyo since 2019.(私たちは2019年から東京に住んでいます。)
-
They have been dating for six months.(彼らは6ヶ月間付き合っています。)
-
最近/今のところの一時的な状況を表す(永続的な事実ではなく、一時的・変化しつつある状況というニュアンス)。
- I have been thinking about changing jobs recently.(最近、転職を考えています。)
現在完了形と現在完了進行形の違い(比較表でスッキリ理解)
日本人学習者が最も混同しやすいのが、現在完了形(have + 過去分詞)と現在完了進行形(have been + ing)の違いです。どちらも「過去から現在への繋がり」を表しますが、焦点の置き方が異なります。
| 観点 | 現在完了形(have + 過去分詞) | 現在完了進行形(have been + ing) |
|---|---|---|
| 焦点 | 動作の完了・結果・回数 | 動作の継続性・プロセスそのもの |
| ニュアンス | 「〜したことがある/〜し終えた」 | 「ずっと〜し続けている」 |
| 例文 | I have read three books this month.(今月3冊本を読んだ=結果・完了数) | I have been reading this book for two hours.(この本を2時間読み続けている=継続中の動作) |
| 一時性 | 恒久的な事実・変化にも使う | 一時的な状況を強調しやすい |
| 状態動詞との相性 | know, like, believe など状態動詞に使える | 状態動詞には基本的に使えない(一部例外あり) |
状態動詞(state verbs)に注意
know、like、love、believe、want、understand、belong、own のような状態動詞(感情・知覚・所有などを表す動詞)は、原則として進行形にできません。したがって現在完了進行形ではなく、現在完了形(またはシンプルな現在形)を使います。
- ❌ I have been knowing him for ten years.
- ⭕ I have known him for ten years.(彼を10年前から知っています。)
ただし、live、work、study、feel のような動詞は「動作性」と「状態性」の両方の性質を持ち、現在完了形・現在完了進行形のどちらでも使えることが多い点も押さえておきましょう。
- I have lived here for ten years. / I have been living here for ten years.
(どちらも「10年間ここに住んでいる」という意味でほぼ同じように使えます。)
日本人がよく間違えるポイント(誤りやすい表現とその理由)
日本語には「〜し続けている」という表現がありますが、英語の時制体系とは発想が異なります。以下は日本人学習者に特有の典型的な誤りです。
| ❌ 誤り | ⭕ 正しい表現 | なぜ間違いなのか |
|---|---|---|
| I have studying English for five years. | I have been studying English for five years. | 「been」が抜けている。have been + ing の3点セットを忘れずに。 |
| I am studying English for five years. | I have been studying English for five years. | 現在進行形(am/is/are + ing)には「for+期間」で過去からの継続を表す機能がない。継続を表すには現在完了進行形が必要。 |
| I have been know him for a long time. | I have known him for a long time. | know は状態動詞なので進行形にしない。 |
| I have been studying English since three years. | I have been studying English for three years. / since 2021 | since は「起点(時点)」、for は「期間の長さ」に使う。日本語の「〜から」に引きずられて since を期間に使ってしまう誤り。 |
| She has been went to Osaka since last week. | She has been in Osaka since last week.(居る、という状態) / She went to Osaka last week.(過去形で単純に事実を述べる) | 過去分詞と過去形の混同。been + 過去分詞という二重活用は誤り。 |
| How long do you study English? | How long have you been studying English? | 日本語の「どのくらい勉強していますか」を直訳して現在形にしてしまうが、継続期間を尋ねる疑問文は現在完了進行形が基本。 |
ネイティブの感覚:現在完了進行形は「今この瞬間もその動作が続いている、あるいはついさっきまで続いていた」という臨場感・プロセス感を伝える時制です。日本語で「ずっと〜している」「〜し続けている」と訳せる文の多くは、英語ではこの形になると考えると発想が繋がりやすくなります。
for と since の使い分け(現在完了進行形と切り離せないポイント)
現在完了進行形は for / since とセットで使われることが多いため、この2つの使い分けを正確に理解することが不可欠です。
| 前置詞 | 用途 | 例 |
|---|---|---|
| for | 継続している「期間の長さ」 | for two hours / for three years / for a long time |
| since | 継続が始まった「起点(時点)」 | since 2020 / since last Monday / since I was a child |
- I have been working here for five years.(5年間ここで働いています=期間)
- I have been working here since 2019.(2019年からここで働いています=起点)
自然な英語例文で使い方を身につける
さまざまな主語・場面での例文を通して、現在完了進行形の自然な使い方を確認しましょう。
- My father has been working at the same company for over twenty years.(私の父は20年以上同じ会社で働いています。)
- We have been waiting for the train for almost thirty minutes.(私たちは電車を30分近く待っています。)
- The children have been playing outside since this morning.(子どもたちは今朝からずっと外で遊んでいます。)
- I'm sorry I'm late — have you been waiting long?(遅れてごめんなさい。長く待っていましたか?)
- She has been learning Japanese for six months, and she can already have simple conversations.(彼女は6ヶ月間日本語を学んでいて、もう簡単な会話ができます。)
- It has been snowing since last night, so the roads are covered in snow.(昨夜から雪が降り続いているので、道路は雪で覆われています。)
- They haven't been talking to each other since the argument.(彼らはその口論以来、話をしていません。)
- Have you been feeling okay? You look pale.(体調は大丈夫ですか?顔色が悪いですよ。)
- I have been thinking about studying abroad next year.(来年留学することを考えています。)
- How long have you been living in this city?(この街にはどのくらい住んでいますか?)
よくある質問(FAQ)
Q. 現在完了進行形と現在完了形、どちらを使えばよいか迷ったら?
A. 動作が「まだ続いている、または続いていたことを強調したい」なら現在完了進行形、「完了した結果・回数・経験」を伝えたいなら現在完了形を使いましょう。迷ったときは、日本語で「ずっと〜している」なら進行形、「〜したことがある/〜し終えた」なら完了形、と考えると判断しやすくなります。
Q. 状態動詞はすべて進行形にできませんか?
A. 基本的にはできません。ただし feel、look、live のように文脈によって動作的にも状態的にも使える動詞もあるため、辞書や参考書で個別に確認する習慣をつけましょう。
Q. 疑問文で「How long」以外もよく使われますか?
A. Have you been ...? という Yes/No 疑問文も日常会話で頻出です。「最近〜してる?」というニュアンドで使われます(例: Have you been exercising lately?)。
まとめ:現在完了進行形の核心ルール
- 公式は have/has + been + 動詞ing。been を忘れない。
- 主語が I/you/we/they なら have、he/she/it なら has。
- 用法の中心は「過去から現在まで続いている(続いていた)動作」を表すこと。
- for(期間) と since(起点) をセットで使う頻度が高い。
- 現在完了形は「結果・完了・回数」、現在完了進行形は「継続・プロセス」に焦点がある。
- know、like、believe などの状態動詞は進行形にしない(現在完了形を使う)。
- 継続期間を尋ねる疑問文は How long have you been + 動詞ing? が基本形。