モチタン辞典 › モチタン英文法辞典 › 現在完了進行形の使い方

現在完了進行形の使い方と現在完了形との違い

現在完了進行形の使い方と現在完了形との違い

現在完了進行形はhave been -ingの形で表し、「過去から始まって今も動作がずっと続いている」ことを強調する文法です。日本語では現在完了形の継続用法と同じく「ずっと〜している」と訳されますが、動作の躍動感や直前までの生々しい行為を表す点が大きく異なります。

基本ルールと現在完了形との明確な違いを短時間でマスターしましょう。

初級読む時間 約4分「時制」13/37✓ 読んだ項目

この項目のポイント

先に読むと分かりやすい: 進行形にしない動詞現在完了形の使い方

現在完了進行形の使い方とは(結論)

現在完了進行形の基本はhave / has been + 動作動詞の-ing形です。「過去のある時点から現在に至るまで、動作が休みなく続いていること」を生き生きと描写します。

話し手の関心は「完了した結果」ではなく「その動作そのものが続いていること」に向けられます。主語に合わせて have /hæv/ または has /hæz/ を選び、その後に been /bɪn/ と現在分詞(-ing)を続けます。

表は横にスクロールできます →

主語の種類基本構造例文日本語訳
第1・2人称/複数主語 + have been -ingI've been waiting.私はずっと待っています。
第3人称単数主語 + has been -ingIt's been raining.雨がずっと降り続いています。

会話では I have が I've、It has が It's のように短縮形が広く用いられます。例えば It's been raining all day.(一日中ずっと雨だね)のように、天候や作業が切れ目なく続いている場面で最も威力を発揮します。

解説動画英語の文法

現在完了進行形

現在完了進行形の解説動画
英語・文法 第3章 完了形 4:28モチタンの授業動画で続けて学ぶ
Nathan英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す

for と since を使った期間の示し方

現在完了進行形は「どのくらいの長さ続いているか」という時間の幅を伴うことが多く、前置詞の for /fɔːr/ と since /sɪns/ が頻繁に組み合わされます。

辞典の例文にもある I've been waiting since 9 this morning.(今朝9時からずっと待っているんだ)では、朝9時という起点から現在まで待ち続けている焦りや疲労が伝わります。

一方、You've been talking for twenty minutes.(20分も話してるよ)のように for を使うと、費やされた時間の長さを客観的または強調して示すことができます。

for と since の使い分け

for + 時間の長さ

  • 動作が継続している時間の総量
  • 数値や期間を客観的・強調して表す
  • 例:for two hours(2時間)
  • 例:for twenty minutes(20分)

since + 過去の時点

  • 動作が始まったスタート地点・起点
  • 過去から現在までの継続を強調
  • 例:since 9 this morning(今朝9時から)
  • 例:since yesterday(昨日から)

動作が続いている時間の長さを示すか、開始の起点を示すかで使い分けます。

現在完了形との違い:動作動詞と状態動詞

学習者が最も迷うのが「現在完了形(継続)との違い」です。判断の決定打は使われている動詞が「動作」か「状態」かという点にあります。

現在完了進行形にできるのは、開始と停止が自由にできる「動作動詞(run, work, wait, read など)」です。一方、「状態動詞(know, live, have, belong など)」は原則として進行形にできないため、継続を表す際も現在完了形(have + 過去分詞)を用います。

表は横にスクロールできます →

分類動詞の性質正しい表現誤った表現
状態動詞継続的な状態を表すI have known him for years.(彼を何年も知っている)× I have been knowing him...
動作動詞具体的な動きを表すI've been working nonstop all day.(一日中休みなく働いていた)※完了形だと「完了した事実」に焦点が移る

動作動詞で現在完了形を使うと「〜したことがある(経験)」や「〜し終えた(完了・結果)」の意味合いが強くなります。今まさにその動作の渦中にあることを伝えたいときは、迷わず現在完了進行形を選びましょう。

否定文と疑問文の作り方

現在完了進行形の否定文と疑問文は、助動詞である have / has の位置を操作して作ります。

否定文の形

have / has の直後に not を置き、haven't been -ing または hasn't been -ing とします。「最近ずっと〜していない」という継続的な不作為を表せます。

疑問文の形

Have / Has を主語の前に移動させます。返答は Yes, I have. や No, I haven't. となります。

期間を尋ねる疑問詞 How long /haʊ lɔːŋ/ との相性も抜群です。How long have you been practicing the piano?(ピアノをどれくらい練習しているの?)のように、相手が熱中している活動の長さを自然に質問できます。

否定文の基本構造
主語+haven't / hasn't+been -ing+修飾語など

I haven't been sleeping well lately.最近ずっとよく眠れていません。

haveまたはhasの直後にnotを置き、継続的な不作為を表します。

