デジタルこどもBASEのロゴ特定非営利活動法人デジタルこどもBASE
中学生の学習ノート教科書をもう一段くわしく

現在完了進行形 ── have been ~ing

「ずっと走り続けている」「ずっと勉強している」── 動作が 過去から今までずっと続いていることを強調するのが、現在完了進行形。形は have/has been ~ing。中3後半〜高校で本格的に学ぶ表現です。

形と意味

公式
現在完了進行形
主語 + have/has + been + ~ing
「(過去から今まで)ずっと〜している」(動作の継続を強調)
「現在完了 + 進行形」のハイブリッド。

形の作り方

3つの要素

have/has(現在完了の助動詞)

 + been(be の過去分詞)

 + ~ing(動詞の進行形)

例:I have been studying.

例:She has been running.

例:They have been waiting.

例文

基本例文

I have been studying English for two hours.

 (2時間ずっと英語を勉強している)

She has been waiting for an hour.

 (1時間ずっと待っている)

It has been raining since this morning.

 (朝からずっと雨が降っている)

My brother has been playing video games for three hours.

She has been working in this company since 2020.

They have been talking on the phone for an hour.

現在完了進行形 ── 動作が今も続いている I have been studying English for two hours. 2時間前に開始 今 ずっと studying(動作が継続中) これからも続く 過去 for two hours(2時間ずっと勉強) 動作動詞だから have been ~ing know / like など状態動詞は have known …(have + 過去分詞)
図:現在完了進行形は、動作が過去(2時間前)から今までずっと続き、今も進行中であることを強調します。点線の矢印は「これからも続きそう」なニュアンス。状態動詞は普通の現在完了(have + 過去分詞)を使います。

現在完了との違い(最重要)

現在完了(継続)現在完了進行形
形have + 過去分詞have been + ~ing
意味状態の継続動作の継続
例I have known him for 5 years.I have been studying for 2 hours.
動詞状態動詞(know, live, like)動作動詞(study, run, work)
強調点結果の継続動作の継続

状態動詞 vs 動作動詞

使い分け

状態動詞(普通は進行形にしない):

 know, like, love, want, have(所有), be, belong to

→ 現在完了(have + 過去分詞)で継続を表す

動作動詞(進行形になる):

 study, run, work, play, read, write, watch, wait

→ 現在完了進行形(have been + ~ing)で動作の継続

使うときのキーワード

  • for + 期間:for 2 hours, for a long time
  • since + 起点:since this morning, since 2010
  • How long:どれくらいの間
  • all day / all morning:一日中/朝中ずっと

例文をたっぷり

いろいろなパターン

I have been reading this book since last week.

She has been practicing the piano for 3 hours.

They have been playing soccer all afternoon.

My father has been working since 8 in the morning.

It has been snowing for three days.

We have been talking for hours!

疑問文と否定文

疑問文

How long have you been waiting?(どれくらいの間待っているの?)

— I have been waiting for 30 minutes.

Have you been studying all day?(一日中勉強してたの?)

— Yes, I have. / No, I haven't.

What have you been doing?(何をしてたの?)

否定文

have/has + not been + ~ing

例:I haven't been sleeping well.(よく寝ていない)

例:She hasn't been studying.

現在完了進行形の典型的な状況

使う場面

① 過去から今までずっと続いている動作

 例:I've been waiting since 3pm.

② 最近ずっと繰り返している行動

 例:I've been going to the gym every day.

③ 動作の結果が今に影響

 例:It's been raining (so the ground is wet).

つまずきポイント①:状態動詞と動作動詞
  • know, like, love, want, have(持つ)は 状態動詞。普通は進行形にしない
  • 状態の継続は 現在完了(have + 過去分詞)を使う
  • 動作の継続は 現在完了進行形(have been + ~ing)を使う
  • × I have been knowing him for 5 years.
  • ○ I have known him for 5 years.
つまずきポイント②:been を忘れない
  • 形は have been + ~ing、been が必要
  • × I have studying for 2 hours.
  • ○ I have been studying for 2 hours.
  • 「現在完了 + 進行形」を合体させたもの
つまずきポイント③:have/has の使い分け
  • 主語が3単現(he, she, it)→ has been ~ing
  • それ以外 → have been ~ing
  • 例:She has been studying.
  • 例:They have been studying.

同じ単元で出る表現:help + A + 動詞の原形

