
20代以上の方は、高校生の時に習ったはずの現在完了進行形。

これも最近は中学生で習うことになったんだよね!

そうなんです。
現在完了形の継続用法がマスターできていれば、そんなに難しくありません。
今回は現在完了進行形について、ていねいに解説していきます。


パターンプラクティスができる無料プリント(練習問題)が掲載されています。
ぜひ取り組んでみてくださいね!
現在完了進行形とは?
現在完了進行形は、過去のある地点から継続している動作を説明する時に使います。
「ずっと~し続けている」ということを、1文で表すことができます。
現在完了進行形の作り方
基本は、助動詞have + been + 動詞の進行形(-ing)。
haveの後ろにbe動詞の過去分詞形であるbeenを置きます。


be動詞+動詞の進行形(-ing)って、現在進行形や過去進行形のルールと一緒だね!
現在完了形(継続用法)との違い
現在完了形は、過去から現在までの状態や動作を説明する時に使います。
その中でも、継続用法では、過去から現在までずっと続いていること(継続していること)について説明することができます。

詳しくは現在完了形(継続用法)のページを確認してみてください。

あれ、この説明だと現在完了の継続用法と現在完了進行形ってほとんど一緒なんだけど…

では、例文を交えて違いを確認しましょう。
I have lived in Nagano for one year. (私は長野県に1年間住んでいます。)
I have been playing baseball since ten a.m. (ぼくは午前10時から野球をしています。)
この例文の大きな違いは、動詞の種類です。
現在完了形(継続用法)では、基本的に状態動詞と呼ばれる一般動詞を用います。
現在完了進行形では、基本的に動作動詞と呼ばれる一般動詞を用います。
状態動詞とは、同じ状況が続くことを説明する動詞のことです。
基本的に進行形を作ることができません。
love(愛している), like(好き), want(ほしい), know(知っている), have(持っている)
動作動詞とは、例えば日常的にくり返し行う動作を表す時に使う動詞のことです。
play(~する), drink(飲む), walk(歩く), visit(訪ねる), go(行く), eat(食べる)
期間の for と起点の since
継続用法でよく使われる表現が、期間のforと起点のsinceです。
どのくらいの期間続いているのかを表すfor(~の間)や、いつから今まで続いているのかを表すsince(~から)といった前置詞を、文末に加えることがよくあります。


現在完了進行形の肯定文
肯定文とは、いわゆる普通の文のことです。書いてある意味の通りの文のことを指します。
現在完了進行形の肯定文では「ずっと~しています」という意味の文を作ることができます。
基本の語順とルール
基本は、助動詞have + been + 動詞の進行形(-ing)。
haveの後ろにbe動詞の過去分詞形であるbeenを置きます。

それでは、肯定文の例文を見てみましょう。
- I have been jogging around the park for an hour. (私は1時間ずっと公園の周りをジョギングしています。)
- We have been talking in Korean since this morning. (ぼくたちは今朝からずっと韓国語で会話しています。)
- Aiko has been looking forward to seeing my grandparents. (アイコは祖父母に会えるのをずっと楽しみにしていました。)
- It has been snowing since last night. (昨夜からずっと雪が降っています。)

たとえば1. や2. のように、主語が1人称、2人称の場合は、助動詞haveはそのままの形(haveのまま)で使います。

3. や4. のように主語が3人称単数の場合は、助動詞haveの形はhasに変わるんだね。

ただし、後ろの動詞が過去分詞形(been)になるというルールは同じです。
次は否定文について学びましょう。
現在完了進行形の否定文
否定文とは、肯定文とは逆の意味、つまり内容を否定する文のことを指します。
現在完了進行形の否定文では「(~の間)~していません」や「(~から今まで)~していません」という意味の文を作ることができます。
基本の語順とルール
文を否定の意味にするには、notを用いて、have + not + been + 動詞のing形の語順に並べます。

それでは、他の例文も見ていきましょう。
- I have not been using a smart phone for a week. (私はここ1週間、スマホを使っていません。)
- They have not been playing soccer since last month. (彼らは先月からサッカーをしていません。)
- Yuto has not been sleeping since last night. (ユウトは彼は昨夜からずっと寝ていません。)

たとえば1. や2. のように、主語が1人称、2人称の場合は、助動詞haveはそのままの形(haveのまま)で使います。

3. のように主語が3人称単数の場合は、助動詞haveの形はhasに変わるんだね。

ただし、後ろの動詞が過去分詞形(been)になるというルールは同じです。
次は疑問文について学びましょう。
現在完了進行形の疑問文
疑問文とは、相手に尋ねたり依頼したりするときに使う文のことです。
現在完了進行形の疑問文では「ずっと~していますか?」と尋ねる文を作ることができます。
基本の語順とルール
疑問文では、他の助動詞の疑問文と同じく、助動詞haveを主語の前にもってきます。

答える時はYes/Noを使います。
Yesの後ろには主語 + haveが続きます。
それでは例文を見ていきましょう。
- Have you been doing housework for three hours? (あなたは3時間ずっと家事をしているんですか?)
― Yes, I have. (はい、そうです。)
― No, I have not. (いいえ、違います。) - Has it been raining since this morning? (雨は今朝から降り続いているんですか?)
― Yes, it has. (はい、そうです。)
― No, it has not. (いいえ、違います。) - What has he been doing there? (彼はずっとそこで何をしているのですか?)
― He has been shooting a video. (ビデオ撮影をしています。)

3. のように、疑問詞を伴った疑問文を作ることもできます。
「どのくらいの期間~したことがあるか」を尋ねる疑問文
現在完了進行形では、期間のforや起点のsinceを使って「(どのくらいの期間)~したことがあります。」と伝えることができます。
では、相手にどのくらいの期間したことがあるか尋ねたい時は、どのような表現を使えばよいのでしょうか。
- How long have you been waiting for him here? (どのくらいここで彼を待っているのですか?)
― I have been waiting for him for about an hour. (1時間くらいです。) - How long has she been playing a game? (どのくらい彼女はゲームし続けているんですか?)
― Since last night. (昨夜からずっとです。)

このように、疑問文では文頭にHow longを付けることで期間を尋ねる表現にすることができます。
助動詞 have の短縮形
be動詞や一部の他の助動詞と同じように、助動詞haveも短縮して使うことができます。
- I’ve been playing basketball since noon. (私は正午からずっとバスケットボールをしています。)
- Aiko’s been waiting for Yuto here for half a day. (アイコはここでユウトのことを半日待っています。)
- We haven’t been doing our homework for a week. (私たちは1週間ずっと宿題をしていません。)
まとめ

今回の重要ポイントを振り返りましょう。
【練習問題】パターンプラクティスにチャレンジ!
画像をクリックすると拡大表示(PDF表示)されます。