会話でよく使われる定番フレーズと近況表現

日常会話の現在完了進行形は、文字通りの「今この瞬間の動作」だけでなく、「最近の習慣・近況」や「直前までやっていて痕跡が残っている動作」にも使われます。

文末に lately /ˈleɪt.li/ や recently /ˈriː.sənt.li/ を添えると、「ここ最近ずっと〜している」という近況報告になります。

また、息を切らしている人に対して Have you been running?(走っていたの?)と聞くように、動作そのものは先ほど終わったものの、息切れや服の汚れといった「直前の行為の結果が目の前に残っている」場合にも現在完了進行形が使われます。

辞典の You've been working non-stop.(ずっと休まずに働いてるよね)も、相手の疲れた様子を見て声をかける自然な表現です。

会話での3つの主な使われ方
⏳今この瞬間の動作

過去から途切れずに今まさに続いている動作

📅最近の習慣・近況

lately等を添えて「最近ずっと〜」と報告

🏃直前の行為の痕跡

息切れや服の汚れなど直前の結果が残る状況

今の動作だけでなく、近況報告や直前の行為の痕跡を示す際にも活躍します。

使い分けをマスターする実践ステップ

現在完了進行形を実践で正しく使いこなすための判断手順は次の3ステップです。

  1. 動詞の種類を確認する:使いたい動詞が「動作」か「状態」かを判定します。状態動詞なら進行形にせず現在完了形にします。
  2. 焦点の位置を確認する:「行為のプロセスそのもの(汗を流している情景)」を伝えたいなら進行形、「行為がもたらした成果や完了」を伝えたいなら完了形にします。
  3. 時間の目印を添える:必要に応じて for hours、since this morning、lately などを文末に補い、時間的広がりを明確にします。

例えば I've been trying to fix this bug for hours.(このバグを何時間も直そうとしているんだ)では、「直そうと格闘している最中」である臨場感が been trying によって鮮明に表現されています。

現在完了進行形の判断手順
1動詞を確認

動作動詞か状態動詞か判定。状態動詞なら完了形に

2焦点を決める

プロセスの情景なら進行形、成果や完了なら完了形

3目印を添える

for、since、latelyなどを文末に補い時間を明確化

動詞の種類と伝えたい焦点を順番に確認して使い分けます。

辞典の例文で見る現在完了進行形の使い方

英文和訳ポイント
It's been raining all day. ▶一日中ずっと雨だね。一日中途切れず続く天候の動作を強調する代表例。
I've been waiting since 9 this morning. ▶今朝9時からずっと待っているんだsinceで動作の開始時点を示し、今も待っている状態。
You've been working non-stop. ▶ずっと休まずに働いてるよね。休みなく動き続けている相手の様子を生々しく表す。
I give up. I've been trying to fix this for an hour. ▶もう諦める。これを1時間直そうと頑張ってきた。1時間格闘し続けた経緯と疲労感が伝わる表現。
You've been talking for twenty minutes. Cut to the chase. ▶20分も話してるよ。本題に入って。forで継続した時間の長さを提示して苦言を呈す用法。
I've been trying to fix this bug for hours. ▶このバグを何時間も直そうとしているんだ。何時間も作業が難航して継続中であることを示す文。
She's been managing that department for years. ▶彼女は何年もあの部署を率いている。長期間にわたる継続的な職務・役割を表す使い方。
I've been feeling stressed lately; maybe I should exercise more. ▶最近ストレスがたまってる。もっと運動したほうがいいかも。latelyを伴い、最近継続している気分や心境を伝える。

中3英語で狙われる現在完了進行形と現在完了形の見分け方

中学校の新学習指導要領において、現在完了進行形は中学3年生で学習する重要文法です。定期テストや高校入試の英作文・適語選択問題では、中2や中3前半で習う「現在完了形(継続用法)」との識別が頻出します。

テストで迷ったときは、問題文で指定された動詞が「状態動詞」か「動作動詞」かを確認することで機械的に判別できます。

分類動詞の例用いるべき文法正解の英文例
状態動詞know, like, be, belong現在完了形(have + 過去分詞)I have known him for three years.(私は彼を3年間知っています。)
動作動詞study, play, run, read現在完了進行形(have been -ing)She has been studying English since this morning.(彼女は今朝からずっと英語を勉強し続けています。)

日本語訳がどちらも「ずっと〜している」となっていても、study や play のような途中でやめたり再開したりできる動作動詞の継続は、現在完了進行形(have been -ing)で書くのが原則です。一方、know や have(持っている)などの状態動詞には -ing をつけられないため、現在完了形を選びます。

現在完了進行形の受動態の構造と日常会話で避けられる理由

現在完了進行形を受動態(受け身)にする場合は、have / has + been + being + 過去分詞 という構造を用います。「過去から今までずっと〜され続けている最中である」という意味を表します。

