英語の現在完了進行形まとめ!現在完了進行形と現在完了形(継続)の違い、意味、文法を解説
最終更新日: 2026年1月8日

英語学習において、時制の使い分けは多くの人が苦手とする分野です。
特に現在完了進行形は、「いつ使うの?」「現在完了形とどう違うの?」という質問をよく耳にします🤔
この記事では、高校英語の文法をちゃんと使える形で理解し直したい人向けに、現在完了進行形の基本から実践的な使い方まで、わかりやすく解説します🚀
まず高校英語の基本文法「現在完了進行形」とは?
現在完了進行形は、過去から今まで続いている動作を表す英語の文法です。
日本語では「ずっと〜している」という意味になります。
中学や高校で習う重要な時制の1つですね。
基本の形
現在完了進行形の形は、以下の通りです。
- have been + 動詞のing形(現在分詞)
主語が3人称単数(he、she、it)の場合は「has been」、それ以外は「have been」を使います 📝
- I have been studying.(私はずっと勉強しています)
- She has been waiting.(彼女はずっと待っています)
- They have been playing.(彼らはずっと遊んでいます)
この形を見ると、「be動詞のbeen」と「動詞のing形」が組み合わさっていることが分かりますね。
現在完了進行形が表す意味
現在完了進行形は、主に次の2つの状況を表す文法です。
状況1: 過去から今まで継続している動作
- I have been living in Tokyo for 3 years.(私は東京に3年間ずっと住んでいます)
この文では、3年前から今まで東京に住み続けている状態を表しています。
状況2: 最近まで続いていた動作の結果が今に影響している状態
- You look tired. Have you been working all night?(疲れて見えますね。一晩中働いていたのですか?)
この文では、今疲れているという状態が、一晩中働いていたという動作の結果であることを示しています。
現在完了形と現在完了進行形の違い
多くの方が混乱するのが、現在完了形と現在完了進行形の違いです。
両者の使い分けをしっかり見ていこう💡
形の違い
まず、それぞれの形の違いを確認しましょう。
- 現在完了形:have + 過去分詞
- 現在完了進行形:have been + 動詞のing形
形だけ見ると、beenとing形が入っているかどうかの違いですね。
この形と現在完了形の形の違いをしっかり押さえることが、使い分けの第1歩です。
イメージの違い
現在完了形の継続用法は、過去から今までの「状態の継続」を表します。
動作のプロセスよりも、その結果や事実に焦点を当てているのが特徴です。
- I have lived in Japan for 5 years.(私は日本に5年間住んでいます)
この文では、5年間住んでいるという「事実」に重点が置かれています。
一方、現在完了進行形は、動作が続いている「プロセス」そのものを表します。
その動作を続けてきたことを強調するニュアンスがあります。
I have been living in Japan for 5 years.(私は日本に5年間ずっと住み続けています)
この文では、住み続けている「動作の継続」に重点が置かれています。
このイメージの違いを理解することで、どちらを使うべきか判断しやすくなります。
動詞による使い分け
動作動詞(勉強する、走る、読む、話すなど)の場合、継続を表すには現在完了進行形がよく使われます。
- She has been reading that book since yesterday.(彼女は昨日からその本をずっと読んでいます)
- They have been playing tennis for 2 hours.(彼らは2時間テニスをし続けています)
- We have been working on this project since last month.(私たちは先月からこのプロジェクトに取り組み続けています)
一方、現在完了形を動作動詞で使うと、完了や経験の意味になることが多いです。
- She has read that book.(彼女はその本を読んだことがある/読み終えた)
この文では、読書という動作の継続ではなく、読み終えたという完了や経験を表しています。
動詞の種類によって、どちらの形を使うかが変わってくるんですね 📚
forとsinceの使い方
現在完了進行形では、期間を表す「for」と起点を表す「since」をよく使います。
この2つの違いをしっかり理解しよう⏰✨
for:期間を表す
forは「〜の間」という意味で、動作が続いている期間を表す時に使います。
- I have been waiting for you for 30 minutes.(30分間あなたを待っています)
- He has been studying for 2 hours.(彼は2時間勉強し続けています)
- They have been working for 3 days.(彼らは3日間働き続けています)
例文を見ると、「for + 期間」という形になっていることが分かりますね。
since:起点を表す
sinceは「〜から」という意味で、動作が始まった時点を表します。
- I have been waiting for you since 3 o'clock.(3時からあなたを待っています)
- He has been studying since this morning.(彼は今朝から勉強し続けています)
- They have been working since Monday.(彼らは月曜日から働き続けています)
forとsinceを使い分けることで、より正確に継続している動作を表現できます。
期間を言いたい時はfor、いつから始まったかを言いたい時はsinceを使うと覚えておきましょう。
状態動詞には要注意!
現在完了進行形を使う際の最大の注意点は、状態動詞には使えないということです。
これは高校英語でも必ず習う重要なポイントです 📚
主な状態動詞の一覧
状態動詞は、動作ではなく状態を表す動詞のことです。
主な状態動詞の一覧を見てみましょう。
動詞 | 意味 | 現在完了進行形で使える? | 補足 |
|---|---|---|---|
know | 知っている | ✕ | 状態を表すため進行形不可 |
like | 好きだ | ✕ | 感情の状態を表す |
love | 愛している | ✕ | 継続的な感情の状態 |
have | 持っている | ✕ | 所有の意味では不可 |
belong | 属している | ✕ | 状態のみを表す動詞 |
be | である | ✕ | 進行形にできない |
want | 欲しい | ✕ | 願望の状態を表す |
believe | 信じている | ✕ | 思考・信念の状態 |
※ 表では所有のhaveを指しています(経験・活動の意味では可)
これらの状態動詞で継続を表したい場合は、現在完了形を使います。
- I have known her for 10 years.(私は彼女を10年間知っています)
上記の文を現在完了進行形にすることはできません。
- I have been knowing her for 10 years.(×誤り)
ただし、状態動詞でも動作の意味で使われる場合は、現在完了進行形が使えることもあります。
- I have been having a great time.(とても楽しい時間を過ごしています)
この場合の「have」は「経験する」という動作の意味で使っているんです💡
💡ポイント 💡
また、「like」や「love」など、会話では例外もあります👀
疑問文の作り方
現在完了進行形の疑問文は、have/hasを文頭に出すだけで作れます。
とてもシンプルですね😊
基本的な疑問文
- Have you been studying English?(あなたは英語を勉強し続けていますか?)
- Has she been waiting for a long time?(彼女は長い間待っていますか?)
- Have they been living here since 2020?(彼らは2020年からここに住み続けていますか?)
「Have you been + 動詞のing形」という形が基本です。
疑問詞を使った疑問文
疑問詞を使った質問でも、同じように「疑問詞 + have/has + 主語 + been + 動詞のing形」の順序になります。
- How long has she been waiting?(彼女はどのくらい待っていますか?)
- What have you been doing?(あなたは何をしていましたか?)
- Where have they been staying?(彼らはどこに滞在し続けていますか?)
疑問文を作る時は、have/hasの位置に気をつけましょう⚠️
主語の前に置くことを忘れないでください👀
現在完了進行形と現在進行形の違い
現在完了進行形について説明する際に、現在進行形との違いについても質問を受けることがあります。
この2つの違いも簡単に見ておきましょう 💡
現在進行形(be + 動詞のing形)は、「今まさに行っている動作」を表します。
- I am studying now.(私は今勉強しています)
一方、現在完了進行形(have been + 動詞のing形)は、「過去から今まで続けている動作」を表します。
- I have been studying for 2 hours.(私は2時間勉強し続けています)
現在進行形は「今」の動作に焦点を当てているのに対し、現在完了進行形は過去から今までの継続に焦点を当てているという違いがあります。
🔗 関連記事 🔗
現在完了進行形を使いこなすための3つのポイントを紹介
現在完了進行形を効果的に使う方法について、3つのポイントを押さえておきましょう。
ポイント1:「今も続いている」がキーワード
現在完了進行形を使う時は、その動作が今もまだ続いているか、最近まで続いていたかを確認しましょう。
- It has been raining since this morning.(今朝からずっと雨が降っています)
この文では、今もまだ雨が降り続けている状態を表しています。
過去に降っていて今は止んでいる場合には使えません。
ポイント2:動作の継続を強調したい時
ある動作を続けてきたことを強調したい場合に効果的です 💪
- I have been trying to call you all day.(一日中あなたに電話しようとし続けています)
- She has been practicing piano for hours.(彼女は何時間もピアノを練習し続けています)
現在完了形でも継続は表せますが、現在完了進行形を使っているほうが、その動作を続けてきたことがより強調されます。
ポイント3:現在の状態の理由を説明する時
現在の状態が、それまで続けていた動作の結果であることを示す時に便利です。
- Your hands are dirty. Have you been working in the garden?(手が汚れていますね。庭仕事をしていたのですか?)
- You look exhausted. Have you been exercising?(疲れ切っていますね。運動していたのですか?)
この使い方は、相手の様子を見て理由を推測する時によく使われます。
よくある間違いと対策
現在完了進行形を使う際、つい間違えてしまいやすいポイントと、その対策を見ていきましょう。
間違い1:完了の意味で使ってしまう
現在完了進行形は、基本的に動作の「継続」を表します。
完了を表したい場合は現在完了形を使いましょう。
- I have been finishing my homework.(×誤り)
- I have finished my homework.(宿題を終わらせた)(○正しい)
finishのような完了を表す動詞は、基本的に現在完了形で使います 📝
間違い2:時制の一貫性がない
文の中で、時制を統一することが大切です。
- I have been studying English for 3 years, and now I study at a language school.(×誤り)
- I have been studying English for 3 years, and now I am studying at a language school.(私は3年間英語を勉強し続けていて、今は語学学校で勉強しています)(○正しい)
「今」を表す部分では、現在形か現在進行形を使うようにしましょう。
間違い3:状態動詞に使ってしまう
先ほども説明しましたが、状態動詞には基本的に現在完了進行形は使えません。
- I have been knowing him since 2015.(×誤り)
- I have known him since 2015.(私は2015年から彼を知っています)(○正しい)
knowは状態動詞なので、現在完了形を使います。
この間違いは本当に多いので、注意が必要です。
練習問題で理解を深めよう
それでは、学習した内容を確認するために、練習問題に挑戦してみましょう 📝
次の日本文を英語にしてみてください。
問題1:
- 彼は1時間ずっとテレビを見ています。
問題2:
- あなたはどのくらいここで待っていますか?
問題3:
- 私たちは2010年からこの会社で働き続けています。
解答
- He has been watching TV for 1 hour.
- How long have you been waiting here?
- We have been working at this company since 2010.
いかがでしたか?
正解できた方は、現在完了進行形の使い方をしっかり理解できています。
間違えてしまった方は、この記事をもう一度読み返して、ポイントを確認してみてください。
実践的な例文で確認しよう
最後に、実際によく使われる例文をいくつか見てみましょう。
これらの例文を参考に、自分でも文を作ってみることをおすすめします 💡
例文1:期間を強調する表現
- I have been learning English for 5 years.(私は5年間英語を学習し続けています)
この文では、5年という長い期間、英語の学習を続けてきたことを強調しています。
例文2:最近の継続を表す表現
- It has been snowing all day.(一日中雪が降り続いています)
この文では、今日1日ずっと雪が降り続いている状態を表しています。
例文3:理由を推測する表現
- Have you been waiting for me?(あなたは私のことを待っていたのですか?)
この「been waiting for」という表現は、相手が待っていたという動作の継続を表しています。
例文に何度も触れて、現在完了進行形を感覚で身につける
英語勉強中の人にとって、現在完了進行形は、ルールを覚えただけでは使いこなせるようになりにくい文法です。
大切なのは、「過去から今まで続いている動作」を表す英語の文を、何度も見て、聞いて、使うことです。
Migaku では、動画や音声などのリアルな英語コンテンツを通して、現在完了進行形が自然に使われている例文に繰り返し触れられます。
学習を続けるうちに、「こういう場面ではこの形を使うんだ」という感覚が少しずつ身についていきます。
覚えた文法や例文は、フラッシュカードを使って間隔反復で復習できるので、「知っている英語」を「使える英語」に変えていくことが可能です。 現在完了進行形のような時制表現も、無理に暗記するのではなく、実際の使われ方を通して理解できるようになります。
文法の理解を深めたい人も、実際に使える英語力を身につけたい人も、まずは英語に触れる時間を増やすことから始めてみましょう。
まとめ:You’ve Been Learning—That’s the Point
現在完了進行形でいちばん大切なのは、「過去から今までずっと続いている」という感覚をつかむことです。 ルールを丸暗記するよりも、例文や文脈の中で何度も見て、「こういう時に使うんだ」と感じられるようになることが近道です。
英語のコンテンツに触れて、なんとなくわかる——を積み重ねる。
その繰り返しこそが、英語力を伸ばす確かな道。
You’ve been learning, and that’s already progress. Good luck! Keep enjoying English and keep going 😊