重要表現
help + A + 動詞の原形
help + 人 + 動詞の原形
「人が〜するのを手伝う」
to + 動詞の原形を使って help + 人 + to + 動詞の原形 と言うこともある。
例文

My friends helped me carry my drum set.

 (友達が私がドラムセットを運ぶのを手伝ってくれた)

Miki helped me to cook lunch.

 (ミキは私が昼食を作るのを手伝ってくれた)

Can you help me clean the classroom?

 (教室を掃除するのを手伝ってくれる?)

つまずきポイント:make / let ではなく help の形
  • help me carry の carry は原形。三単現の s や過去形にしない。
  • × helped me carried my bag
  • ○ helped me carry my bag
  • to を入れる形もあるが、まずは help + 人 + 原形で覚える。

英語で使えるようにする練習

この単元は、説明を読んで終わりにすると定着しません。次の型を、主語・時・目的語を入れ替えながら声に出してください。

型
現在完了進行形の基本パターン
have/has been + 動詞ing
音読して覚える例文

I have been studying for two hours.

It has been raining since morning.

What have you been doing?

よくあるミス
  • 動作が現在まで続いていることを表す。
  • for/since と相性がよい。
  • 状態動詞では現在完了を使うことが多い。

この章でつまずきやすいところ

現在完了進行形は「ずっと〜している」を表しますが、本文や英作文を作っている途中で、形のどこを変えるか・どの動詞に使えるかで手が止まりがちです。読み進める途中で生まれる迷いを、見分け方の順序で整理します。

know や like も have been ~ing にしてしまう

  • つまずく場面:本文の I have known him for 5 years. を見ているとき、「ずっと知っている」だから現在完了進行形に直すべきでは、と途中で迷ってしまう。動作の継続と状態の継続の区別がぼやけ、knowing と書きたくなってしまう場面。
  • 克服のコツ:見分け方は動詞の種類を先に判定すること。know / like / love / want / have(所有) は状態動詞で、普通は ~ing にしない。状態の継続は have + 過去分詞、動作の継続は have been + ~ing と、動詞のタイプ→形の順で決める。
  • ミニ例:○ I have known him for 5 years.(状態の継続)/○ I have been studying for 2 hours.(動作の継続)。同じ「ずっと」でも動詞で形が変わる。

been を書き忘れて have + ~ing にしてしまう

  • つまずく場面:英作文で「2時間ずっと勉強している」を書いている途中、I have studying for two hours. と書いて手が止まる。have の後ろは ~ing でつなげばよい、と日本語のリズムで進めてしまい、been が抜けていることに気づきにくい場面。
  • 克服のコツ:位置関係で覚える。形は必ず have/has → been → ~ing の3つがこの順に並ぶ。「現在完了(have + 過去分詞)」と「進行形(be + ~ing)」を合体させた形なので、be の過去分詞 been が真ん中に必ず入ると確認する。
  • ミニ例:× I have studying for two hours./○ I have been studying for two hours.(have と studying の間に been が必要)

主語が3単現でも have been のままにしてしまう

  • つまずく場面:She や It を主語にして英作文を進めているとき、現在完了進行形の形を覚えたばかりで She have been waiting ... と書いてしまう。動詞 wait の方ばかり気にして、助動詞 have の人称が後回しになっている場面。
  • 克服のコツ:見分け方は主語を先にチェックする順序。主語が he / she / it など3単現なら has been ~ing、それ以外(I / you / we / they・複数)なら have been ~ing。動詞 ing よりも先に、主語→ have / has を確定させる。
  • ミニ例:○ She has been waiting for an hour./○ They have been talking for an hour.(主語で have / has を切り替える)

help me の後の動詞を過去形や ~ing にしてしまう

  • つまずく場面:同じ単元の help + 人 + 動詞の原形 のところで、My friends helped me carry my drum set. を読んでいる途中、「helped が過去形だから carry も過去形では?」と迷い、carried や carrying と書き換えたくなる場面。
  • 克服のコツ:位置関係で押さえる。help + 人 + 動詞の原形 が基本の枠で、help が過去形 helped になっても、後ろの動詞は 原形のまま。三単現の s も過去形も付けない。to を入れる形(help + 人 + to + 原形)もあるが、まずは原形で覚える。
  • ミニ例:× helped me carried my bag/○ helped me carry my bag(helped が時制を担当し、carry は原形で役割を分担する)

練習問題

