中3 ・ 単元 2 ・ ベーシック(CEFR A1〜A2)

現在完了進行形 ★

have / has been + 動詞の ing 形 =「(今まで)ずっと〜し続けている」

1形と意味

〈have / has been + 動詞の ing 形〉を現在完了進行形といい、過去に始まった動作が今まで続いていることを表します。「(今まで)ずっと〜し続けている」という意味です。主語が3人称単数なら has been を使います。

現在完了進行形の図解。時間の線の上で、今朝の点から始まった波の帯が今の線まで続いている。過去に始まった動作が今までずっと続いていることを表す
図1 前に始まった動作が今までずっと続いている
主語形短縮形
I, you, we, they(3人称単数以外)have been + ing 形I've been, we've been など
he, she, it(3人称単数)has been + ing 形he's been, it's been など

It has been raining since this morning.

今朝からずっと雨が降り続いています。

I have been studying for two hours.

私は2時間ずっと勉強しています。

They have been playing soccer since noon.

彼らは正午からずっとサッカーをしています。

2for と since

どのくらい続いているかを言うときは、現在完了(継続)と同じように for と since を使います。for のあとには期間、since のあとには始まった時を置きます。

語あとに続くもの例
for期間(どのくらいの間)for thirty minutes, for three days, for a long time
since始まった時(いつから)since this morning, since 2020, since she was five
for と since の図解。時間の線の上で、雨が今朝の点から今まで降り続いている。since は始まった時(点)を指し、for はその長さ(期間)をかっこでくくる
図2 since は始まった時、for は続いている期間

We have been waiting for thirty minutes.

私たちは30分ずっと待っています。

She has been practicing the piano since she was five.

彼女は5歳のときからずっとピアノを練習しています。

3疑問文と答え方

疑問文は Have / Has を主語の前に出し、答えるときも have / has を使います。どのくらいの間続いているかをたずねるときは、How long を文の最初に置きます。

Has it been snowing since last night?

昨夜からずっと雪が降っているのですか。

Yes, it has.

はい、降っています。

No, it hasn't.

いいえ、降っていません。

How long have you been waiting?

どのくらい待っているのですか。

I've been waiting for about twenty minutes.

20分くらい待っています。

How long の疑問文の図解。右でバス停の前に人が立って待ち、上の時計の下で、待ち始めの点から今までの長さが ? になっている。How long have you been waiting? でその長さをたずね、for about twenty minutes と答える
図3 How long で続いている長さをたずねる

「ずっと〜していない」と言うときは、ふつう現在完了進行形ではなく、現在完了の否定文を使います。

I haven't seen him for a long time.

長い間、彼に会っていません。

4現在完了(継続)とのちがい

know(知っている)や like(好きだ)のような状態を表す動詞は進行形にしないので、「ずっと〜している」は現在完了(have known)で表します。study や play のような動作を表す動詞は、現在完了進行形で表すのがふつうです。

状態:現在完了

I have known him for five years.

彼とは5年前から知り合いです。

動作:現在完了進行形

He has been playing the game for an hour.

彼は1時間ずっとゲームをしています。

状態の動詞と動作の動詞の図解。上の know(状態)は変化のない帯が今まで続き have known が ○、have been knowing は ×。下の play(動作)はくり返す波が今まで続き have been playing で表す
図4 状態の動詞は現在完了、動作の動詞は現在完了進行形
動詞の種類例「ずっと〜している」の形
状態を表す動詞know, like, want, have(持っている), be現在完了(have known など)
動作を表す動詞study, play, run, read, wait, rain現在完了進行形(have been studying など)
どちらも使える動詞live, work, teach などI have lived / have been living here for ten years.

5現在進行形とのちがい

現在進行形は「今〜しているところだ」と、今の様子だけを表します。現在完了進行形は「前から今までずっと〜している」と、続いている時間まで表します。for や since がつくときは、現在完了進行形を使います。

現在進行形:今の様子

I am reading a book now.

私は今、本を読んでいます。

現在完了進行形:前から今まで

I have been reading this book for an hour.

私は1時間ずっとこの本を読んでいます。

現在進行形と現在完了進行形のくらべの図解。上の現在進行形は今のところにだけ短い帯がある。下の現在完了進行形は、前から今まで長い帯が続き、for an hour でその長さを表す
図5 現在進行形は今だけ、現在完了進行形は前から今まで

6天気・ニュースの英文で

天気やニュースでは、雨や捜索、値上がりなどがしばらく前から今も続いていることを伝えるときに、現在完了進行形がよく使われます。

It has been raining heavily in western Japan since Friday.

西日本では金曜日から強い雨が降り続いています。

Rescue workers have been searching for the missing climbers since Sunday.

救助隊は日曜日から行方不明の登山者をさがし続けています。

Food prices have been rising for months.

食品の値段が何か月も上がり続けています。

The city has been preparing for the event for two years.

市は2年間、そのイベントの準備を続けてきました。

7よくある間違い

×○ポイント
I have been knowing him for years.I have known him for years.know は状態の動詞なので現在完了
I am studying English for three years.I have been studying English for three years.for や since があるときは現在完了進行形
She have been running.She has been running.3人称単数は has
I have been study for an hour.I have been studying for an hour.been のあとは ing 形
I have being waiting.I have been waiting.have のあとは been
It has been raining since two hours.It has been raining for two hours.期間は for

8確認問題

  1. 「私は1時間ずっとテレビを見ています。」I have ( )( ) TV for an hour.

    答えを見る

    been watching

  2. 「今朝からずっと雪が降っています。」It has been snowing ( ) this morning.

    答えを見る

    since

    始まった時を言うときは since です。

  3. 並べかえなさい。( long / you / how / been / have / waiting )?

    答えを見る

    How long have you been waiting?

  4. 誤りを直しなさい。I have been knowing her for ten years.

    答えを見る

    I have known her for ten years.

    know は進行形にしない動詞です。

  5. 英語にしなさい。「彼は3時間ずっとサッカーをしています。」

    答えを見る

    He has been playing soccer for three hours.

9ニュースで出てきた現在完了進行形 ★

この単元に関係する英文がニュースに出てきたら、ここに自動で追加されます。