The road has been being repaired for weeks.(その道路は何週間も補修工事が行われ続けている最中だ。)

文法規約上は正しい形ですが、日常会話や一般的な英文ではほとんど使われません。その理由は、been と being という be動詞が連続して発音しにくく、文構造が重くなってしまうためです。

実際の英語では、進行の意味をあえて含めずに現在完了形の受動態(have been + 過去分詞)で代用するか、能動態で表現するのが自然とされています。

文法形式構造例文使われ方の特徴
現在完了進行形の受動態have been being + 過去分詞The system has been being tested.(そのシステムはテストされ続けている最中だ。)構造が冗長なため稀。ニュースや学術論文で継続性を厳密に強調する際に限られる。
現在完了形の受動態(代用)have been + 過去分詞The system has been tested for weeks.(そのシステムは何週間もテストされている。)自然で簡潔なため、会話や実務文書ではこの形が好まれる。
能動態の現在完了進行形have been + -ingThey have been testing the system.(彼らはそのシステムをずっとテストし続けている。)行為者を主語にできる場合に最も明瞭で聞き取りやすい表現。

「現在完了進行形」のよくある疑問

現在完了と現在完了進行形の違い過去完了進行形と現在完了進行形の違い中学英語の現在完了進行形解説現在完了進行形の問題演習と解き方現在完了進行形の練習問題現在完了進行形授業用PPT教材

この分野の疑問をすべて見る

確認問題(5問)

  1. 次の空所に入る最も適切な語を選びなさい。 I've been waiting (  ) 9 this morning.

    答えと解説

    正解: since
    「今朝9時」という動作が始まった過去のスタート地点(起点)を表すため、sinceが適切です。

  2. 本文のルールに照らして、文法的に誤っている英文を選びなさい。

    答えと解説

    正解: I have been knowing him for years.
    knowは状態動詞であるため原則として進行形にできず、have knownとする必要があります。

  3. 息を切らしている相手に「Have you been running?」と尋ねる場面の説明として最も適切なものを選びなさい。

    答えと解説

    正解: 息切れという直前の行為の痕跡が残っているため尋ねている
    息切れのように、直前までやっていて痕跡が目の前に残っている行為に対して現在完了進行形が使われます。

  4. 「最近ずっとよく眠れていません」という意味になる否定文の語順として正しいものを選びなさい。

    答えと解説

    正解: I haven't been sleeping well lately.
    否定文は助動詞haveの直後にnotを置くため、haven't been -ingの形になります。

  5. 期間の長さを尋ねる疑問文「ピアノをどれくらい練習しているの?」の空所に入る表現を選びなさい。 (  ) have you been practicing the piano?

    答えと解説

    正解: How long
    熱中している活動の期間の長さを尋ねる疑問詞としてHow longが使われます。

よくある質問

Q. 現在完了進行形と現在進行形の違いは何ですか?
現在進行形(am/is/are -ing)は「今この瞬間に動作が行われていること」に焦点を当てます。一方、現在完了進行形(have been -ing)は「過去から今に至るまで動作が継続している時間の幅」に焦点があります。
Q. liveやworkはどちらの形を使うべきですか?
live(住む)やwork(働く)は一時的な動作とも長期的な状態とも捉えられるため、現在完了形でも現在完了進行形でもほぼ同じ意味を表せます。ただし「一時的に滞在・勤務している」というニュアンスを強めたいときは現在完了進行形が好まれます。
Q. 動作が終わっていても使えますか?
はい、使えます。息切れしている、手が汚れているなど、動作自体は直前に終わったばかりで「その影響や痕跡が現在に生々しく残っている」状況では、直前の継続動作を表すために現在完了進行形を用います。
Q. 高校入試や定期テストで「have been -ing」と「have + 過去分詞」のどちらを書くべきか指定がない場合はどうすればいいですか?
問題文の動詞を確認してください。study や wait、play などの動作動詞で「今もその動作を続けている」場面であれば、現在完了進行形(have been -ing)を優先して書くのが標準的です。live(住む)や work(働く)など一部の動詞はどちらでも正解になる場合がありますが、学校の授業や教科書の単元目標に合わせるのが確実です。
Q. 現在完了進行形の受動態(have been being + 過去分詞)は日常会話で使っても通じますか?
文法的には正しいため意味は通じますが、ネイティブスピーカーにとっては been being の響きが不自然で硬く感じられます。会話では能動態にして They have been fixing the bridge. と言うか、完了受動態にして The bridge has been repaired. のように表現するのが自然です。

2026年9月25日更新・モチタン辞典編集部

モチタン英文法辞典で続けて学ぶ

「時制」の項目(37)

分からない用語は 文法用語のやさしい辞典 へ

📘 モチタン英文法辞典のトップへ(全260項目)