問題1(適切な形)
  1. I (have known / have been knowing) him for 5 years.
  2. She (has studied / has been studying) since 9 o'clock.
  3. How long have you (lived / been living) here?
  4. It (has rained / has been raining) all day.
答えを見る

(1) have known(状態動詞)

(2) has been studying(動作)

(3) どちらも可(lived は状態、been living は動作の継続)

(4) has been raining(動作の継続)

問題2(英訳)
  1. 私は2時間ずっとテレビを見ている。
  2. 彼女は朝からずっと走っている。
  3. 私たちは1時間ずっと話している。
  4. 彼は5時間ずっとゲームをしている。
答えを見る

(1) I have been watching TV for two hours.

(2) She has been running since this morning.

(3) We have been talking for an hour.

(4) He has been playing video games for five hours.

問題3(疑問文)

「どれくらいの間英語を勉強していますか?」を英訳せよ。

答えを見る

How long have you been studying English?

問題4(help の形)

日本語に合うように、正しい形を選べ。

  1. My sister helped me (carry / carried / carrying) the boxes.(箱を運ぶのを手伝った)
  2. Can you help me (make / made / making) a playlist?(プレイリストを作るのを手伝って)
答えを見る

(1) carry (2) make

NEW CROWN 3 では、help の後は 人 + 動詞の原形 と整理する。

追加問題(瞬間英作文)
次の日本語を、このページの型を使って英語にしなさい。
  1. 私は2時間勉強し続けています。
  2. 朝から雨が降り続いています。
  3. あなたは何をしていたのですか。
答えを見る

(1) I have been studying for two hours.

(2) It has been raining since morning.

(3) What have you been doing?

まとめ

  • 現在完了進行形:have/has + been + ~ing
  • 動作の継続を強調:「ずっと〜している」
  • 状態動詞は普通の現在完了(have + 過去分詞)
  • 動作動詞は現在完了進行形
  • キーワード:for / since / How long
  • been を忘れない
  • 同じ単元の重要表現:help + 人 + 動詞の原形

もっと知る ── 発展・実生活(出典つき)

※ 教科書の内容に、信頼できる出典をもとにした発展・実生活・時事の話題を補足しています(教科書そのものではありません)。

現在完了進行形は2021年に中学校へおりてきた文法発展

現在完了進行形は、もともと高校で学んでいた内容でした。2021年度から実施された中学校の新しい学習指導要領で、感嘆文や仮定法などとともに中学3年生の学習内容に加わりました。中学校で扱う英単語の数も、それまでの1,200語程度から大きく増えています。

出典:文部科学省 中学校学習指導要領(外国語)

「結果」より「動作そのもの」に注目する形発展

イギリスの公的機関ブリティッシュ・カウンシルは、現在完了(have+過去分詞)が活動の「結果」に注目するのに対し、現在完了進行形は活動「そのもの」に注目する、と説明しています。だから「ずっと走っている(動作が続いている)」という場面で使われ、for・since・how long と一緒に使うことが多いのです。

出典:British Council LearnEnglish: Present perfect simple and continuous

なぜ know や love は ~ing にしないのか発展

ブリティッシュ・カウンシルは、状態を表す動詞(状態動詞)はふつう進行形にしない、と説明しています。考えや感情・所有を表す know, like, love, want, have などがその仲間です。だから「彼を5年知っている」は I have been knowing ではなく I have known が正しく、動作動詞の study や run だけが現在完了進行形になります。

出典:British Council LearnEnglish: Stative verbs

for は「期間」、since は「いつから」を表す実生活

オックスフォード・ラーナーズ辞書の文法ガイドは、for は現在までの期間の長さ(for four years など)に、since は活動が始まった時点(since 1903, since yesterday, since my birthday など)に使うと説明しています。「2時間ずっと」なら for two hours、「朝からずっと」なら since this morning と、伝えたいのが長さか起点かで使い分けます。

出典:Oxford Learner's Dictionaries: Present perfect simple with for and since

How long have you been ~? は会話でよく使う質問実生活

現在完了進行形は教科書だけの形ではなく、実際の英会話でよく使われます。How long have you been studying English?(どれくらい英語を勉強しているの?)のように、相手が今も続けていることを「いつから・どれくらい」とたずねるときに自然に登場します。答えるときは for や since を使って I have been studying for two years. のように返します。

出典:British Council LearnEnglish: Present perfect simple and continuous