モチタン辞典 › 読みもの › 英文法 › 中学英語の現在完了進行形解説

現在完了進行形の中学英語完全ガイド
現在完了進行形の基本公式はhave / has been + 動詞の-ing形で、意味は「過去から今までずっと〜し続けている」です。過去のある時点から現在に至るまで動作が途切れることなく続いている状況を表します。
主語が三人称単数のときはhas been ~ingを用い、否定文はhave / has not been ~ing、疑問文はHave / Has + 主語 + been ~ing?で作ります。
現在完了進行形の基本公式と日本語訳
現在完了進行形は、過去のある時点から始まって今この瞬間も休みなく動作が続いていることを強調する文法です。日本語では「ずっと〜し続けている」や「〜時間ずっと〜している」と訳します。まずは組み立ての基本公式を押さえましょう。
基本の組み立て公式
現在完了進行形は、現在完了形の目印であるhave / hasに、be動詞の過去分詞であるbeen、そして現在分詞である動詞の-ing形を組み合わせた3語構成で作ります。
- 主語が I, you, we, they、または複数形の名詞のとき:have been + 動詞の-ing形
- 主語が he, she, it、または三人称単数の名詞のとき:has been + 動詞の-ing形
肯定文の代表的な例文を確認してみましょう。
- I have been waiting for you for an hour.
(私はあなたを1時間ずっと待ち続けています。) - She has been playing tennis since this morning.
(彼女は今朝からずっとテニスをし続けています。) - It has been raining since yesterday.
(昨日からずっと雨が降り続いています。)
短縮形のルール
日常会話やテストの長文問題では、主語とhaveまたはhasを合体させた短縮形が頻出します。リスニング問題でも音が短くなるため、正確に聞き取れるように書き方と発音をセットで覚えておく必要があります。
| 通常の形 | 短縮形 | 例文 |
|---|---|---|
| I have been | I've been | I've been reading this book.(私はこの本をずっと読んでいる。) |
| You have been | You've been | You've been studying hard.(君はずっと一生懸命勉強しているね。) |
| He has been | He's been | He's been running for 30 minutes.(彼は30分間ずっと走っている。) |
| She has been | She's been | She's been sleeping since noon.(彼女は正午からずっと眠り続けている。) |
| They have been | They've been | They've been talking for hours.(彼らは何時間もずっと話し続けている。) |
He's や She's は He is や She is の短縮形と同じ表記になります。後ろに been + -ing が続いているのを見たら、is ではなく has の短縮形であると即座に判断できるようにしてください。
She has been playing tennis since this morning.彼女は今朝からずっとテニスをし続けています。
have/has に been と動詞の-ing形を組み合わせた3語で組み立てます。
次の疑問「今している」を表す文とどう違うのか迷ったら、現在進行形と現在完了進行形の違いを確認すると時間の感覚が掴めます。
否定文・疑問文・How longの作り方
現在完了進行形の否定文や疑問文は、現在完了形のルールとまったく同じ手順で作ることができます。助動詞の働きをするhaveやhasを操作し、後ろのbeen + -ingは一切変化させずにそのまま残すのがポイントです。
否定文の作り方:have / has の直後に not を置く
否定文は「ずっと〜し続けているわけではない」という意味になります。語順は主語 + have / has not been + 動詞の-ing形です。短縮形であるhaven'tやhasn'tもよく使われます。
- I have not been watching TV all day.(I haven't been watching TV all day.)
(私は一日中ずっとテレビを見続けているわけではありません。) - Ken has not been practicing soccer today.(Ken hasn't been practicing soccer today.)
(ケンは今日ずっとサッカーの練習をし続けているわけではありません。)
疑問文の作り方と答え方
疑問文は「ずっと〜し続けていますか」と尋ねる文です。文頭にHaveまたはHasを出し、文末にクエスチョンマークを付けます。語順はHave / Has + 主語 + been + 動詞の-ing形?です。
- Have you been studying English for two hours?
(あなたは2時間ずっと英語を勉強し続けているのですか。) - Has she been cooking dinner since five o'clock?
(彼女は5時からずっと夕食を作り続けているのですか。)
答え方は、通常の現在完了形の疑問文と完全に共通です。Yes, 主語 + have / has. または No, 主語 + haven't / hasn't. で答えます。返答に been や -ing を含めないよう注意してください。
- Have you been using this computer?
— Yes, I have.(はい、使っています。) / No, I haven't.(いいえ、使っていません。) - Has Tom been sleeping in his room?
— Yes, he has.(はい、眠っています。) / No, he hasn't.(いいえ、眠っていません。)
期間を尋ねる How long を使った疑問文
定期テストや高校入試で最も出題されるのが、「どのくらいの間ずっと〜し続けていますか」と期間を尋ねるHow longを用いた疑問文です。疑問詞How longを文頭に置き、その後に通常の疑問文の語順を続けます。
- How long have you been waiting here?
(あなたはどのくらいの間ここで待ち続けているのですか。) - How long has your brother been playing video games?
(あなたの兄[弟]はどのくらいの間ずっとテレビゲームをし続けているのですか。)
この質問に対して答えるときは、後述するforやsinceを使って期間や開始時点を答えます。
- I have been waiting here for thirty minutes.(ここで30分間ずっと待っています。)
- He has been playing them since this morning.(彼は今朝からずっとゲームをしています。)
主語に合わせて have か has を確認する
have / has の直後に not を置き短縮形も可
Have / Has を文頭に出し主語を続ける
後ろの been + -ing は形を変えずそのまま残す
haveやhasを操作し、後ろの been + -ing はそのまま残すのが鉄則です。
現在完了形との違いと状態動詞一覧表
中学3年生がつまずきやすい最大のポイントが、現在完了形の「継続用法(〜ずっと…している)」と「現在完了進行形(ずっと…し続けている)」の使い分けです。どちらも日本語では似た訳になりますが、使われている動詞の性質によってどちらを使うかが明確に決まります。
違いを決める基本原則:動作動詞か状態動詞か
英語の動詞は、自分の意思ですぐに始めたりやめたりできる「動作動詞」と、簡単にはやめられない状況や心理を表す「状態動詞」の2つに大別されます。
- 動作動詞:途中でやめたり再開したりできる具体的なアクション(play, study, run, wait, watch など)。継続を表すときは、原則として現在完了進行形(have been ~ing)を使います。
- 状態動詞:今すぐパッとやめることができない状態や気持ち(know, like, have [所有], belong, live など)。そもそも進行形(-ing)にできない動詞であるため、継続を表すときは現在完了形(have + 過去分詞)を使います。
「動作動詞の継続は現在完了進行形」「状態動詞の継続は現在完了形」という原則を徹底して頭に入れましょう。
状態動詞と動作動詞の分類表
中学英語のテストで頻出する動詞を分類しました。以下の表にある状態動詞は、継続の文であっても絶対に have been ~ing にしてはいけません。
表は横にスクロールできます →
| 動詞の種類 | 代表的な動詞 | 継続を表すときの形 | 例文 |
|---|---|---|---|
| 状態動詞(心理・感情) | like, love, want | 現在完了形(have + 過去分詞) | I have liked soccer since I was a child.(子どもの頃からずっとサッカーが好きだ。) |
| 状態動詞(知覚・認識) | know, understand, remember | 現在完了形(have + 過去分詞) | We have known each other for five years.(私たちは5年前から知り合いだ。) |
| 状態動詞(所有・所属) | have(持っている), belong | 現在完了形(have + 過去分詞) | She has had this watch for ten years.(彼女はこの時計を10年間持っている。) |
| 動作動詞(身体の動き) | run, swim, walk, dance | 現在完了進行形(have been ~ing) | They have been running for an hour.(彼らは1時間ずっと走り続けている。) |
| 動作動詞(行為・作業) | study, read, write, cook | 現在完了進行形(have been ~ing) | He has been cooking dinner since five.(彼は5時からずっと夕食を作り続けている。) |
| 動作動詞(待機・観察) | wait, watch, listen | 現在完了進行形(have been ~ing) | I have been waiting for the bus.(私はバスをずっと待ち続けている。) |
たとえば「私はケンを3年間知っています」を英語にする際、知っている(know)は状態動詞なので、I have known Ken for three years. が正解です。I have been knowing Ken... と書いてしまうと誤りになります。
動作動詞(play, studyなど)
- 自分の意思ですぐ開始・中断できる行動
- 継続を表すときは現在完了進行形を使う
- have been + -ing の形で表現する
状態動詞(know, likeなど)
- 今すぐパッとやめられない状況や心理
- 進行形(-ing)にできない動詞
- 継続を表すときは現在完了形(have+過去分詞)を使う
動詞の性質により、継続を表す形が現在完了進行形か現在完了形かに分かれます。
forとsinceの明確な使い分けルール
現在完了進行形でも現在完了形でも、文末によく置かれるのが「〜の間」を表すforと、「〜以来 / 〜から」を表すsinceです。この2つの使い分けは、入試の選択問題や適語補充で確実に狙われます。
for は「時間の長さ(期間)」を表す
for の後ろには、「2時間」「3日間」「10年」といった数値で測れる時間の幅(期間)が続きます。「どのくらいの時間その動作を続けているのか」を言うときは必ず for を選びます。
例文:My father has been washing the car for an hour.
(父は1時間ずっと車を洗い続けています。)
since は「動作が始まった時点(起点)」を表す
since の後ろには、「昨日」「先週」「今朝」「2020年」「3時」といったカレンダーや時計で指し示せる特定の過去の時点が続きます。また、since + 主語 + 動詞の過去形 という節の形をとることも多いです。
- since yesterday(昨日からずっと)
- since this morning(今朝からずっと)
- since last Sunday(先週の日曜日からずっと)
- since 2021(2021年からずっと)
- since I was young(私が若かった頃からずっと)
例文:It has been snowing since last night.
(昨夜からずっと雪が降り続いています。)
for と since の見分け方比較表
表は横にスクロールできます →
| 前置詞・接続詞 | 後ろに来る言葉の性質 | よくある語句の組み合わせ | 正誤判定のポイント |
|---|---|---|---|
| for | 数字や期間(時間の長さ) | for ten minutes, for a week, for two years | 「〜年間」「〜日間」と数字+単位があれば for |
| since | 起点(過去のある特定の日・時) | since 9:00, since yesterday, since he came | カレンダーや時計の1点を指していれば since |
迷ったときは、「数字+時間の単位(分・時間・日・年)」が直後にあれば for、「曜日・月・昨日・〜時・文」が直後にあれば since と見分けるのが実戦的なコツです。

受動態との混同防止と3大凡ミス対策
中学3年生がテストで最もミスを多発するのが、形がそっくりな「現在完了進行形」と「受動態(現在完了受動態)」の混同です。さらに、スペルミスや語の脱落などの典型的なミスも決まっています。
現在完了進行形と受動態の決定的な見分け方
両者とも have been までは全く同じ形をしています。決定的な違いは、その直後に来る動詞の形です。
- have been + 動詞の-ing形 = 現在完了進行形(ずっと〜し続けている【能動・自分でする】)
- have been + 過去分詞 = 現在完了受動態(ずっと〜されている【受動・される】)
主語がその動作を「している」のか「されている」のかに注目して見分けます。
表は横にスクロールできます →
| 文法項目 | 動詞の形 | 主語と動作の関係 | 例文と日本語訳 |
|---|---|---|---|
| 現在完了進行形 | have been + -ing | 主語が自分で動作を続けている | He has been cleaning the room.(彼は部屋をずっと掃除し続けている。) |
| 現在完了受動態 | have been + 過去分詞 | 主語が誰かに動作をされている | The room has been cleaned by Ken.(その部屋はケンによって掃除されている。) |
テストで穴埋めが出たときは、主語が人か物か、そして「している側」か「されている側」かを確認すれば一発で判断できます。
テストで絶対に避けたい「3大凡ミス」チェックリスト
実力テストや定期テストで点数を落とす生徒の9割は、文法を理解していないのではなく、細部の書き間違えで失点しています。答案を見直す際は以下の3点を必ず確認してください。
- been の書き忘れ・抜け落ち
進行形という名前に気を取られ、I have playing soccer. のように been を落としてしまうミスです。現在完了進行形は必ず「3語セット(have + been + -ing)」であると指差し確認してください。 - 動詞の-ing形のスペルミス
語尾が e で終わる動詞の e の脱落忘れ(例: making を makeing と書く)、短母音+子音字で終わる動詞の子音字の重ね忘れ(例: running を runing と書く、stopping を stoping と書く)が極めて多いです。 - 三人称単数での have / has の間違い
主語が My father や Tom なのに、つられて have been ~ing と書いてしまうミスです。主語を丸で囲み、三人称単数であれば has になっているか見直しましょう。
liveやstudyの書き分け基準と出題傾向
英語の動詞の中には、状態と動作の両方のニュアンスを併せ持つものがあります。代表的なのが live(住む)や study(勉強する)、teach(教える)、work(働く)です。これらは現在完了形と現在完了進行形のどちらでも使えるため、学校のテストでどのように書くべきか疑問を持つ人が多くいます。
live や study はどちらの形でも文法的に正しい
ネイティブの感覚では、以下のようなわずかなニュアンスの差があります。
- I have lived in Tokyo for ten years.
(現在完了形:10年間東京に住んでいるという長期的な事実・状態を述べる) - I have been living in Tokyo for three months.
(現在完了進行形:3か月間東京に住み続けているという、一時的・生き生きとした動作を強調する)
ただし、どちらを使っても文法的な間違いではありません。日常会話や自由英作文ではどちらを書いても正解になります。
中学校の定期テスト・高校入試での採点基準と方針
学校の定期テストでは、作問した先生が「現在完了進行形の単元のテストだから、その形を使ってほしい」と考えて問題を作っています。失点を防ぐための判断基準は次の2点です。
- 日本文に「し続けている」とある場合:
「勉強している」「住んでいる」ではなく、「〜し続けている」と書かれている場合は、出題者が現在完了進行形を求めている合図です。迷わず have been studying や have been living を選んでください。 - 指定語数や語群に been がある場合:
空欄の数や与えられた単語に been が含まれている場合は、現在完了進行形(have been -ing)で記述します。
2021年度改訂による指導要領上の位置づけ
2021年度の中学校新学習指導要領の全面実施に伴い、それまで高校の英語コミュニケーションや論理・表現で学習していた「現在完了進行形」が、中学3年生の教科書に移行しました。
保護者世代が中学生だった頃には高校文法だったため、「中学で習った記憶がない」と言われることがよくありますが、現在の高校入試では標準レベルとして普通に出題されます。
特に長文読解の会話文中の穴埋めや、条件英作文で指定されるケースが増えているため、中学のうちにマスターしておく必要があります。
問題文に「し続けている」とあれば現在完了進行形を選ぶ合図。
空欄数や指定語句に been が含まれていれば進行形にする。
事実や長期なら完了形、一時的な動作強調なら進行形を選ぶ。
どちらでも文法的に正しい動詞は、問題文の日本語や語群のヒントから判断します。
高校入試に向けた基礎固めには、中学英語のまとめで文法全体を振り返るのがおすすめです。
中学定期テスト直前対策の実践演習問題
理解度を確認するために、定期テストや高校入試でよく出るパターンの練習問題を解いてみましょう。適語補充、並び替え、英作文の3段階で構成しています。
第1問:適語補充問題
次の( )内に、動詞を適切な形に変えて入れなさい。
- Ken ( wait ) for the bus since two o'clock.
- We ( play ) tennis for two hours.
- My sister ( use ) the computer since this morning.
- I ( know ) Emi for five years.
第2問:語順並び替え問題
次の日本文に合うように、( )内の語を正しく並び替えなさい。ただし文頭に来る語も小文字で示しています。
- 彼女はどのくらいの間、本を読み続けているのですか。
( been / reading / has / how / long / she / ? ) - マイクは昨日からずっとテレビゲームをしていません。
( playing / Mike / been / hasn't / games / since / video / yesterday / . ) - あなたは30分間ずっと走り続けているのですか。
( running / you / for / been / have / minutes / thirty / ? )
第3問:和文英訳(英作文)問題
次の日本文を英語に直しなさい。
解答と詳しい解説
第1問の解答・解説- 正解:has been waiting
解説:主語 Ken は三人称単数なので has を使います。wait(待つ)は動作動詞で、since two o'clock(2時から)という起点が示されているため、現在完了進行形の has been waiting にします。 - 正解:have been playing
解説:主語が We なので have を用います。play(遊ぶ・する)は動作動詞なので have been playing とします。 - 正解:has been using
解説:主語 My sister は三人称単数なので has です。use を -ing 形にするときは語尾の e を取って using にするスペルに注意してください。 - 正解:have known
解説:要注意問題です。know(知っている)は状態動詞なので、進行形にできません。現在完了進行形ではなく、通常の現在完了形 have known が正解です。
- 正解:How long has she been reading?
解説:期間を尋ねる疑問詞 How long を文頭に置き、その後に三人称単数の疑問文の語順 has she been reading を続けます。 - 正解:Mike hasn't been playing video games since yesterday.
解説:否定文なので hasn't been ~ing の形を作ります。動作の起点となる「昨日から」は since yesterday です。 - 正解:Have you been running for thirty minutes?
解説:疑問文なので Have を主語の前に出します。「30分間」という期間は for thirty minutes と表現します。running の n の重ね忘れに注意してください。
- 正解:My father has been washing the car since this morning.
解説:主語 My father は三人称単数なので has been washing です。「朝から」は起点なので since this morning を使います。 - 正解:We have been studying English for an hour.(または for one hour)
解説:主語は We なので have been studying です。「1時間」は期間なので for を用います。
次の疑問さらに多くのテスト形式に慣れておきたい方は、現在完了進行形の練習問題で実践力を鍛えてみてください。
続けて読む
理解度チェック
Q1. 現在完了進行形の基本の組み立て公式として正しいものはどれ?
- have / has + 過去分詞
- have / has + been + 動詞の-ing形
- be動詞 + 動詞の-ing形
- have / has + being + 動詞の原形
答えを見る
正解: B. have / has + been + 動詞の-ing形
現在完了進行形は、have / has に been と動詞の-ing形を組み合わせた3語構成で作ります。
Q2. 「私は2時間ずっと待ち続けています」を表す正しい英文は?
- I have waiting for two hours.
- I have been waiting since two hours.
- I have been waiting for two hours.
- I has been waiting for two hours.
答えを見る
正解: C. I have been waiting for two hours.
主語が I なので have been を使い、期間を表す「2時間」の前には since ではなく for を置きます。
Q3. 状態動詞で継続を表すときのルールとして正しいものはどれ?
- 必ず現在完了進行形を使う
- 進行形にできないため現在完了形を使う
- 動詞の原形をそのまま置く
- 過去完了進行形にする
答えを見る
正解: B. 進行形にできないため現在完了形を使う
状態動詞は進行形にできない動詞であるため、継続を表すときは現在完了形(have + 過去分詞)を使います。
英語の文法は、話して身につけよう。会話アプリ「モチスピ」英語を話して練習できる会話アプリ。話すたびに、発音・文法・自然さをその場で直してもらえます。無料で試す
よくある質問
- Q. 現在進行形と現在完了進行形の違いは何ですか?
- 現在進行形(is ~ing)は「今まさにその瞬間に行っている動作」に焦点を当てます。一方、現在完了進行形(has been ~ing)は「過去から始まって今に至るまでどのくらいの時間続いてきたか」という時間的な長さに焦点を当てます。
- Q. 現在完了進行形はなぜ昔の中学で習わなかったのですか?
- 2021年度に中学校の新学習指導要領が全面実施されるまでは高校英語の範囲でした。改訂に伴い、より実践的な発信力を養う目的で高校から中学3年生の学習内容へと移行しました。
- Q. 現在完了進行形の疑問文に対する正しい返答は?
- Have you been ~? に対しては Yes, I have. または No, I haven't. で答えます。返答文の中に been や ~ing を含める必要はありません。通常の現在完了形の返答と同じです。
- Q. 雨が降っている文は現在完了進行形になりますか?
- はい。「雨が降り続いている」は It has been raining since yesterday. のように頻出の表現です。天候を表す主語 It を使い、三人称単数なので has been raining とします。
- Q. テストで been を書き忘れたら減点ですか?
- 減点または不正解(0点)になります。have + -ing という文法規則は英語に存在しないため、文法構造の重大な誤りとみなされます。必ず been を書いたか見直してください。
2026年10月8日更新・モチタン辞典編集部
since
for
how long